一般android应用程序包括以下四个部分:
l Activity
l Broadcast Intent Receiver
l Service
l Content Provider
1. Activity介绍:
Activity一般代表手机屏幕的一屏,相当于浏览器的一个页面。当打开一个屏幕时,之前的那一个屏幕会被置为暂停状态,并且压入历史堆栈中,用户可以通过回退操作返回到以前打开过的屏幕。
开发时需要选择行的移除没有必要保留的屏幕,因为打开后的屏幕会保存在堆栈中
Android的生命周期:即“产生、运行、销毁”
Intent和Intent Filter介绍:一个Intent就是一次对将要执行的操作的抽象描述,通过Intent可以在多个Activity之间进行跳转,Intent两个最重要的部分是动作(action)和动作对应的数据,典型的动作类型有,MAIN、view、pick、edit等,而动作对应的数据则以URI的形式表示;例如有两个activity分别为A和B,要从A跳转到B可以这样写
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
与Intent有关联的类叫做Intent Filters,如果Intent是一个请求,一个Intent Filters描述改组件所能相应Activity请求的能力。
2. Broadcast Intent Receiver介绍:
可以使用BroadcastReceiver来让应用对外一个外部的事件作出响应。BroadcastReceiver通过NotificationManager来通知用户这些事情发生了,BroadcastReceiver注册的有两种方式,一种是可以在AndroidManifest.xml中注册,另一种可以在运行时的代码中使用Context.registerReceiver()进行注册。用户还可以通过Context.sendBroadcast()将他们自己的intent broadcasts广播给其他的应用程序。
3. Service介绍:
Service是一种程序,它可以运行很长的时间,相当于后台的一个服务,通过startService(Intent service)可以启动一个Service,通过Context.bindService()可以绑定一个Service
4. Content Provider介绍:
数据在android当中是私有的,这些数据包括文件数据和数据库数据以及其他类型的一些数据。两个程序之间数据的交互是通过Content Provider来实现,一个Content Provider实现了一组标准的接口,能够让其他应用保存或读取此Content Provider的各种数据类型。所以一个程序可以通过实现以个Content Provider的抽象接口将自己的数据暴露在外面,实现常见的接口有:
Query(URI,String[],String,String[],String):通过关键字查询;
Insert(Uri,ContentValues):将一组数据插入到指定的地方 ;
Update(Uri,ContentValues,String,String[]):更新数据;
Delete(Uri, String, Stringp[]) :删除数据;