Android应用开发入门学习的方向大致划分成了5个大块——Activity应用活动、 Service后台服务、BroadcastReceiver广播接收、ContentProvider数据支持(外部数据)、Intent意图(活动桥)。
1. Activity:应用活动
Activity几乎承接着用户对应用程序(Application)的所有操作,Activity应该有一个窗口(Window),这个窗口是可以通过不用的主题(Theme)改变样子的。Activity应该要注意它的生命周期(Lifecycle)、设备状态(Configuration)改变时的影响以及运行状态和数据的保存,这个在一个应用程序是否可靠和人性化上至关重要。Activity里还应该要申明一些许可(Permissions),以便使用Android的一些软硬件功能,这些申明可以由代码或者Manifest.xml给出。最后,每个Activity(的入口)一定要在Manifest当中申明。
2. Service:后台服务
Service是没有界面的程序,它是所谓的服务,也叫后台程序。应该要非常注意Service的启动(startService)和绑定(bindService)这两种开启Service的方法之间的关系以及Service对应的生命周期,两种开户Service的方法对Service 的生命周期效果是不同的。还有就是申明许可以及申明Service,也是在代码内或者Manifest内申明。
3. BroadcastReceiver:广播接收
广播接收并不是通常所说的无线电广播,而是指由sendBroadcast()所发送出来的意图(Intent),即广播在这里的意思是意图,BroadcastReceiver在注册(Registe)之后可以自动监听符合预先给定的条件的意图,如果有则会通知此 BroadcastReceiver的持有程序。
4. ContentProvider:数据支持(外部数据)
ContentProvider是作保存应用程序数据和建立维持数据库之用,以便程序重新启动时回到以前的状态或者保存信息。应该注意应用程序的使用权限以及SQL语言的使用,Android用的是一个轻量级的数据库系统SQLite。
5. Intent:意图(活动桥)
Intent是Android应用开发里很重要的一个元件,很多书上以直译来解释,不太好理解,我觉得可以译为“活动桥”,也就是连接两个活动(Activity)的桥梁(Bridge)。通过Intent可以从一个Activity来启动另一个任意的Activity,不管是自己定义的还是系统定义的。在ActivityGroup(extends Activity)里面,Intent的flag设置对于子Activity的启动方式至关重要。