• Android 程序组件交互分析


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

    Activity->Activity:

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

    Internal Activity:

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

    Progress->Progress:

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

     Any -> BroadcastReceiver
        由发起者发送一个PendingIntent, BroadcastReceiver的onReceive(Context context, Intent intent)被调用
    Any-> ContentProvider
        调用者使用 getContentResolver()方式取得 AndroidManifest.xml中配置的 ContentProvider 然后通过URi方式对其中的目标进行操作
        Intent intent = getIntent();
               if (intent.getData() == null)  intent.setData(CONTENT_URI);
                  Cursor cur = getContentResolver().query(getIntent().getData(), 
                  PROJECTION, null, null, null);


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

    程序由生到死:

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

  • 相关阅读:
    根据snort规则写openvas nasl 攻击 脚本
    snort规则中tcp/udp端口的具体作用
    snort规则头解析
    正则匹配中的特殊案例
    snort 规则 byte_test 不同运算符命中条件
    Linux中tar命令的一些用法
    Thymeleaf传递url参数
    PO BO VO DTO POJO DAO DO 令人迷惑的Java概念
    linux中多个命令连接符— ; && || ()
    遇见了count(1)这种写法,什么意思?
  • 原文地址:https://www.cnblogs.com/windwithlife/p/1525449.html
Copyright © 2020-2023  润新知