android实训之四大组件

    怀着疲惫的心情,进入四大组件的笔记整理。  众所周知,四大组件再很早很早以前就听烂了,但是一直没有进行具体的学习和整理。  趁着这个实训的机会,期望能够将这块知识点吃下去。

    著名的四大组件是指:  Activity,Service,ContentProvider,BroadCastReceiver

1.Activity活动

    一个Activity代表一个屏幕。

   它具有自己的生命周期。 具体的的周期就懒得看了。  我想说明的是,这些生命周秋就像多个入口,又硬件产生的系统中断实现。

    它需要在AndroidManifest.xml进行注册。

     AppCompatActivity 与  Activity都可以,效果相同。  AppCompatActivity提供了一些新的东西。

     启动Activity的几种方式:  

                  startActivity(new Intent());

                  startActivity(new Intent().setComponent());

                  startActivity(new Intent("android.intent.action.MAIN").setClassName());

                  通过设置<intent-filter>的action:name </>接收过滤。之后 startActivity(new Intent().setAction());

                  系统提供了一些常用的Actiity.

     Activity间的交互方式:

                  startActivityForResult();

                  onActivityResult();

                  Bundle传递数据。  (它有大小限制,<0.5MB)

    设置全屏的方法: 

                 getActionBar.hide();

                 requestWindowFeature(Window.FEATURE_NO_TITLE);

                 再需要设置全屏的Activity标签内设置 theme= @android:style/Theme.NoTitleBar.FullScreen.

      Activity,Window,View的关系:

               内容已经脱离了理解范畴,直接复制一些重要的观点:

   android实训之四大组件

android实训之四大组件

android实训之四大组件

android实训之四大组件

android实训之四大组件

android实训之四大组件

        菜鸟地址: 这里

组件之Service,服务:

        具有生命周期。换言之,他能够对中断做出响应

        它跟线程概念类似,因此它与视图,或者说 模型不再同一个抽象层面。

        他没有视图渲染的功能。

        创建的方式:

                 startService();方法

                 bindService()方法。

        需要在AndroidManifest.xml中注册

        activity 与 service的绑定通过onbind()方法。

        IntentService是继承于service 并处理异步请求的一个类,可以处理耗时操作。

android实训之四大组件

android实训之四大组件

  AIDL: android interface definition language.

组件之BroadcastReceiver,广播接收者

    广播类型:

              标准型:完全异步执行的广播,所有的广播接收器几乎在同一个时刻接收到

              顺序型: 同步执行的广播,同一时间只有一个广播能收到。

    广播接收器注册:

               静态: 在AndroidManifest中指定<IntentReceiver>可让程序在未启动的情况下接收到广播

               动态: 指定IntentFilter,添加相应的Action,它必需在程序启动时才能接收到广播。

        android实训之四大组件

        发送广播,sendBroadCast(),由 activity提供。

        默认系统已经提供了很多的广播。

组件之ContentProvider,内容提供器

        适用场景:

                     想在我们应用中访问别的应用

                     想将自己应用的一些信息暴露给其它应用。

      android实训之四大组件

android实训之四大组件

   需要在AndroidManifest中通过<provider> 进行注册。

   系统已提供了相当部分的Content