七、Android项目工作区概览
新建一个Android项目,Eclipse会自动帮我们建立诸多文件,我们看一下:
其中:
第①部分:表示Java源程序;
第②部分:代表系统资源ID,类似于C语言的*.h文件,请千万不要手工修改R.java文件;
第③部分:Android4.2表示当前SDK是4.2,是目前最新版本;
第④部分:表示资源文件,其中layout布局你可以认为就是界面;
第⑤部分:每一个Android项目都包含一个清单(Manifest)文件--AndroidManifest.xml,它存储在项目层次中的最底层。清单可以定义应用程序及其组件的结构和元数据。
如果你想了解更多AndroidManifest.xml,请单击了解更多>>
Android项目中主要文件及文件夹的作用:
(1)src:存放所有的*.java源程序。
(2)gen:为ADT插件自动生成的代码文件保存路径,其中的R.java文件将保存所有的资源ID。
(3)Android 4.2:表示现在使用的Android SDK的版本是4.2。
(4)assets:可以存放项目中一些较大的资源文件,如图片、音乐、字体等。
(5)res:可以存放项目中所有的资源文件,如图片(*.png、*.jpg)、网页(*.html)、文本等。
(6)resdrawable-hdpi:保存高分辨率图片资源。
(7)resdrawable-ldpi:保存低分辨率图片资源。
(8)resdrawable-mdpi:保存中等分辨率图片资源。
(9)reslayout:存放所有布局文件,主要是用于排列不同的显示组件,在Android程序要读取此配置。
(10)resvalues:存放一些资源文件信息,用于读取文本资源,在文件夹中有一些约定的文件名称。(具体内容待以后详解)
(11)res
aw:自定义的一些原生文件所在目录,如音乐、视频等文件格式。
(12)resxml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序中。
(13)resanim:用于定义动画对象。
(14)activity_main:配置所有的控件。
(15)R.java:此文件为自动生成并自动维护的,用户添加的控件会自动在此文件中生成一个唯一的ID,以供程序使用。
(16)AndroidManifest.xml:主要配置文件,用于配置各个组件或一些访问权限等。
总之,看着真的够复杂,你先有个印象就可以了。至少,你应该知道源文件是放在src文件夹;布局文件在res/layout文件夹,其他以后了解也ok。
八、Android项目分析
1、布局文件(reslayoutactivity_main.xml)
双击 reslayoutactivity_main.xml 打开布局文件。注意①代表布局文件图形界面;②代表布局文件代码界面。
Android App应用程序类似于.net的Winform程序,其中①和②相当于标题栏,①为标题栏的图标,②为标题;③代表标签<TextViw>,类似于众多程序的Label。
我们再来看一下代码:
希望你在探讨本段代码之前,至少至少要有XML文件的概念,如果没有请了解这后再来继续学习。
本段代码包含了两个重要标签:<RelativeLayout>和<TextView>,<RelativeLayout>代表线性布局管理器;<TextView>代表标签组件。其它的皆为两个标签的属性。
我们着重来看一下:android:text="@string/hello_world",我们的运行结果是 Hello world! 而不是 hello_world !
Why?
2、strings文本资源文件(resvaluesstrings.xml)
双击 resvaluesstrings.xml 打开文本资源文件。与布局文件一样:①代表文本资源图形界面;②代表文本资源代码界面。
我们打开文本资源strings.xml文件之后,当我们看到:
<string name="hello_world">Hello world!</string>
前面的疑虑应该顿消,原来如此啊!hello_world是文本资源文件中的一个标签而已,其真正的内容是 Hello world!
你可以通过图形界面或者字符界面添加一个字符串资源,究竟你选择哪种,随你高兴!
3、R.java文件(gen/com.genwoxue.hello/R.java)
双击 gen/com.genwoxue.hello/R.java 打开资源ID文件。
R.java资源文件保存所有资源的ID,譬如前面所讲的hello_world,在这里就是一个整数0x7f040001而已。
如果你感觉这个文件很奇怪也很正常,除非你曾经学习或者写过C for windows应用程序就早已习以为常了。
这个文件你最好只是看看,不要动它!!!
4、AndroidManifest.xml文件
双击 AndroidManifest.xml 项目配置文件。
所有的Activity程序都在AndroidManifest.xml文件中进行注册,故该文件是整个Android项目的核心配置文件。
在<application>节点中配置的android:icon="@drawable/ic_launcher",表示引用drawable(drawable-hdpi、drawable-ldpi、 drawable-mdpi三个文件夹中导入)资源配置的图标,引入图标的名称为ic_launcher。现在你可以更换应用程序图标了,你知道了它在哪!
在<application>节点中配置的android:label="@string/app_name",表示此应用程序的标签名称从strings.xml文件中读取,内容为app_name对应的内容。现在你也可以更换应用程序标题了,你知道了它在哪!
当然,你还可以更改Activity的标题,什么是Activity?
Activity就是一个活动的窗体,一个项目应用程序可以包含多个Activity。
5、MainActivity.java(src/com.genwoxue.hello/MainActivity.java)
双击 src/com.genwoxue.hello/MainActivity.java 程序文件。
本程序是Android整个项目的主程序,Activity是项目的基本组成部分。
MainActivity继承Activity类,onCreate()方法是启动Activity地默认调用的方法。
super.onCreate(savedInstanceState):调用父类的onCreate()方法;
setContentView(R.layout.activity_main):调用布局文件。
我相信你的Android手机上一定安装了不少Android应用,那么如果把我们的Android程序发布为Android应用,以便让别人使用呢?
1、选择File>Export命令,在打开的界面中选择Android>Export Android Application文件。
单击 Next> 按钮,选择要导出的项目。
2、可以通过 Browse... 按钮选择Hello这个项目,如果项目处于打开状态,会默认当前项目。
单击 Next> 按钮,进入创建证书界面。
3、导出项目,必须要有证书,我们可以选择已经存在的证书或者创建证书,我们选择 Create new keystore。
在此,我们输入:
Location:D:Hello(我们可以起一个不同于项目的名称)
Password和Confirm:123456
则在D盘根目录下创建了Hello证书。单击 next>按钮,进入证书完整界面。
4、填写完整的证书信息。
①部分为证书别名与有效年限;
②部分为开发者相关信息。
单击 Next> 按钮,进入导出Android Application界面。
5、导出项目(Export Android Application)
输入D:Hello.apk,发布到D盘根目录。
你也可以保存到别的文件夹,但注意该文件夹一定要存在。
单击 Finish 按钮完成整个项目发布过程。
现在,你可以采取你喜欢的任意方式(可以通过数据线、蓝牙)或者发布到Android应用商店供别人下载使用。