
1.4 开发第一个Android应用
前面已经介绍了Android系统的一些基本知识以及如何搭建开发Android应用的环境,包括Android SDK的安装和ADT插件安装,如何创建和使用模拟器。接下来,就可以开始进入第一个Android应用的开发了。其实,开发Android应用十分简单,Android编程就是面向应用程序框架API编程,只要学习了Android的一般开发流程,就可以轻松开发具备丰富功能的应用了。
1.4.1 在Eclipse中开发第一个Android应用
Java是Android官方推荐的用于开发Android应用的编程语言,而Eclipse是流行的编写Java代码的开发工具,也是最常用的软件开发工具,它可以很好地提高开发者的开发效率。使用Eclipse开发Android应用大致需要如下三步:
① 创建一个Android项目。
② 在XML布局文件中定义应用程序的用户界面。
③ 在Java代码中编写业务实现。
上面三个步骤是最基本的归纳,下面以一个HelloWorld级别的应用来介绍开发Android应用的一般流程。详细步骤如下:
① 在Eclipse主菜单单击File→New→Other菜单项,弹出如图1.20所示的窗口,在出现的列表中展开Android目录,选择Android Application Project。

图1.20 新建Android项目
② 单击Next按钮,出现如图1.21所示的对话框,在该对话框中填写应用名称、工程名称、默认包名,选择Android版本号,然后一直单击Next按钮,最后单击Finish按钮。

图1.21 填写相关项
③ 单击Finish按钮,即成功创建了一个Android项目。创建完成后可以看到如图1.22所示的项目结构。

图1.22 Android项目结构
④ 可以看到,在如图1.22所示的Android项目结构中,layout目录下有一个activity_main.xml文件,该文件用于定义Android应用的用户界面。双击该文件,将看到该文件中的代码,对代码稍作修改,修改后的文件内容如下所示。

这里对上面的XML文件作一个简单的介绍。
LinearLayout:xml文档的根元素,代表了一个线性布局,设置orientation属性为vertical,将该界面布局里包含的UI控件按顺序从上至下排放。
TextView:代表了一个文本框,用于显示文本,有点类似于HTML中的label标签。layout_width属性与layout_height属性设置为wrap_content,指定该控件的宽度与高度都是“包含内容”,取决于它所包裹的内容的大小,只要宽度与高度能包裹所含内容即可。text属性则设置了该控件上所显示的文字。id属性指定了该控件的唯一标识,在Java程序中可通过findViewByld("id")来获取指定的Android界面组件。
EditText:代表了一个文本编辑框,供用户输入文本,有点类似于HTML中的text标签。layout_width属性设置为fill_parent,指定该控件的宽度为占满了父容器所具有的宽度,这里为屏幕宽度。其他属性参考TextView控件。
Button:代表了一个普通按钮,供用户单击操作,有点类似于HTML中的button标签。该控件所设置的layout_width、layout_height、text、id等通用属性所起作用参考上面三个组件,此处不再赘述。
在这里有一个小小的建议,就是当需要为一个控件指定id属性时,将该属性写在所有属性的后面,即放在该组件标签元素的最后一行,这样当你在Java代码中需要通过findViewByld("id")方法来获取该控件,而又忘了该控件id时,可以方便快速地定位到该控件的id属性。
⑤ Android项目结构中的src目录下存放着Android项目的源代码,该目录下的cn\edu\hstc\firstapp目录下有一个MainActivity.java文件,它就是Android项目的Java文件,用于控制FirstApp项目的业务实现。双击该文件,将其中的源代码如下所示进行修改。

至此,这个HelloWorld级别的Android应用已经开发完成。
在上面所介绍的步骤中,显然,Android将用户界面交给XML文档来定义,而Java程序则专门负责业务实现,这样降低了程序的耦合性。这与读者熟悉的MVC设计模式也是有所相似的。其实我们可以将XML界面文件看成是一个HTML页面文件,只不过Android界面文件遵循XML文档格式,并使用Android标签,而HTML页面文件使用HTML的内置标签。
1.4.2 通过模拟器运行Android应用
想要将Android应用运行在模拟器上十分简单,只要按照如下步骤操作即可。
① 参照1.3.2节中的介绍,将指定AVD设备启动起来。
② 在Eclipse的包浏览器中选中需要运行的Android项目,然后右击,在弹出的菜单中单击Run As→Android Application命令,如图1.23所示,等待片刻,即可看到该Android应用已经部署到模拟器上。

图1.23 运行Android应用
完成第二步操作后,稍等片刻,就可以在原先启动的那台AVD设备中看到如图1.24所示的Android应用部署完成后的界面。

图1.24 部署Android应用
在如图1.24所示界面的文本编辑框中输入“Hello Android”,然后单击“单击确定”按钮,即可看到图中的“我的第一个Android应用”变成了“Hello Android”,如图1.25所示。
如果想要在图1.25中的文本编辑框中输入中文,则可以进行以下步骤。
① 将鼠标指针放于图1.25中的文本编辑框上,长按鼠标左键,出现如图1.26所示的界面。
② 在如图1.26所示的界面中,单击Input method选项,出现如图1.27所示界面,选中“谷歌拼音输入法”选项,返回如图1.25所示的界面,此时就可以在文本编辑框中输入中文了。

图1.25 运行Android应用

图1.26 输入法设置

图1.27 选择输入法