(四次元新浪微博源代码学习笔记2)SharedPreferences
2014-05-23 15:19
197 查看
1,AccountActivity的oncreate里先执行了方法jumpToMainTimeLineActivity()
这里用到了
support.settinghelper包下边有两个类SettingUtility和SettingHelper。前者是设置工具类,上层调用SettingUtility来设置和取出ID、字体、主题等具体的类型,SettingUtility调用底层的SettingHelper来操作SharedPreferences数据库。
如读取数据:
SettingUtility
SettingHelper
写入数据
SettingUtility
第一次运行程序时,SharedPreferences里一开始没有数据,因此id为“”。
如果以后注册了账号,id有值的话,就会进入
从数据库(SQLlite)里根据账号取出数据,如果有数据就进入MainTimeLineActivity
这里以后再研究。
目前id为“”,这里跳过,将执行super.onCreate,进入AbstractAppActivity
private void jumpToMainTimeLineActivity() { String id = SettingUtility.getDefaultAccountId(); if (!TextUtils.isEmpty(id)) { AccountBean bean = AccountDBTask.getAccount(id); if (bean != null) { Intent start = MainTimeLineActivity.newIntent(bean); startActivity(start); finish(); } } }
这里用到了
SettingUtility.getDefaultAccountId()方法
support.settinghelper包下边有两个类SettingUtility和SettingHelper。前者是设置工具类,上层调用SettingUtility来设置和取出ID、字体、主题等具体的类型,SettingUtility调用底层的SettingHelper来操作SharedPreferences数据库。
如读取数据:
SettingUtility
public static String getDefaultAccountId() { return SettingHelper.getSharedPreferences(getContext(), "id", ""); }
SettingHelper
private static SharedPreferences sharedPreferences = null; public static String getSharedPreferences(Context paramContext, String paramString1, String paramString2) { return getSharedPreferencesObject(paramContext).getString(paramString1, paramString2); } private static SharedPreferences getSharedPreferencesObject(Context paramContext) { if (sharedPreferences == null) sharedPreferences = PreferenceManager.getDefaultSharedPreferences(paramContext); return sharedPreferences; }
写入数据
SettingUtility
public static void setDefaultAccountId(String id) { SettingHelper.setEditor(getContext(), "id", id); }SettingHelper
</pre><p><pre name="code" class="java"> public static void setEditor(Context paramContext, String paramString1, String paramString2) { getEditorObject(paramContext).putString(paramString1, paramString2).commit(); }//paramString1是键,paramString2是值。setEditor可根据不同的值类型(int,Boolean,String等)重载为不同方法 private static SharedPreferences.Editor getEditorObject(Context paramContext) { if (editor == null) editor = PreferenceManager.getDefaultSharedPreferences(paramContext).edit(); return editor; } private static SharedPreferences.Editor editor = null;
第一次运行程序时,SharedPreferences里一开始没有数据,因此id为“”。
如果以后注册了账号,id有值的话,就会进入
if (!TextUtils.isEmpty(id)) { AccountBean bean = AccountDBTask.getAccount(id); if (bean != null) { Intent start = MainTimeLineActivity.newIntent(bean); startActivity(start); finish(); } }
从数据库(SQLlite)里根据账号取出数据,如果有数据就进入MainTimeLineActivity
这里以后再研究。
目前id为“”,这里跳过,将执行super.onCreate,进入AbstractAppActivity
相关文章推荐
- (四次元新浪微博源代码学习笔记0)导入源代码
- (四次元新浪微博源代码学习笔记3)AbstractAppActivity
- (四次元新浪微博源代码学习笔记1)全局变量Application
- 【php源代码学习笔记】开始-搭建环境
- 数据连接部分通过测试源代码-----java学习笔记之4
- Mono源代码学习笔记:Console类(三)
- 新浪微博iOS版SDK框架学习笔记
- Hadoop学习笔记--3.Hadoop源代码eclipse编译教程
- ATL窗口类源代码学习笔记
- 【php源代码学习笔记】php的启动
- Mono源代码学习笔记:Console类(四)
- Mono源代码学习笔记:Console类(一)
- PHP实现源代码学习笔记
- ASP.NET MVC Preview 4 源代码学习笔记 FilterAttribute
- Mono源代码学习笔记:Console类(六)
- 自己对XML中XSL的学习笔记的源代码
- [原创]Ruby学习笔记(3)-给源代码加上行号
- Linux安全体系学习笔记之三:OpenSSL源代码分析(2)
- Buffalo 学习笔记- buffalo.js 源代码注释(一)
- 新浪微博iOS版SDK“宝玉XP”框架研究的 学习笔记