11#DataAutoAccess
2- Android bundle data auto access
3- ##Usages
4- 1 . activity启动时取出intent中的数据;
5- 2 . activity由于系统内存不足时被杀死,在onSaveInstanceState方法里存储数据,onCreate时取出数据。
2+ 自动存取Android Bundle中数据——给需要自动存取的变量添加注解,编译时会通过注解处理自动生成存取的代码
63
7- ##Use
8- BaseActivity中添加取出数据和存储数据代码:
4+ * Activity启动时自动取出Intent中的数据,并赋值给相应的field
5+ * Activity由于系统内存不足将要被杀死时,在onSaveInstanceState方法里存储数据,Activity重启时在onCreate中取出数据并赋值给相应的field
6+
7+ ``` java
8+ public class ExampleActivity extends Activity {
9+ @AutoAccess (dataName = " name" )
10+ String name;
11+ @AutoAccess (dataName = " description" )
12+ String description;
913
1014 @Override
1115 protected void onCreate (@Nullable Bundle savedInstanceState ) {
1216 super . onCreate(savedInstanceState);
13-
1417 // get data
1518 Bundle data;
1619 data = getIntent(). getExtras();
@@ -19,30 +22,26 @@ BaseActivity中添加取出数据和存储数据代码:
1922 data = savedInstanceState;
2023 }
2124 DataAutoAccess . getData(this , data);
25+ // TODO use fields...
2226 }
23-
27+
2428 @Override
2529 protected void onSaveInstanceState (Bundle outState ) {
2630 super . onSaveInstanceState(outState);
2731 // save data
2832 DataAutoAccess . saveData(this , outState);
2933 }
34+ }
35+ ```
3036
31- 启动Activity时传入参数:
32-
33- Intent intent = new Intent(this, TestActivity.class);
34- intent.putExtra("name", "DataAutoAccess");
35- intent.putExtra("description", "Android bundle data auto access.");
36- startActivity(intent);
37-
38- 给ExampleActivity中需要自动存储的变量添加注解:
39-
40- @AutoAccess(dataName = "name")
41- private String name;
42- @AutoAccess(dataName = "description")
43- private String description;
44-
45- 经过以上配置之后,DataAutoAccess会自动从intent中取出数据,给name和description变量赋值,而且当activity由于系统内存不足被杀死时,也会自动保存变量值,在onCreate时取出进行赋值。
37+ Intent传参形式:
38+ ``` java
39+ Intent intent = new Intent (this , ExampleActivity . class);
40+ intent. putExtra(" name" , " DataAutoAccess" );
41+ intent. putExtra(" description" , " Android bundle data auto access." );
42+ startActivity(intent);
43+ ```
44+ 经过以上配置之后,DataAutoAccess会自动从intent中取出数据,给name和description变量赋值,而且当activity由于系统内存不足将要被杀死时,也会自动保存变量值,在onCreate时取出进行赋值。
4645
4746
4847##Download
0 commit comments