开始使用AndroidStudio

Android Studio

Android Studio是一个由Google开发的用于Android开发的IDE。

安装

Android Studio官网下载该软件。

下面是该网站的截图,点击大大的绿色按钮下载该软件,下载之后请进行安装。

Android Studio下载

欢迎界面

初次安装后,界面如下:

Android Studio欢迎界面

这个时候就可以点击Start a new Android Studio project按钮开始一个新项目。

SDK

如果要在某个版本的Android平台上编译运行该软件,需要安装其SDK。

点击欢迎界面的右下角的第一个按钮Configure,选择SDK Manager,即可打开SDK管理工具,如下图:

Android Studio SDK Manager

在SDK列表中选择相应的版本,点击右下角OK按钮,就会开始下载该SDK。

上图中已经有Android 7.0和Android 8.1存在。

新建一个Android项目

在欢迎界面上点击Start a new Android Studio project按钮,出现下面的界面:

Android Studio新建一个界面

Application name的输入框中输入项目的名字,这里是HelloWorld;在Company domain中输入公司域名,这里是mwangblog.comProject location制定项目文件存储位置。

之后来到了选择最低API(SDK)的界面:

Android Studio选择最低API

这里选择Phone and Tablet,并选择相应的最低API。

图中选择的是API 24,仅能覆盖8.1%的设备。

点击Next,选择Empty Activity

Android Studio选择活动

输入Activity的名字,Layout的名字自动生成,一般不做修改:

Android Studio新建一个Activity

点击Finish即可创建新项目。

经历短暂的构建后,Android Studio进入了项目界面:

Android Studio项目界面

界面中大部分空间是代码编辑器,靠左侧的是一个名叫Project的视图,它可以帮助我们管理项目文件和资源。

运行程序

上面我们创建了一个项目,怎么运行这个程序呢?我们可以使用模拟器或者实体设备来运行该程序。

模拟器上运行程序

在菜单栏上点击Tools,之后点击AVD Manager,即可进入虚拟设备管理器,如下图:

Android Studio AVD Manager

图中已经有了一个虚拟设备,是Nexus 5X,它的API等级是24.

如果还没有虚拟设备,可以新建一个,新建时在类别中选择Phone,然后选择一个设备。

Android Studio新建虚拟设备

可以在界面右侧看到此设备的信息,点击Next进行下一步,进入选择系统镜像的界面:

Android Studio中选择系统镜像

在下一步之前需要先下载相关的系统镜像(点击镜像右侧的Download)。

选择一个镜像,点击Next,进行最后的配置,比如设备名字和方向,点击Finish即可完成。

Android Studio添加新虚拟设备完成

最后,在虚拟设备上运行此程序。

点击Run 'app'按钮,如下图:

运行一个程序

在新出现的目标设备选择界面上,选择刚刚添加的虚拟设备,点击OK,就可以启动虚拟设备,并在虚拟设备上运行此程序。

虚拟设备运行结果如下:

在虚拟设备上运行程序

在物理设备上运行程序

首先,需要一台运行Android系统的手机或者平板设备。

打开这台设备的开发者选项,并在其中打开USB调试,通过USB线连接到电脑即可用于运行和调试程序。

注意,这会使设备暴露在一定的风险之中,谨慎使用。

点击Run 'app'按钮,在目标设备选择界面上,选择该设备,点击OK,就可以在设备上运行此程序。

新建用户界面

添加字符串资源

Project工具中使用Android视图查看文件,选择app > res > values > strings.xml,双击打开该文件,添加两个字符串,文件内容如下:

<resources>
    <string name="app_name">HelloWorld</string>
    <string name="name_text">Zhang San</string>
    <string name="send_button">Say Hi</string>
</resources>

修改视图资源

现在,在Project工具中使用Android视图查看文件,选择app > res > layout > activity_hello_world.xml文件,双击打开该文件。

请确保选择的是该文件下方的Design标签。

在试图中单击选择Hello World!文本框,按Delete键删除。

操作中的要点已经在下图中用红色箭头标出:

Android Studio操作视图

拖一个Plain Text到视图中,并设备其上部外边距和左部外边距都为16dp,如下图:

