事件做出响应。大多数的应用是由多个屏幕显示组成。
例如:一个文本信息的应用也许有一个显示发送消息的联系人列表屏幕,第二个屏幕用来写文本消息和选择收件人,再来一个屏幕查看消息历史或者消息设置操 作等。这里每一个这样的屏幕就是一个活动,很容易实现从一个屏幕到一个新的屏幕并且完成新的活动。在 某些情况下当前的屏幕也许需要向上一个屏幕活动提供返回值--比如让用户从手机中挑选一张照片返回通讯录做为电话拨入者的头像。
当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前简单理解 Activity 代表一个用户所能看到的屏幕, Activity 主要是处理一个应用的整体性工作,例如, 监
听系统事件(按键事件、触摸屏事件等)、为用户显示指定的 View,启动其他 Activity 等。所有应用的 Activity都继承于 android.app.Activity 类,该类是 Android 提供的基层类,其他的 Activity 继承该父类后,通过
Override父类的方法来实现各种功能,这种设计在其他领域也较为常见。
2、Intent :
调用 Android 专有类 Intent 进行架构屏幕之间的切换。Intent 是描述应用想要做什么。Intent 数据结构两型为 VIEW 的 Intent,以及一个表示这个人的 URI。
要声明一个 IntentFilter ,这个 IntentFilter 要知道怎么去处理 VIEW 动作和表示一个人的 URI。IntentFilter 需
要在 AndroidManifest.xml 中定义。
通过解析各种 intent ,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时, activity 将会调用
startActivity(IntentmyIntent)方法。然后,系统会在所有安装的应用程序中定义的 IntentFilter 中查找,找到最法被调用将触发解析 myIntent 的动作,这个机制提供了两个关键好处:
A、Activities 能够重复利用从其它组件中以 Intent 的形式产生的一个请求;
3、IntentReceiver:
当你希望你的应用能够对一个外部的事件(如当电话呼入时,或者数据网络可用时,或者到了晚上时)做出响应,你可以使用一个 IntentReceiver。
虽然 IntentReceiver 在感兴趣的事件发生时,会使用 NotificationManager通知用户,但它并不能生成一个 UI。IntentReceiver 在 AndroidManifest.xml 中注册,但也可以在代码中使用Context.registerReceiver()进行注册。当一个 intentreceiver 被触发时,你的应用不必对请求调用 inten treceiver ,系统会在需要的时候启动你的应用。各种应用还可以通过使用 Context.broadcastIntent() 将它们自己的intentreceiver 广播给其它应用程序。
5、Content Provider :
Android 应用程序能够将它们的数据保存到文件、SQLite 数据库中,甚至是任何有效的设备中。当你想数据是应用的核心。在 Android 中,默认使用鼎鼎大名的 SQLite 作为系统 DB。但是在 Android 中,使用方
法有点小小的不一样。在 Android 中每一个应用都运行在各自的进程中,当你的应用需要访问其他应用的数Android 本地 Content Provider 包括:
CallLog:地址和接收到的电话信息
Contact.People.Phones :存储电话号码