android开发启动组件分析
android开发启动分析。
1、四种组件中的activity、服务和广播接收者都通过intent的异步消息进行启动,intent会在运行时去各个组件相互绑定(可以将intent视为其他组件请求操作的信使。)无论组件属于自己应用还是其他应用,都可以进行绑定。
2、intent使用intent对象创建,他定义的消息用于启动特定组件或者特定类型的组件,可以显式、隐式启动。
3、对于activity和服务,intent定义要执行的操作,并且可以指定要执行操作的数据的uri。例如:intent传达的请求可以启动一个显式图像或者打开也i按的activity。在某些情况下,可以启动activity来接受结果,在这种情况下,activity也会在intent中返回结果。比如:可以发起一个intent,让用户选取某位联系人并将其返回。
①intent intent = new intent(this, secondactivity.class); startactivity(intent) ②intent intent = new intent(this, secondactivity.class); startactivityforresult(intent,1);
4、对于广播,intent只会定义要广播的通知,比如:指示设备电量不足的广播指示包括“电量不足”的已知操作字符串。
5、intent不会启动content provider,content provider会称为content resolver的请求目标时启动,内容解析程序通过内容提供程序处理直接事务,使得通过提供程序执行事务的组件可以无需执行事务,而是该在content provider对象上调用方法,这使得在内容提供程序和请求信息的组件之间流出一个抽象层(确保安全)
6、启动方法
①通过intent传递到startactivity()或startactivityforresult()来启动activity(或者安排其他新任务)
②通过intent传递到startservice()来启动服务(对执行中的服务下达新指令)。也可以通过intent传递到bindservice()来绑定该服务
③通过intent传递到sendbroadcase()、sendorderedbroadcase()或sendstickybroadcase()等方法发起广播;
④通过contentresolver上调用query()来对内容提供程序执行查询。
上一篇: linux中ssh免密通信的实现
下一篇: 很多人的信仰是很复杂的