Android应用程序的四大组件总结

在一个android的应用程序中,必须包含以下四个组件:1.Activity2.Service服务3.ConetentProvider内容提供者4.BroacastIntentReceiver广播输出接收

android应用程序中有一个AndroidManifest.xml文件,以上的四个组件必须要此文件中进行定义和描述,而AndroidManifest.xml是又系统自动生成的,每当一个组件创建后,其会自动声明这个组件。

Activity

Activityandroid应用程序中使用最多的一个组件,一个Activity就是应用程序的一个页面,也是一个屏幕的显示。在Activity中,可以创建view或继承view的类,并可以未view进行事件的监听。例如可以将Button添加进去,并未Button添加单击事件的监听。我感觉,Activity就相当于网站程序的一个页面,是显示信息和交互的地方。而Activity之间是可以相互跳转的,但是和网页的跳转有些不同,它是带有返回值的跳转。例如,Activity1跳转到Activity2,会带着参数,而当Activity2关闭后,也会带返回值跳转回Activity

Activiy是被存储在盏堆当中的,当Activity启动后,它就在盏顶,而通过Activity1跳转到Activity2Activity2就在盏顶。当Activity2关闭后,就会回到Activity

Activity中,Intent控制着Activity之间的跳转。Intent的在API中的定义是这样的,一个Intent就是对一个要执行的操作的抽象描述。Intent是又动作(action)和动作对应的数据(date)组成的。例如要查看一个联系人,就要建立一个动作未VIEWIntent和表示这个人的URI

我们常常在AndroidManifest.xml中会看到IntentFilters的标签。其实IntentFilters是描述一个Activity可以相应哪些Intent的操作。

BroadcastIntentReceiver

利用BroadcastReceiver可以让应用相应一个外部事件。例如,当闹钟响起的时候,可以利用BroadcastReceiver对此进行处理。还有当下载完一个应用的时候,可以用BroadastReceiver进行响应。BroadcastReceiver对于用户来说是透明的,它不是一个UI,而BroadcastReceiver可以利用NotificationManager来通知用户。BroadcastReceiver可以在AndroidMnifest.xml注册,也可以利用代码中的Content.registerReceiver()来进行注册。一旦应用程序注册了BroadcastReceiver,即使没有启动应用,当条件适当的时候,也会自动启动。

Service

Service翻译过来就是服务的意识,其实它的作用就是让应用程序在后台继续运行,提供相应的服务。例如当你打开一个音乐程序的时候,然后打开浏览器,然后,音乐程序没有停止播放音乐,而是继续播放,这就是Service的功能。可以同过startService(Intentservice)来启动一个Service,绑定Service可以通过bindService()

ContentProvider

Android系统中,数据在其中是私有的,数据包括数据文件,数据库文件。而应用是利用ContentProvider中提供的抽象接口来访问其它应用的数据,这样做的好处是其它的应用程序并不知道数据是利用文件还是数据库进行存储,以及不会直接暴露出数据,从而保证了数据的安全。下面列举一下ContentProvider的常用接口:

1.query(Uri,String,String[],String);通过关键字查询数据

2.InsertUri,Contentvalues;将一组数据插入到指定的地方

3.UpdateUri,Contentvalues,String,String)更新数据

4.Delete(Uri,String,String[]);删除指定的数据


更多相关文章

  1. Axis2与Android的Json(Gson)通信传数据
  2. Android的两种数据存储方式分析(一)
  3. Android获取应用程序的信息
  4. Android应用程序全屏显示的方法
  5. Android实现再按一次(返回键)实现退出(应用程序)
  6. android定时获取数据更新
  7. android activity之间传递bean类型数据
  8. Android解析聚合数据之天气预报API
  9. Android adb命令启动系统组件

随机推荐

  1. Android多个Activity
  2. Android(安卓)怎么把GMT+8.0转化为UTC时
  3. Android(安卓)横竖屏切换小结
  4. android 网络联接
  5. android studio 中引入第三方jar包(非源
  6. AndroidStudio快捷键整理--2
  7. Android: 启动init.rc 中service的权限问
  8. Android(安卓)浅析 EventBus (二) 原理
  9. android studio introduction No.3 hotke
  10. 报错:Could not find lint.jar (com.andro