<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      Jetpack架構組件(二)Lifecycle使用

      1.直接添加如下依賴就可以滿足日常的工作,如果缺少哪個庫,再去單獨添加就好了

      implementation "android.arch.lifecycle:extensions:1.1.1"

      添加這一句代碼就依賴了如下的庫。
      eXj6eJ.png

      2.先不談Activity和Fragment中如何使用,先舉一個Lifecycle的簡單例子。

       1 ackage com.example.lifecycledemo1;
       2 
       3 import android.arch.lifecycle.Lifecycle;
       4 import android.arch.lifecycle.LifecycleObserver;
       5 import android.arch.lifecycle.OnLifecycleEvent;
       6 import android.support.v7.app.AppCompatActivity;
       7 import android.os.Bundle;
       8 import android.util.Log;
       9 
      10 public class MainActivity extends AppCompatActivity {
      11 
      12     private static final String TAG = "MainActivity";
      13 
      14     @Override
      15     protected void onCreate(Bundle savedInstanceState) {
      16         super.onCreate(savedInstanceState);
      17         setContentView(R.layout.activity_main);
      18         getLifecycle().addObserver(new MyObserver());//1
      19     }
      20 
      21     public class MyObserver implements LifecycleObserver{
      22 
      23         @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
      24         void onResume(){
      25             Log.d(TAG, "Lifecycle call onResume");
      26         }
      27         @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
      28         void onPause(){
      29             Log.d(TAG, "Lifecycle call onPause");
      30         }
      31     }
      32 
      33     @Override
      34     protected void onResume() {
      35         super.onResume();
      36         Log.d(TAG, "onResume");
      37     }
      38 
      39     @Override
      40     protected void onPause() {
      41         super.onPause();
      42         Log.d(TAG, "onPause");
      43 
      44     }
      45 }

      先實現MyObserver,對ON_CREATE和ON_RESUME事件進行監聽。因為在Android Support Library 26.1.0 及其之后的版本,Activity和Fragment已經默認實現了LifecycleOwner接口,所以在注釋1處可以直接使用getLifecycle方法獲取Lifecycle對象,這樣MyObserver就可以觀察MainActivity的生命周期變化了,LifecycleOwner可以理解為被觀察者,MainActivity默認實現了LifecycleOwner接口,也就是說MainActivity是被觀察者。
      運行程序,打印的log如下所示。

      D/MainActivity: onResume
      D/MainActivity: Lifecycle call onResume
      D/MainActivity: Lifecycle call onPause
      D/MainActivity: onPause
      

      3.MVP的例子

       1 public class MyPresenter implements IPresenter {
       2     private static final String TAG = "test";
       3 
       4     @Override
       5     public void onResume() {
       6         Log.d(TAG, "Lifecycle call onResume");
       7     }
       8 
       9     @Override
      10     public void onPause() {
      11         Log.d(TAG, "Lifecycle call onPause");
      12     }
      13 }
      14 
      15 interface IPresenter extends LifecycleObserver {
      16 
      17     @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
      18     void onResume();
      19 
      20     @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
      21     void onPause();
      22 }

      IPresenter接口繼承自LifecycleObserver接口,MyPresenter又實現了IPresenter接口,這樣MyPresenter成為了一個觀察者。
      接在在MainActivity中加入MyPresenter:

       1 public class MainActivity extends AppCompatActivity {
       2 
       3     private static final String TAG = "test";
       4     private IPresenter mPresenter;
       5     @Override
       6     protected void onCreate(Bundle savedInstanceState) {
       7         super.onCreate(savedInstanceState);
       8         setContentView(R.layout.activity_main);
       9         mPresenter = new MyPresenter();
      10         getLifecycle().addObserver(mPresenter);
      11     }
      12 
      13     @Override
      14     protected void onResume() {
      15         super.onResume();
      16         Log.d(TAG, "onResume");
      17     }
      18 
      19     @Override
      20     protected void onPause() {
      21         super.onPause();
      22         Log.d(TAG, "onPause");
      23 
      24     }
      25 }

      MainActivity成為了被觀察者,當它的生命周期發生變化時,MyPresenter就可以觀察到,這樣就不需要在MainActivity的多個生命周期方法中調用MyPresenter的方法了。
      打印的日志如下:

      D/test: onResume
      D/test: Lifecycle call onResume
      D/test: Lifecycle call onPause
      D/test: onPause
      

        

       

        

      posted on 2019-10-02 16:46  安卓筆記俠  閱讀(1023)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产精品九九九一区二区| 亚洲av日韩av一区久久| 免费看的一级黄色片永久| 人妻系列无码专区免费| 国产女人在线视频| 狠狠色综合久久狠狠色综合| 日本又色又爽又黄的a片吻戏| 亚洲欧美日韩成人综合一区| 亚洲熟妇少妇任你躁在线观看无码| 精品国产乱一区二区三区| 四虎成人精品在永久免费| 亚洲日本高清一区二区三区| 国产精品白丝久久AV网站| 亚洲日韩一区二区| 色爱综合激情五月激情| 国产老熟女一区二区三区| 全球成人中文在线| 日本夜爽爽一区二区三区| 91午夜福利在线观看精品| 久久这里只有精品免费首页| 国产精品亚洲av三区色| 亚洲狠狠狠一区二区三区| 国产视频一区二区三区四区视频| 亚洲aⅴ无码专区在线观看q| 中文字幕国产精品一区二| 人人澡人人透人人爽| 免费看成人欧美片爱潮app| 视频一区二区三区高清在线| 亚洲一本大道在线| 长腿校花无力呻吟娇喘| 欧洲一区二区中文字幕| 久久人与动人物a级毛片| 国产精品亚洲二区在线播放| 亚洲一区国色天香| 国产不卡一区二区四区| 亚洲精品中文字幕码专区| 鲁丝片一区二区三区免费| 亚洲人成人伊人成综合网无码| 亚洲av无一区二区三区| 中文字幕一卡二卡三卡| 国产精品视频露脸|