美文网首页Android开发经验谈Android知识Android开发
Android activity中自动存取bundle中的数据

Android activity中自动存取bundle中的数据

作者: 30度的射线 | 来源:发表于2016-09-02 18:04 被阅读0次

    DataAutoAccess

    自动存取Android Bundle中数据——给需要自动存取的变量添加注解,编译时会通过注解处理自动生成存取的代码

    Usages

    1. Activity启动时自动取出Intent中的数据,并赋值给相应的field
    2. Activity由于系统内存不足将要被杀死时,在onSaveInstanceState方法里存储数据,Activity重启时在onCreate中取出数据并赋值给相应的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);
    

    经过以上配置之后,DataAutoAccess会自动从intent中取出数据,给name和description变量赋值,而且当activity由于系统内存不足被杀死时,也会自动保存变量值,在onCreate时取出进行自动赋值。是不是感觉到挺Cool!

    Code

    Github DataAutoAccess

    欢迎大家评论,喜欢的就去github上star吧 O(∩_∩)O

    相关文章

      网友评论

        本文标题:Android activity中自动存取bundle中的数据

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