一直以为本身的技术没有一门专长,彷佛什么都会一点,可是却一点都不深刻。决定学习Android的开发,说不出的理由,但愿本身可以坚持下去。java
其实以前已经搭建好了Android的开发环境eclipse+ADT+SDK,这里就不作具体介绍了,我的以为仍是很是有必要把这3个软件单独安装一下,android
这样对开发工具能有个系统的认识。Eclipse是一个IDE,针对多门开发语言都可以使用,SDK是针对Android应用开发提供的一个框架,其中有开发app
过程当中使用到的包和一些集成的工具,ADT是安装在eclipse上的一个插件,这样才可以把eclipse和SDK关联起来,使得开发者经过eclipse这个IDE框架
方便的进行Android应用程序开发。eclipse
我使用的教程是《第一行代码:Android》,主要是看到stormzhang的推荐,另外也看了做者郭霖在csdn上的博客,对大牛的崇拜之情油然而生。ide
在试读完一章pdf教程后,立马决定就用它带我入门了。工具
言归正传,今天主要学习的内容是建立第一个HelloWorld Android程序以及对Android程序的总体结构有一个比较大概的认识。布局
新建一个Android application工程后,工程目录结构以下:学习
各个目录的用途以下:开发工具
一、src是java源代码存放目录
二、gen 这个目录是由ADT自动生成的,主要有一个R.java和BuildConfig.java文件,这些文件不能手动进行修改,具体含义后面再去仔细了解
三、assets目录是一些随程序打包时用到的文件
四、bin 不须要太多关注,当前项目编译后的安装包会保存在这里,例如HelloWorld.apk
五、libs 存放开发时用到的第3方jar包
六、res目录下的子目录有:drawable 存放各个机型适配的图片 ,layout,布局文件 ,menu 存放菜单文件, values 字符串配置文件
七、AndroidManifest.xml 整个Android项目的配置文件,程序中定义的全部四大组件都须要在这个文件里注册。同时还可以进行其余设置,后续再详细分析。
八、Project.properties 指定了编译程序时所使用的SDK版本,在个人例子中,其实就是 "target=android-14" 这一行代码
Android 程序的运行机制
Android有4大组件,分别是活动、服务、广播接收器和内容提供器。目前我只接触到活动这个组件。因此就先记录下本身目前的认识:
提供activity组件实际上就是提供一个继承于Activity类的子类,这个子类须要实现基类的onCreate()方法,这个方法是activity被建立时必须被执行的方法。固然,
我也尝试把这个方法更名(实现没变),结果是界面仍然能够呈现,可是具体的差别估计还得之后深刻学习后才可以理解。另外,基类的方法onCreateOptionsMenu()是用于菜单的建立,
在此也暂不深究。
在res/layout 目录下,能够建立Layout类型的Android XML File文件,在这个布局文件中,咱们能够添加最简单的TextView控件用以显示字符串,具体示例以下:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />
其中显示的字符串经过@string/hello_world来得到,@string/tag_name 是从res/values/strings.xml中得到值的一种方式,这种方式的便捷在于只须要修改strings.xml文件,就能够
把APP用另外一种语言呈现。相似strings.xml中的配置项的读取能够有如下两种方式:
1. 在代码中经过 R.string.hello_world能够得到该字符串的引用;
2. 在 XML 中经过@string/hello_world能够得到该字符串的引用。
在layout类型文件建立完成后,这时候在activity组件的onCreate方法中,显示布局内容经过setContentView(R.layout.first_layout);
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_layout); }
在复写的onCreate方法中使用了layout类型的文件后,最后一步就是在AndroidManifest.xml文件中对activity进行注册。具体方法以下:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".FirstActivity" android:label="This is FirstActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
其中<activity>标签内的是对activity进行注册的基本操做,其中<intent-filter>标签内容是必不可少的,我本身在实验过程当中因为本身犯错把category写成action,结果报错。
在对activity在AndroidManifest.xml中正确进行注册后,一个最简单的Android app就建立完成了,运行该工程,便可在设备上看到显示HelloWorld
再次总结我对Android应用程序的初步认识,布局由Layout类型的xml文件来实现,activity类实现例如加载Layout布局,显示菜单等功能,最后AndroidManifest.xml
文件对activity进行注册,保证activity组件能够在设备上正确显示。