0

慢慢地,但我肯定会更新 android SDK...</p>

今天我将 SDK 更新到版本 18 并且我的项目(在更新完美运行之前)即使我只是从 Eclipse 启动它也会引发 NullPointer 异常。我正在使用带有 android ADT 的 eclipse,并且在更新 SDK 后也更新了这部分。我还尝试了“修复项目属性”,但没有结果。

与此同时,我的项目很大,所以一开始我只是发布 LogCat 消息,如果有人需要更多就说出来,我会发布它。但我真的很失望,每次我更新 SDK 时,我的项目都会抛出一些新的、神秘的错误(遇到修订版 17 的外部库问题……)。

希望有人可以帮助我!无论如何,我认为这不是代码的问题。他们在我不知道的地方改变了一些东西:/

[更新]

我有一些额外的时间来调试代码。问题出现在构造函数中。它看起来像这样(惊喜,惊喜):

@Override
public void onCreate(Bundle _savedInstanceState) 
{   /// Einstiegspunkt der Android App
    super.onCreate(_savedInstanceState);       
    setContentView(R.layout.login);
    LoadSharedPreferences();
}

在活动尝试转到 LoadSharedPrefrences 方法后引发异常...

[更新:第 49 行代码]

...
SharedPreferences data = getSharedPreferences(_saveUserDataRef, MODE_PRIVATE);
String tmpUsername = data.getString("username", null);
String tmpPassword = data.getString("password", null);
username.setText(tmpUsername);
password.setText(tmpPassword);
...

如果您希望应用程序为您记住这些数据,此代码段会保存用户名和密码。所以你不需要每次登录都写。

日志猫:

04-12 12:09:47.615: D/dalvikvm(1094): GC_EXTERNAL_ALLOC freed 47K, 48% free 2835K/5379K, external 0K/0K, paused 78ms
04-12 12:09:47.686: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$START@401462d0,-1,0,-1,0)
04-12 12:09:47.686: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$END@4011b730,-1,0,-1,0)
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$START@401462d0,-1,0,-1,0)
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$END@4011b730,-1,0,-1,0)
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$START@401462d0,-1,0,-1,0)
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$END@4011b730,-1,0,-1,0)
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$START@401462d0,-1,0,-1,0)
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$END@4011b730,-1,0,-1,0)
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$START@401462d0,-1,0,-1,0)
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$END@4011b730,-1,0,-1,0)
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$START@401462d0,-1,0,-1,0)
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=(android.text.Selection$END@4011b730,-1,0,-1,0)
04-12 12:09:47.716: D/AndroidRuntime(1094): Shutting down VM
04-12 12:09:47.716: W/dalvikvm(1094): threadid=1: thread exiting with uncaught exception (group=0x400205a0)
04-12 12:09:47.726: E/AndroidRuntime(1094): FATAL EXCEPTION: main
04-12 12:09:47.726: E/AndroidRuntime(1094): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.tzm.seanwesenheitsliste/de.tzm.seanwesenheitsliste.SEAnwesenheitslisteMainActivity}: java.lang.NullPointerException
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1830)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.ActivityThread.access$1500(ActivityThread.java:132)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.os.Looper.loop(Looper.java:150)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.ActivityThread.main(ActivityThread.java:4277)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at java.lang.reflect.Method.invokeNative(Native Method)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at java.lang.reflect.Method.invoke(Method.java:507)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at dalvik.system.NativeStart.main(Native Method)
04-12 12:09:47.726: E/AndroidRuntime(1094): Caused by: java.lang.NullPointerException
04-12 12:09:47.726: E/AndroidRuntime(1094):     at de.tzm.seanwesenheitsliste.SEAnwesenheitslisteMainActivity.LoadSharedPreferences(SEAnwesenheitslisteMainActivity.java:49)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at de.tzm.seanwesenheitsliste.SEAnwesenheitslisteMainActivity.onCreate(SEAnwesenheitslisteMainActivity.java:32)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
04-12 12:09:47.726: E/AndroidRuntime(1094):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)
04-12 12:09:47.726: E/AndroidRuntime(1094):     ... 11 more
4

1 回答 1

0

我无法从您的帖子中看出哪一行是第 49 行,但我的猜测是:

要么:datanull之后getSharedPreferences(_saveUserDataRef, MODE_PRIVATE);

or:其中一个tmpUsernameortmpPasswordnull在试图从中获取它们之后data

你能试试看是不是这样吗?如果是这样,您将知道下一步该去哪里解决问题。

于 2012-04-12T11:46:43.293 回答