【已解决】 Android在启动页后无法跳转到其他页面

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.imooc.meet, PID: 29076
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.content.SharedPreferences.getBoolean(java.lang.String, boolean)' on a null object reference
at com.liuguilin.framework.utils.SpUtils.getBoolean(SpUtils.java:80)
at com.baostudy.baomeet.ui.IndexActivity.startMain(IndexActivity.java:61)
at com.baostudy.baomeet.ui.IndexActivity.access$000(IndexActivity.java:25)
at com.baostudy.baomeet.ui.IndexActivity$1.handleMessage(IndexActivity.java:41)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7551)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
80行空指针。这个东西为什么会空?不重要。
你现在阶段,重要是看懂报错信息。定位错误的代码在哪里。
public class SpUtils { private SharedPreferences sp; private SharedPreferences.Editor editor; /** * key - values 存储方式 * 它的存储路径:data/data/packageName/shared_prefs/sp_name.xml * <p> * File存储:/sdcard/ 读写方式不一样 * 数据库:LitePal * get/post:数据的读写 */ private volatile static SpUtils mInstance = null; private SpUtils() { } public static SpUtils getInstance() { if (mInstance == null) { synchronized (SpUtils.class) { if (mInstance == null) { mInstance = new SpUtils(); } } } return mInstance; } public void initSp(Context mContext) { /** * MODE_PRIVATE:只限于本应用读写 * MODE_WORLD_READABLE:支持其他应用读,但是不能写 * MODE_WORLD_WRITEABLE:其他应用可以写 */ sp = mContext.getSharedPreferences(BuildConfig.SP_NAME, Context.MODE_PRIVATE); editor = sp.edit(); } public void putInt(String key, int values) { editor.putInt(key, values); editor.commit(); } public int getInt(String key, int defValues) { return sp.getInt(key, defValues); } public void putString(String key, String values) { editor.putString(key, values); editor.commit(); } public String getString(String key, String defValues) { return sp.getString(key, defValues); } public void putBoolean(String key, boolean values) { editor.putBoolean(key, values); editor.commit(); } public boolean getBoolean(String key, boolean defValues) { return sp.getBoolean(key, defValues); } public void deleteKey(String key) { editor.remove(key); editor.commit(); } }空指针异常,在你的代码SpUtils.java第80行。
https://www.sunofbeach.net/a/1200314266318655488