WEB开发网
开发学院软件开发Java Android 应用程序基础(Application Fundamentals... 阅读

Android 应用程序基础(Application Fundamentals)

 2010-07-12 00:00:00 来源:WEB开发网   
核心提示: 无论何时一个请求都应该由一个特定的组件来处理,android系统来确保包含这个组件的应用进程运行,Android 应用程序基础(Application Fundamentals)(4),如果需要就启动它,如果需要就为这个组件创造一个实例,关于绑定service的更多详细的信息请查看远程调用,(3

无论何时一个请求都应该由一个特定的组件来处理,android系统来确保包含这个组件的应用进程运行,如果需要就启动它,如果需要就为这个组件创造一个实例,确保这个组件的一个适当的实例可以被得到。

2、    启动组件:intent

当有一个来自于content resolver的请求指向Content provider时,content provider启动,其他的三个组件(Activity,service,broadcast receiver)是通过一个叫做intent的异步的消息来启动的,一个intent持有一个message的内容,对Activity和service来说,他是一个被要求的动作(action)和在该动作上的数据的URI,对broadcast receiver来说,intent对象是一个被广播的动作。

针对每种组件分别有对应的方法来启动它:

(1)       一个Activity是通过传递一个Intent对象到Context.startActivity()或者Activity.startActivityForResult()来启动的(或者去做一些新的任务),被启动的这个Activity可以通过getIntent()来获得导致他启动的那个intent的。

(2)       一个service是通过传递一个Intent对象到Context.startService()来启动的(或者给一些新的命令给正在运行的service),android调用service的onStart()方法,并且把Intent对象传递给他,同样的,一个Intent可以传递到Context.bindService()方法里来建立一个介于正在运行的service和调用他的组件之间的连接,这个service通过onBind()方法来接收这个Intent对象,(如果这个service还没有运行,bindservice()能选择性的启动它),在后面的部分,关于绑定service的更多详细的信息请查看远程调用。

(3)       一个应用可以通过传递一个Intent对象给像Context.sendBroadcast(), Context.sendOrderedBroadcast(), Context.sendStickyBroadcast()这样的方法来开始一个广播,android通过调用对应的onReceive()方法将intent传递给所有对这个广播感兴趣的broadcast receiver。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Android 应用程序 基础

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接