Android学习第三章摘要
经过环境搭建,今天开始正式进行Android的学习,第三章的东西感觉还是非常重要的,毕竟要对整体有个了解
Android的程序框架
一个Android程序建立以后,主要有src文件夹,gen文件夹,res文件夹,以及一些xml文件,个人认为,了解每个文件是描述什么的是非常重要的。按照书上的顺序一一略作记录:
gen中的R.java,这是之前Java程序没有的,他是只读模式,不能修改,是定义了项目所有资源的索引文件(订了很多常量,常量名字与res中文件相同,自动生成索引)
AndroidManfest.xml,包含了项目中使用的Activity、Service、Receiver
res资源文件夹中的一些xml,主要一些常量的定义
使用这些资源的方式:通过Context的getResources实例化一个Resources对象,再通过Resources对象的getString方法取得指定索引的字符串
Resource r=this.getContext().getResources(); Stirng appname=((String) r.getString(R.string.app_name));
所有使用的常量都可以通过xml文件方式定义,包含在<resources></resources>标签中
布局文件res—layout—main.xml
主要有几个布局和参数(<LinearLayout>、android:orientation、android:layout_width、android:layout_height、wrap_content)
用@方式引用String.xml中的字符串资源
对于HelloAndroid.java来说,继承了Activity类,重写了onCreate方法,通过setContentView(R.layout.mian)设置了布局文件
?
Android应用解析
4个模块:
Activity、Intent、Content Provider、Service
Activity是最基本的模块,称为活动,通常一个Activity就是一个屏幕。每个活动都实现为一个独立的类,处理应用程序的整体性工作。
Intent是实现Activity间切换的特殊类,用于描述应用的功能。它的两个重要部分:动作和动作对应数据。典型动作类型有MAIN、VIEW、PICK、EDIT等,对应数据以URI表示。
该机制的2个好处:
Activity能够重复利用从其他组件中以Intent形式产生的请求
Activity可以在任何时候被具有相同IntentFilter的新的Activity取代
然后有一个2个Activity切换的实例
Content Provider提供了数据的访问,Android应用将数据保存到文件和SQLite数据库中,当要与其他应用共享时,Content Provider会提供方法。
应用可以通过唯一的ContentResolver界面来使用具体某个Content Provider(个人感觉类似JDBC的ResultSet),ContentResolver提供包括query,insert,update等方法。
同样通过一个获取通讯录信息的例子来说明
Service,是一个生命周期长且没有用户界面的程序。(个人理解就是后台运行)有Context.startService(),Context.bindService()等方法可以用。。
一个MP3播放的例子
?
Android的生命周期
OnCreate,onStart,onResume,onPause,onDestroy
贴个图
通过一个程序说明了下
?
Android等程序UI设计
介绍了自带的UI设计界面(main.xml中layout标签)
以及一个工具DroidDraw
?
继续再好好看下3个几个示例程序,接下来开始比较具体的Android开发学习