Android组件交互相关应用介绍


  本文标签:Android组件交互

  我们曾经在相关文章中对Android系统中的组件进行了详细的介绍,相信一直关注我们51CTO的编程爱好者们会对这方面的知识有一个充分的掌握  。那么下面将要为大家带来的则是Android组件交互的相关方式  。

  Android应用中,由一些基本元素构成,但如何交互呢?

  1. Activity->Activity: 

  Activity之间通过Intent进行交互,可以通过直接类名直接跳转,也可以通过Intent Filter进行匹配分析,然后找到对应的Activity进行切换,这是一种松散的藕合  。

  1. Internal Activity: 

  在Activity 内部,View,Button 等UI组件通过设定Listener对UI事件进行监听处理  。

  1. Progress->Progress: 

  可以采用Braodcast Intent的方式进行与目标组件进行交互,也可以用一般的Intent  。比如 Activity 调另一个Activity ,可以使用startActivity (new Intent(xx.this, yyy.class);方式  。

  1. Any -> BroadcastReceiver 

  由发起者发送一个PendingIntent, BroadcastReceiver的onReceive(Context context, Intent intent)被调用

  1. Any-> ContentProvider 

  调用者使用 getContentResolver()方式取得 AndroidManifest.xml中配置的 ContentProvider 然后通过URi方式对其中的目标进行操作

  1. Intent intent = getIntent();   
  2. if (intent.getData() == null) intent.setData(CONTENT_URI);   
  3. Cursor cur = getContentResolver().query(getIntent().getData(),   
  4. PROJECTION, null, null, null);   
  5. Any-> Service 

  由发起者 context.startService(new Intent(context, XXX.class))这种方式可以调用,也可以对 注册过的服务采用服务名称的调用方式  。

  程序由生到死:

  选中程序文件映像,起动模块起动进程,并发送Intent到这个进程,这个进程通过Intent Filter匹配到一个Activity, 运行这个Activity的onCreate.当用户中止程序,或者由Android程序管理器由于内存等原理,按该进程优先级别,Kill掉该进程  。