Android activity中自動存取bundle中的數(shù)據(jù)

DataAutoAccess

自動存取Android Bundle中數(shù)據(jù)——給需要自動存取的變量添加注解,編譯時會通過注解處理自動生成存取的代碼

Usages

  1. Activity啟動時自動取出Intent中的數(shù)據(jù),并賦值給相應(yīng)的field
  2. Activity由于系統(tǒng)內(nèi)存不足將要被殺死時,在onSaveInstanceState方法里存儲數(shù)據(jù),Activity重啟時在onCreate中取出數(shù)據(jù)并賦值給相應(yīng)的field

Use

public class ExampleActivity extends Activity{ 
  @AutoAccess String name; 
  @AutoAccess String description; 

  @Override protected void onCreate(@Nullable Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); 
    //get data 
    Bundle data; 
    data = getIntent().getExtras(); 
    //judge data source 
    if (data == null) { 
      data = savedInstanceState; 
    } 
    DataAutoAccess.getData(this, data); 
    //TODO use fields... 
  } 

  @Override protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState); 
    //save data 
    DataAutoAccess.saveData(this, outState); 
  }
}

Intent傳參形式:

Intent intent = new Intent(this, TestActivity.class);
intent.putExtra("name", "DataAutoAccess");
intent.putExtra("description", "Android bundle data auto access.");
startActivity(intent);

經(jīng)過以上配置之后,DataAutoAccess會自動從intent中取出數(shù)據(jù),給name和description變量賦值,而且當(dāng)activity由于系統(tǒng)內(nèi)存不足被殺死時,也會自動保存變量值,在onCreate時取出進(jìn)行自動賦值。是不是感覺到挺Cool!

Code

Github DataAutoAccess

歡迎大家評論,喜歡的就去github上star吧 O(∩_∩)O

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容