Android学习笔记(2)----Android的四大天王

zwfandroid 2010-11-06 07:29:20
Android应用程序由四个模块组成:Activity、Intent、Service、Content Provider,这是Android的四大天王。当然,并不是每个Android应用程序都必须由这四个部分组成,这可以根据开发者的需求进行组合,但是,如何一个应用程序都必须在AndroidManifest.xml文件中声明它所使用到的这些模版。
Activity是最基本的模版,被称之为"活动"。在应用程序中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且从Activity基类中继承而来。Activity类将会显示由视图控件组成的用户接口,并对事件作出响应。大多数的应用程序都是由多个Activity组成。可以这样理解,Activity代表一个用户所能看到的屏幕,主要用于处理应用程序的整体性工作,例如:监听系统事件(按键事件等),为用户显示指定的View,启动其他Activity等。
Intent类用于描述应用的功能。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据,主要的动作类型有MAIN、VIEW、PICK、EDIT,而动作所对应的数据则以URI的形式表示。通过解析各种Intent,实现在Activity与Activity之间切换是很简单的。当向前导航时,Activity将会调用startActivity(Intent intent)方法,系统就会在所有已安装的的应用程序中定义的IntentFilter中查找,找到最匹配的intent的Intent对应的Activity,新的Activity接受到intent的通知后开始运行。
Service被称之为"服务",既然是服务,那么Service将是一个生命周期长且没有用户界面的程序。也就是说,它一直都是在后台运行的。
Content Provider是一个特殊的储存数据的类型,它提供了一套标准的接口用于获取和操作数据。Android自身提供了一些现成的Content Provider,这包括Contacts、Browser、CallLog、Settings、MediaStore。应用可以通过唯一的ContentResolver界面来使用具体的某个Content Provider,然后就可以用ContentResolver提供的方法来使用你需要的Content Provider了。
在Android中,默认使用SQLite作为系统的数据库。Android应用能够将它们的数据保存到文件和SQLite数据库中,甚至是任何有效的设备中。但在Android中,每个应用程序都运行在各自的进程中,当一个应用需要访问其他应用的数据时,也就是数据需要在不同的虚拟机之间传递,这样的情况操作起来很困难。Content Provider也正式用来解决在不同应用之间共享数据的工具。
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyyay 2010-11-08
  • 打赏
  • 举报
回复
嗯,LZ的文章很好,学到了一些以前不知道的东西!
谢谢!
dreamList 2010-11-06
  • 打赏
  • 举报
回复
挺简要明了,不错
chenzhp 2010-11-06
  • 打赏
  • 举报
回复
楼主继续!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