![Android Studio开发实战:从零基础到App上线 (移动开发丛书)](https://wfqqreader-1252317822.image.myqcloud.com/cover/682/26943682/b_26943682.jpg)
1.3 运行小应用Hello World
成功安装Android Studio后,打开其界面会发现有一堆菜单和图标,对于这个陌生的开发环境,读者可能会有不知所措的感觉。现在不逐一讲解每个菜单和图标的作用,直接开始第一个App——Hello World,让我们在实践中边学边用,更好地理解和吸收。
1.3.1 创建新项目
打开Android Studio,依次选择菜单File→New→New Project,弹出Create New Project窗口,如图1-9所示。在Application name栏输入应用名称,在Company Domain栏输入公司域名,下面会自动合成工程的包名,选择好项目工程的保存目录,单击Next按钮。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0023_0001.jpg?sign=1739395747-vbPMnIARSDfsGirWXY2QEG0t6l9umfwQ-0-58062177d410ea742ca5f10cd44ee95f)
图1-9 创建新项目
下一个界面是目标设备界面,如图1-10所示。该界面可选择App期望运行在什么设备上,以及运行App所需的SDK最低版本号,Minimun SDK右下方的文字提示当前版本号支持的设备市场份额。这里不做变动,按照默认勾选的Phone and Tablet即可,最低版本号也是默认的API 15(支持设备的市场份额为97.3%,能够满足绝大部分机型)。然后单击Next按钮,进入下一个界面,如图1-11所示。该界面提示我们选择初始界面风格,这里还是保持默认的选项Empty Activity,单击Next按钮。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0023_0002.jpg?sign=1739395747-nDYreckk7NWfKJUDpUyxdyZ457bReFsa-0-d9baa9a07ad88a1afd0cfc6114cd8f78)
图1-10 指定目标设备
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0023_0003.jpg?sign=1739395747-w87MALSaKXnRy05yY2TTS3XoJ38Mi2oB-0-0e3ebae99784353cb4413e5be33f3fc6)
图1-11 指定Activity界面的风格
下一个界面是入口设置界面,如图1-12所示。该界面可输入活动名称(Activity Name)与布局名称(Layout Name),正常情况使用默认名称即可,单击OK按钮,等待工程创建。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0023_0004.jpg?sign=1739395747-yoZl7M8VmR8wOKREsSgv0v6oMvdVADxQ-0-77877a1705c511a509d4da10e4603786)
图1-12 设置入口界面的名称
工程创建完毕后,Android Studio自动打开activity_main.xml与MainActivity.java,并默认展示MainActivity.java的源码,如图1-13所示。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0023_0005.jpg?sign=1739395747-FVMM1al8mtpzO297WRHkzpPp7tGP8iBo-0-e4d9ba91a045fe74040ab8235e6cd953)
图1-13 默认创建的MainActivity
MainActivity.java上方的标签表示该文件的路径结构,注意源码左侧有一列标签,从上到下依次是Project、Structure、Captures、Favorites。单击Project标签,左侧会展开小窗口表示该项目工程的目录结构,如图1-14所示。单击Structure标签,左侧会展开小窗口表示该代码的内部方法结构,如图1-15所示。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0024_0001.jpg?sign=1739395747-MaD4FMsepO56fT9eZFrQvlHndrEuCZsE-0-3c5d3f51403461222c929142a6f8d1a4)
图1-14 HelloWorld的工程结构
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0024_0002.jpg?sign=1739395747-0hclzXVBvR84DuF3JIBOPu1lIze7bhkh-0-a97161fa14b7c5c19cf19663ac7b4084)
图1-15 MainActivity的方法结构
看完代码文件再来看布局文件,单击activity_main.xml标签,切换到布局文件设计展示界面,如图1-16所示。可以看到左侧多了一列Palette窗口,内部是各种布局与控件列表。在Palette窗口下方有两个标签,分别是Design(默认选中,表示设计图)和Text(表示源代码)。单击Text标签,切换到布局文件的源码界面,如图1-17所示。这个布局文件是标准的XML格式,内部定义了App页面上包含的各种控件元素及其排列组合方式。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0024_0003.jpg?sign=1739395747-pC8ge2CC5KsRIVBkRTC2ELGDM9wN9rPS-0-3880017c2ee80062ecc39b55643dd12a)
图1-16 activity.xml的设计图
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0024_0004.jpg?sign=1739395747-RlghthQiEPBzhkew0LTj9idbkwLXNOiv-0-2932d1802951f6280870f63e462efe9d)
图1-17 activity.xml的源代码
在查看activity_main.xml的设计图时,可能会遇到以下问题:
(1)报错Android N requires the IDE to be running with Java 1.8 or later。
原因是当前机器的jdk版本低于1.8(如jdk1.6或jdk1.7)。
解决办法:安装最新的jdk1.8,并正确配置JDK的安装路径。
(2)报错Rendering Problems Exception raised during rendering:com/android/util/PropertiesMap (Details) 或Rendering Problems Exception raised during rendering:com.android.ide.common.rendering.api.LayoutlibCallback。
原因不明,可能是Android Studio的一个bug。
解决办法:把布局设计图右上方的编译器改为API 23,如图1-18所示。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0025_0001.jpg?sign=1739395747-q3XKwdU7u7N49HPOEFATcvhokV4UkWrZ-0-58cc6735215ada89712ce6485a392692)
图1-18 更改布局设计图的编译器版本
1.3.2 编译项目/模块
Android Studio与Eclipse一样,如果代码没有报错,Android Studio就会自动编译,我们只需直接运行项目即可。当然有时候我们想手动重新编译,有以下3种编译方式:
(1)选择菜单Build→Make Project,编译整个项目下的所有模块。
(2)选择菜单Build→Make Module ***,编译指定名称的模块。
(3)选择菜单Build→Clean Project,然后选择菜单Build→Rebuild Project,先清理项目,再对整个项目重新编译。
下面先认识一下任务栏上的几个常用图标,后面会经常用到它们。
在图1-19中,第4个竖屏图标是AVD Manager按钮,单击该按钮会弹出模拟器的管理窗口;倒数第二个向下箭头图标是SDK Manager,单击该按钮会弹出SDK版本的管理窗口。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0025_0002.jpg?sign=1739395747-8t31Y0jKta3YE0aySnwgZgV7n4w9ncMq-0-d9a212f885786a19eed696037486c2e0)
图1-19 任务栏上的常用图标
1.3.3 创建模拟器
所谓模拟器,是指在电脑上构造一个演示窗口,模拟手机屏幕上的App运行效果。App通过编译后,要选择一个接入设备来运行,依次选择菜单Run→Run'app'(也可按快捷键Shift+F10),AndroidStudio会弹出新窗口SelectDeploymentTarget,如图1-20所示。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0025_0003.jpg?sign=1739395747-YHH5qM0nQ043NqfKcFHNNvPkIHK6Waqd-0-3ffdfd3d39cc70779865c00c4935df9d)
图1-20 运行App选择接入设备
对初学者来说,一开始没有可用的模拟器,得创建新模拟器,单击Create New Emulator按钮,弹出模拟器的配置界面,如图1-21所示。按照默认配置即可,单击Next按钮。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0026_0001.jpg?sign=1739395747-n8rOOefklJrU2B1bUvUjhossjvRBK4MG-0-2a4ad9f4767462a6a04f846e57a3d64b)
图1-21 选择模拟器的分辨率
下一个界面是SDK版本的选择界面,如图1-22所示。单击第3个标签Other Images,在列表中选择第一个Lollipop(即Android 5.1),表示接下来创建的模拟器是基于Android 5.1系统的。如果读者的开发机配置不是很优越,那么建议模拟器的大小不超过5寸,同时SDK版本不高于API 19,因为分辨率越大、版本越高,消耗的系统资源也越大。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0026_0002.jpg?sign=1739395747-TxQOXLTalTdrfAOBwZ93W4o0HTeZn4W7-0-d5a6e833568f236e38d8a4ab09c9df19)
图1-22 选择模拟器的SDK版本
单击Next按钮,进入最后的确认界面,在确认界面右下角单击Finish按钮,等待模拟器的创建。
1.3.4 在模拟器上运行App
模拟器创建完成后,重新依次选择菜单Run→Run 'app',这时弹出的窗口中会出现刚才创建的模拟器,名称为Nexus 4 API 22,如图1-23所示。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0026_0003.jpg?sign=1739395747-6oWN5MPitOg8C7LvfxTZ1ABeY4LK0jFc-0-b5a68c33f9a42ac1797dc0f1364601bc)
图1-23 接入设备界面出现新创建的模拟器
选中该模拟器,单击OK按钮,等待Android Studio启动模拟器。关于模拟器的启动结果,可以查看主界面下方的提示窗口,如图1-24所示。提示窗口有左右两个小窗口,左侧窗口的左上角有一个logcat标签,用于展示App的运行日志;右侧窗口的右下角有一个Gradle Console标签,用于展示App工程的编译与启动情况。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0026_0004.jpg?sign=1739395747-W7rYoXWA6UJkpp8HG8ze43XFrK4Byzvn-0-6d1f0a0204d37da24ee552bd6971b5b6)
图1-24 App运行结果跟踪窗口
如果在GradleConsole窗口提示编译或启动失败,就按照提示信息进行处理。如果GradleConsole窗口提示成功,等待模拟器启动完成后,就会出现类似手机的模拟器界面,如图1-25所示。把模拟器屏幕下方中间的解锁图像向上拖动,使得屏幕解锁成功,这时进入App的启动界面HelloWorld,如图1-26所示。
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0027_0001.jpg?sign=1739395747-Pjf66wXFhx5uQY6UIlGtinwND1schM81-0-d508fc8700f27d96fcbe4d342a6a56f8)
图1-25 模拟器启动完成屏幕
![](https://epubservercos.yuewen.com/9E1DC7/15367248604201706/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1739395747-mKary74Xe5nPzPv17yPcoosN09FZEeHN-0-73bfe2dcb52614f398706f92592cd0fa)
图1-26 HelloWorld的启动界面
如果App启动界面正常展示,那么恭喜你,第一个Hello World App就这样成功了。都说万事开头难,前面我们经过各种困难,终于搭建好Android Studio的开发环境,并且成功运行了第一个App——Hello World,不过这只是万里长征的第一步,接下来还有更奇妙的Android世界等着我们去探索。