2个activity 之间的数据传递除了可以他通过intent来传递,还可以使用SharedPreferences来共享数据的方式.
在A中设置
Java代码
- Editor sharedata = getSharedPreferences("data", 0).edit();
- sharedata.putString("item","hello getSharedPreferences");
- sharedata.commit();
B中获取
- SharedPreferences sharedata = getSharedPreferences("data", 0);
- String data = sharedata.getString("item", null);
- Log.v("cola","data="+data);
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下.
数据读取
- String PREFS_NAME = "Note.sample.roiding.com";
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- boolean silent = settings.getBoolean("silentMode", false);
- String hello = settings.getString("hello", "Hi");
haredPreferences settings = getSharedPreferences(PREFS_NAME, 0);
通过名称,得到一个SharedPreferences.
boolean
silent = settings.getBoolean(”silentMode”, false);
用Preferences的好处:可以提供一个缺省值。也就是说如果Preference中不存在这个值的话,那么就用后面的值作为返回指,这样就省去了我们的if什么什么为空的判断。
数据写入
别忘了最后的commit();
目前此类不支持多线程,