Android Studio设置视图属性

对其进行下面的设置:

  • id为name_edit_text
  • layout_width为0dp
  • layout_height为wrap_content
  • text为@string/name_text,其实就是我们刚刚添加的字符串资源。

用同样的方法添加一个Button,并进行下面的设置:

  • Button的左侧与Plain Text的右侧连接
  • Button的上侧与右侧的外边距都为16dp
  • id为send_button
  • layout_width为wrap_content
  • layout_height为wrap_content
  • text为@string/send_button

现在界面如下:

一个新的界面

处理Activity

首先,打开app > java > com.mwangblog.helloworld > HelloWorldActivity,先声明一个Button对象和一个EditText对象,如下:

public class HelloWorldActivity extends AppCompatActivity {

    private Button mSendButton;
    private EditText mNameEditText;

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

}

将其实例化,并为mSendButton设置监听器:

public class HelloWorldActivity extends AppCompatActivity {

    private Button mSendButton;
    private EditText mNameEditText;

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

        mNameEditText = (EditText) findViewById(R.id.name_edit_text);
        mSendButton = (Button) findViewById(R.id.send_button);
        mSendButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name_text = mNameEditText.getText().toString();
                Toast.makeText(HelloWorldActivity.this, name_text, Toast.LENGTH_SHORT).show();
            }
        });
    }

}

mSendButton的监听器会生成一个Toast,这个Toast的内容是通过mNameEditText得到的内容。

现在运行程序,输入文字,并点击按钮后,会生成一个Toast,如下图:

生成一个Toast

新建Activity

现在我们新建一个Activity,右键点击包com.mwangblog.helloworld,选择New > Activity > Empty Activity

如下图:

新建一个Activity

新建此Activity的名字为SayHiActivity

这样,系统会自动为我们添加SayHiActivity文件和其布局文件activity_say_hi.xml

新添加一个字符串,如下:

<string name="hi_text">Hi, %1$s!</string>

在布局文件activity_say_hi.xml中添加一个TextView,对其进行设置:

  • id为hi_text_view
  • 四个方向的外边距都设置为0
  • layout_width为wrap_content
  • layout_height为wrap_content
  • text为@string/hi_text
  • textSize为30sp

如下图:

say_hi布局文件

新建intent

两个Activity想要通信,需要使用intent来传递信息。

首先创建EXTRA_NAME变量:

public static final String EXTRA_NAME = "com.mwangblog.helloworld.NAME";

修改HelloWorldActivity中的mSendButton的监听器:

mSendButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name_text = mNameEditText.getText().toString();
                Intent intent = new Intent (HelloWorldActivity.this, SayHiActivity.class);
                intent.putExtra(EXTRA_NAME, name_text);
                startActivity(intent);
            }
        });

点击按钮后,会启动SayHiActivity

接收intent

SayHiActivity中处理intent:

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

    Intent intent = getIntent();
    String name = intent.getStringExtra (HelloWorldActivity.EXTRA_NAME);

    String hi_text = getResources().getString(R.string.hi_text);
    String hi_name = String.format(hi_text, name);

    mHiTextView = (TextView) findViewById(R.id.hi_text_view);
    mHiTextView.setText(hi_name);
}

上面的程序中,首先接受了intent,之后对字符串进行了格式化,最后设置mHiTextView的值。

现在运行程序,查看程序:

程序的第一个Activity
程序的第二个Activity

翻译(本地化)

在字符串资源文件上右键,点击Open Translations Editor,之后对字符串进行翻译即可,如下图:

Android Studio翻译

程序会在相应的地区使用相应的语言。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,065评论 25 707
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,397评论 0 17
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,428评论 2 45
  • 花园里最惹人注意的是鲜艳的花朵,尤其是玫瑰花之类,它们有婀娜多姿的花苞,还有精心妆扮的颜色,更重要的是它们还有着让...
    刘大胜阅读 273评论 0 1
  • 落霞映红了西天, 疏柳翠绿了两岸, 写一首歌谣礼赞, 画一阕蝴蝶舞翩翩, 丹青不及桃花的诱惑, 枉费了绝世的容颜。...
    古城苍狼阅读 283评论 2 8