[Android新手學習筆記10]-活動Activity實踐之啟動、銷燬、資料
阿新 • • 發佈:2019-02-05
1.BaseActivity
重寫onCreate()方法,新增下面程式碼,列印當前Activity名稱:
@Override
protectedvoid onCreate(@NullableBundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());
}
增加ActivityCollector,管理Activity,程式碼如下:
publicclassActivityCollector{
publicstaticList<
publicstaticvoid addActivity(Activity activity){
activities.add(activity);
}
publicstaticvoid removeActivity(Activity activity){
activities.remove(activity);
}
publicstaticvoid finishAll(){
for(Activity activity : activities){
if(!activity.isFinishing
activity.finish();
}
}
}
}
修改BaseActivity類,程式碼如下:
publicclassBaseActivityextendsAppCompatActivity{
@Override
protectedvoid onCreate(@NullableBundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());
ActivityCollector.addActivity(
}
@Override
protectedvoid onDestroy(){
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
2.繼承BaseActivity,新增actionStart()方法
publicclassSecondActivityextendsBaseActivity{
publicstaticvoid actionStart(Context context,String data1,String data2){
Intent intent =newIntent(context,SecondActivity.class);
intent.putExtra("param1", data1);
intent.putExtra("param2", data2);
context.startActivity(intent);
}
}
這樣寫的好處,啟動SecondActivity時,知道需要傳遞哪些引數,啟動程式碼如下:
SecondActivity.actionStart(FirstActivity.this,"data1","data2");