Android Studio入门

Android Studio创建项目

首先指出Android Studio中的两个概念。Project和Module.
在AS中:
Project相当于Eclipse中的工作空间
Module为一个具体的项目,相当于Eclipse中的Project。

AS创建一个项目(指Module),首先要先创建Project。但是在你创建项目的同时,Project自动创建了。

文件目录结构有Android和Project(和Eclipse相同)两种方式,可以互相切换

如果你已经有一个项目,你想在项目中创建一个Module,你可以选择File-->New Module.
这样,会在当前的目录下创建一个 Module ,而不是在一个新的窗口中,单独创建 ProjectModule

同样的道理,你可以设置项目类型,但是,由于你现在是创建一个 Module ,所以只能选择一种类型。下方的4个选项代表着不同的意义:

Android Library :创建一个 Android LibraryModule
Import Existing Project :导入其他项目为一个 Module ,导入的项目可以是 Eclipse ADT 项目,也可以是 Gradle 项目( Gradle 只是项目构建工具, Eclipse 中也是可以使用的)。
Import .JAR or .AAR Package :导入 JAR 或者 AAR 文件为一个 Module
Java Library :创建一个 JavaModule ,主要用于编写 Java 的工具包。

选择完毕,点击 Next 。其余步骤,和上面几乎一样,就不在赘述了。


每个Module新建时默认的Activity可以同名但是其对应的布局文件名不能同名。


Android Studio入门Hello World

一、新建工程

二、使用android控件
android 模式目录下

打开res目录下的layout文件夹,双击activity_main.xml,将button按钮拖入手机中,改名为change.

点击Text,我们可以看到Button这一个新加入的控件。

<Button                               
android:layout_width="wrap_content"    
android:layout_height="wrap_content"
android:text="change"
android:id="@+id/button"    
android:layout_marginTop="34dp"            
android:layout_below="@+id/textView"    
android:layout_alignParentLeft="true"            
android:layout_alignParentStart="true" />

三、编辑Activity
这个时候打开java目录,找到MainActivity.java,双击打开。我们添加两个控件声明,同时为其赋值。完整代码如下:

package com.sinaapp.gavin.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

private TextView textView;//声明
private Button button;    //声明

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textView = (TextView)findViewById(R.id.textView);    //赋值
    button = (Button)findViewById(R.id.button);          //赋值

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}

接下来,在onCreate方法中为button设置按键监听。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textView = (TextView)findViewById(R.id.textView);
button = (Button)findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        textView.setText("changed");
    }
});
}

四、dubug测试

五、生成apk文件

六、总结


Android Studio自动生成的两个XML

activity_main.xml
content_main.xml

这个是新建工程时候选择了 Blank Activity 这个模板,会生成这两个XML,选择 Empty Activity,只会生成activity_main.xml

activity_main.xml没办法拖动控件,content的可以拖动。activity是显示content_main.xml里面的,类似于including的。你可以将content里面的代码粘到activity.xml里面。

从名字上你就应该可以看出来,activity_main - MainActivity的布局文件,content_main - main的内容,你再进activity_main看一下里面的布局,就会发现,activity_main主要负责的是包含toolbar的整个页面布局,为了不让这个布局文件太臃肿,使用了一个<include/>标签把content_main放进activity_main布局中,

<include layout="@layout/content_main" />

这应该是Google设置这两个布局的意思。所以说你在content_main中写自己页面的布局就好了,涉及到toolbar相关的就在activity_main中改


使用AS开发用户登录界面

  1. 右键点击new-->Module,Module相当于新建了一个项目。如图所示
    2.选择Android Application,点击next
    3.将My Module和app改成自己项目相应的名字,同时选择支持的Android版本

  2. 选择Blank Activity,自己动手编写登录界面,而不依赖系统内置的Login Activity,一直点击next,最后点击finish

  3. 在Project下我们可以看到出现了我们刚才新建的login项目
    6.展开res/layout,点击打开activity_main.xml文件,在这个文件里面我们完成登录界面的编写
    将activity_main.xml的代码替换成如下代码:

     <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:gravity="center_vertical"
     android:stretchColumns="0,3">
     <TableRow>
         <TextView />
     <TextView
         android:text="账   号:"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textSize="24px"
         />
     <EditText
         android:id="@+id/account"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textSize="24px"
         android:minWidth="220px"/>
     <TextView />
     </TableRow>
     <TableRow android:layout_marginTop="20px">
     <TextView />
     <TextView
         android:text="密  码:"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         />
     <EditText
         android:id="@+id/pwd"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:minWidth="220px"
         android:textSize="24px"
         android:inputType="textPassword"/>
     <TextView />
     </TableRow>
     <TableRow android:layout_marginTop="20px">
     <TextView />
     <Button
         android:id="@+id/login"
         android:text="登录"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         />
     <Button
         android:id="@+id/quit"
         android:text="退出"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
     <TextView />
     </TableRow>
     </TableLayout>
    

参考文章:
1.Android Studio入门 Hello World
2.如何使用Android Studio开发用户登录界面
3.Android Studio创建项目
4.使用Android Studio新建Project并建立多个Module

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,401评论 25 707
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,396评论 2 45
  • 顺着《大明王朝1566》,猪妈妈把《北平无战事》重新看了一遍。 这部剧,虽然是定位历史、间谍剧,但是该剧整个故事的...
    猪妈妈爱奋斗阅读 638评论 0 1
  • 无敌超级腿训练营
    上海知青阅读 136评论 0 0
  • 早上起来,大概又想明白了好多事,为什么你在最后那几天,有时好像很冷漠,因为你一次又一次地等我和你要号码,而我一次又...
    易先生小白阅读 125评论 0 0