整理一下今天的收获(getSharePreferences的使用,解决在非onCreate方法中无法使用的情况)
2015-09-24 15:56
337 查看
简单的即时通讯,直接引用容联云的UI组件库就可以,有群组跟单聊功能,也可以自己更改库的内容,增加功能,总之做一些单聊是足够了,好了,说一下今天学到的东西
在使用SharedPreferences时会发现,如果类没有继承Activity,没有执行onCreate方法时,使用getSharePreferences()方法不能获取到SharedPreferences对象,这就会造成一个严重的问题,如何得到本地文件?例如一个登陆的tel,如果使用SQLite又显得繁琐了,用文件的形式保存更是大材小用。所以还是用SharedPreferences最为合适,那么如何在一个不继承Activity的类中得到本地文件呢?容联云UI库的Demo里其实给写了这个方法,只是没有使用。于是查看UI库的SDK一步步的查找,得到了方法。
在常量类中
public static String USERID = cCPreferences.getString("tel", "");
public static SharedPreferences getSharedPreferences() {
return BaseApplication.getInstance().getSharedPreferences(
Constants.WORK_TOKEN, Context.MODE_PRIVATE);
}
在继承Application的BaseAdapter类中
/**
* 单例,返回一个实例
*
* @return
*/
public static BaseApplication getInstance() {
if (instance == null) {
LogUtil.w("[ECApplication] instance is null.");
}
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
非常实用的一个功能!
在使用SharedPreferences时会发现,如果类没有继承Activity,没有执行onCreate方法时,使用getSharePreferences()方法不能获取到SharedPreferences对象,这就会造成一个严重的问题,如何得到本地文件?例如一个登陆的tel,如果使用SQLite又显得繁琐了,用文件的形式保存更是大材小用。所以还是用SharedPreferences最为合适,那么如何在一个不继承Activity的类中得到本地文件呢?容联云UI库的Demo里其实给写了这个方法,只是没有使用。于是查看UI库的SDK一步步的查找,得到了方法。
在常量类中
public static String USERID = cCPreferences.getString("tel", "");
public static SharedPreferences getSharedPreferences() {
return BaseApplication.getInstance().getSharedPreferences(
Constants.WORK_TOKEN, Context.MODE_PRIVATE);
}
在继承Application的BaseAdapter类中
/**
* 单例,返回一个实例
*
* @return
*/
public static BaseApplication getInstance() {
if (instance == null) {
LogUtil.w("[ECApplication] instance is null.");
}
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
非常实用的一个功能!
相关文章推荐
- 编译原理-正式和非正式的样式集
- JSApi分享
- 理解inode
- JavaScript:隐式原型
- angularJS内置指令一览
- 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
- js+css实现返回顶部功能
- 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
- 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
- js中substr,substring,indexOf,lastIndexOf的用法小结
- JS中通过方法名字符串调用方法
- JS基于面向对象实现的拖拽库实例
- Bootstrap之Carousel不能自动播放的解决办法,支持左右滑动手势
- react源码分析
- grunt合并压缩js,css文件
- placeholder样式写法
- angularJS中如何写控制器
- JavaScript:prototype原型
- Jquery中AJAX参数详细说明
- 理解angularJS中作用域$scope