2012-04-12 2 views
0

천천히 NullPointer 예외가 발생 그러나 확실하게 나는 모자 안드로이드 SDK를 업데이트 ...안드로이드 SDK 업데이트 (개정 18)

오늘은 개정 18 SDK 및 내 프로젝트 (업데이트가 완벽하게 작동하기 전에)를 NullPointer 예외를 throw를 업데이트 심지어 나는 이클립스에서 시작한다. 안드로이드 ADT와 이클립스를 사용하고 또한 SDK를 업데이트 한 후이 부분을 업데이트합니다. 나는 또한 결과없이 "Fix Project Properties"를 시도했다.

한편 내 프로젝트는 그만두기 시작했다. LogCat 메시지를 게시하기 만하면 누군가가 더 말할 필요가 있다면 그것을 게시 할 것이다. 그러나 나는 SDK를 업데이트 할 때마다 내 프로젝트가 신비한 오류 (리비전 17의 외부 lib 문제로 빠져 나간다 ...)를 던진다는 것에 실망했다.

누군가 나를 도울 수 있기를 바랍니다. 어쨌든 코드에 문제가 있다고 생각하지 않습니다. 그 뭔가 그들은 내가 모르는 곳으로 변경 :/

[업데이트]

내가 코드를 디버깅하는 몇 가지 여분의 시간을 얻을. 문제는 구성 자에서 발생합니다. 그것은이 (깜짝, 깜짝)과 같이 :

활동이 LoadSharedPrefrerences 방법으로 이동하려고 시도 후 예외가 발생
@Override 
public void onCreate(Bundle _savedInstanceState) 
{ /// Einstiegspunkt der Android App 
    super.onCreate(_savedInstanceState);  
    setContentView(R.layout.login); 
    LoadSharedPreferences(); 
} 

...

[업데이트 : 라인 주위 코드 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); 
... 

이 스 니펫은 앱이이 데이터를 기억할 수 있도록 사용자 이름과 비밀번호를 저장합니다. 따라서 로그온 할 때마다 글을 쓸 필요가 없습니다.

로그 캣 :

중 하나 : 하나 datagetSharedPreferences(_saveUserDataRef, MODE_PRIVATE);

또는 후 null입니다

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)=([email protected],-1,0,-1,0) 
04-12 12:09:47.686: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.696: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-1,0,-1,0) 
04-12 12:09:47.716: I/[POST_RESELECT](1094): [spanChange] (o, oldStart, newStart, oldEnd, newEnd)=([email protected],-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 
+0

코드를 여기에 게시하십시오. SEAnwesenheitslisteMainActivity.java:49 –

+0

약 10 페이지의 코드로 특별한 효과가있는 매우 큰 활동입니까? 의도 같은 곳이나 어딘가 에서처럼? – sandkasten

+0

SEAnwesenheitslisteMainActivity.java의 49 행이 문제를 일으키는 것 같습니다. 코드 스 니펫이 어떤 클래스에서 왔는지 표시하고 줄 번호를 표시 할 수 있습니까? –

답변

0

나는 라인은 라인 49이지만, 내 생각 엔 인 귀하의 게시물에서 말할 수 없다 tmpUsername 또는 tmpPassworddata에서 가져 오려 고 시도한 후에 null입니다.

그런 경우인지 알아볼 수 있습니까? 그렇다면 문제를 해결하기 위해 다음으로 어디를보아야하는지 알 수 있습니다.

+0

물론, 앱을 설치 한 후에 두 변수가 모두 채워지지 않고 두 변수 모두 'null'로 정의 된 기본 값을 사용한다. 하지만 리비전 18 이전에 (필자는 실제로 테스트했습니다!)'EditText'는 공백으로 남았습니다 (예상대로). 이제이 동작은 예외를 throw합니다. 왜 지금이 오류가 발생하는지 그리고 beginng이 아닌지 이해할 수는 없지만 ... 문제가 해결되었습니다 ... – sandkasten

+0

'null'을 빈 문자열로 바꾸십시오. "" "문제가 해결되었습니다. 시간 내 주셔서 감사합니다! 대답을이 편지로 받아 들일 것입니다. – sandkasten

+0

쿨, 고마워. 나는 고칠 수있어 기쁘다. 답변의 왼쪽에있는 체크를 클릭하여 답을 수락 할 수 있습니다. –