官方框架Android Architecture Compone

作者: space0o0 | 来源:发表于2017-12-05 23:25 被阅读151次

    本篇开始介绍Android的最新官方推荐框架

    第一个组件Lifecycle

    个人理解为功能A伴随着activity或fragment的生命周期来启动和停止

    1、添加google maven repository

    repositories {
            google()//google maven repository
            jcenter()
    }
    

    2、添加依赖

    implementation "android.arch.lifecycle:runtime:1.0.3" 
    annotationProcessor "android.arch.lifecycle:compiler:1.0.0" 
    implementation "android.arch.lifecycle:common-java8:1.0.0"
    

    3、创建一个功能A:MyObserver类,需要实现LifecycleObserver。
    这里定义一堆方法,使用注解的形式去关联相应的生命周期方法

    public class MyObserver implements LifecycleObserver {
    
        final String TAG = getClass().getSimpleName();
    
        @OnLifecycleEvent(Lifecycle.Event.ON_START)
        public void onStart() {
            Log.d(TAG, "onStart: ");
        }
    
        @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
        public void onCreate() {
            Log.d(TAG, "onCreate: ");
        }
    
    
        @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
        public void onResume() {
            Log.d(TAG, "onResume: ");
        }
    
        @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
        public void onPause() {
            Log.d(TAG, "onPause: ");
        }
    }
    

    4、在activity中绑定我们的功能A,需要实现LifecycleOwner

    public class LifeCycleActivity extends AppCompatActivity implements LifecycleOwner{
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_life_cycle);
    
            getLifecycle().addObserver(new MyObserver());
        }
    

    到此,我们的功能A就伴随着activity的生命周期了,当我们打开activity,功能A中关联的方法也相应激活了

    12-05 22:43:01.624 6618-6618/com.example.space.testas3 D/MyObserver: onCreate: 
    12-05 22:43:01.626 6618-6618/com.example.space.testas3 D/MyObserver: onStart: 
    12-05 22:43:01.626 6618-6618/com.example.space.testas3 D/MyObserver: onResume: 
    

    当我按home键

    12-05 22:45:01.067 6618-6618/com.example.space.testas3 D/MyObserver: onPause: 
    

    再打开app

    12-05 22:45:07.713 6618-6618/com.example.space.testas3 D/MyObserver: onStart: 
    12-05 22:45:07.713 6618-6618/com.example.space.testas3 D/MyObserver: onResume: 
    

    当我在看官方文档时

    QQ20171205-232200@2x.png

    他的demo中还需要实现LifecycleOwner的getLifecycle()方法,不过我看了最新的源码中SupportActivity类已经帮我们创建好了,所以我们只需getLifecycle去绑定相应的功能即可。

    QQ20171205-232408@2x.png

    相关文章

      网友评论

        本文标题:官方框架Android Architecture Compone

        本文链接:https://www.haomeiwen.com/subject/wlphixtx.html