DataAutoAccess
Android activity中自动存取bundle中的数据。
Usages
activity启动时取出intent中的数据;
activity由于系统内存不足时被杀死,在onSaveInstanceState方法里存储数据,onCreate时取出数据。
Use
BaseActivity中添加取出数据和存储数据代码:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//DataAutoAccessTool 取数据
Bundle data;
boolean isFromIntent = true;
data = getIntent().getExtras();
//判断数据源
if (data == null) {
data = savedInstanceState;
isFromIntent = false;
}
DataAutoAccessTool.getData(this, data, isFromIntent);
}
启动Activity时传入参数:
Intent intent = new Intent(this, TestActivity.class);
intent.putExtra("name", "DataAutoAccess");
intent.putExtra("description", "Android bundle data auto access.");
startActivity(intent);
给TestActivity中需要自动存储的变量添加注解:
@DataAutoAccess(dataName = "name")
private String name;
@DataAutoAccess(dataName = "description")
private String description;
经过以上配置之后,DataAutoAccessTool会自动从intent中取出数据,给name和description变量赋值,而且当activity由于系统内存不足被杀死时,也会自动保存变量值,在onCreate时取出进行自动赋值。是不是感觉到挺便捷!
Code
(责任编辑:好模板) |