android - 把原来的所有代码放入新建项目后SharedPreferences报错
本文介绍了android - 把原来的所有代码放入新建项目后SharedPreferences报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
新建一个项目,包名与原来项目相同,再把原来所有项目复制过来,结果在getSharedPreferences中报错.代码如下
public static String getSharePreStr(String field) {
String FILE = MyApplication.instance().getResources().getString(R.string.app_dir);
SharedPreferences sp = (SharedPreferences) MyApplication.instance().getSharedPreferences(FILE, 0);
String s = sp.getString(field, "");
return s;
}
开始的时候判断是否有缓存,第一个错误是
Attempt to invoke virtual method 'android.content.res.Resources com.fenghua.traffic.MyApplication.getResources()' on a null object reference
于是我把String FILE = MyApplication.instance().getResources().getString(R.string.app_dir);
换成了String FILE = "XXX";
这句没错了,然后再次运行,报错
Attempt to invoke virtual method 'android.content.SharedPreferences com.fenghua.traffic.MyApplication.getSharedPreferences(java.lang.String, int)' on a null object reference
什么情况,求解,.代码是全部从原来复制过来的
解决方案
很明显是MyApplication.instance()这个为空啊,看看有没有初始化。
这篇关于android - 把原来的所有代码放入新建项目后SharedPreferences报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文