2012-08-22 9 views
2

모든 패키지에 대해 동일한 접두사를 가진 여러 패키지를 사용하는 일식 프로젝트가 있습니다. 여기 구조의 스크린 샷입니다!안드로이드 다중 패키지 문제

Eclipse IDE screenshot

문제는 내가 응용 프로그램을 실행할 때이 오류 메시지가 있다는 것입니다 :

활동 ComponentInfo {com.td.bookshelf/com.td.bookshelf.SplashActivity을 시작할 수 없습니다 } : java.lang.NullPointerException

모든 패키지를 수동으로 추가하고 다른 프로젝트의 클래스 파일을 복사했습니다. 그래서 나는 프로젝트를 지었고 일식을 헛되이 다시 시작했다.

오류를 제거하는 데 도움을주십시오. 오류가 패키지 구조에서 오는 하지처럼

08-22 13:43:07.367: E/AndroidRuntime(4900): FATAL EXCEPTION: main 
08-22 13:43:07.367: E/AndroidRuntime(4900): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.td.bookshelf/com.td.bookshelf.SplashActivity}: java.lang.NullPointerException 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.os.Looper.loop(Looper.java:123) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.ActivityThread.main(ActivityThread.java:3687) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at dalvik.system.NativeStart.main(Native Method) 
08-22 13:43:07.367: E/AndroidRuntime(4900): Caused by: java.lang.NullPointerException 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at com.td.bookshelf.SplashActivity.onCreate(SplashActivity.java:56) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
08-22 13:43:07.367: E/AndroidRuntime(4900):  ... 11 more 
+0

전체 스택 추적을 제공 할 수 있습니까? 귀하의 패키지 구조에서 문제가 발생 했습니까? –

+1

SplashActivity.java:56 라인에 무엇이 있습니까? –

+0

나는 프로젝트 나 패키지 구조에 새 클래스 파일이 추가되었는지 여부를 모른다. 어쨌든 나는 프로젝트에서 오류가 없다. –

답변

1

는 것 같습니다.

는 스택 추적에서 당신은 읽을 수 있습니다 다음 SplashActivity의 onCreate 메서드를 호출 할 때 당신은 NullPointerException을 받고있어

E/AndroidRuntime(4900): Caused by: java.lang.NullPointerException 
E/AndroidRuntime(4900):  at com.td.bookshelf.SplashActivity.onCreate(SplashActivity.java:56) 

.

onCreate 방법에 문제가있을 수 있습니다.

+0

문자열 파일에 = TDApplication.getAppContext() getFilesDir() \t \t \t \t .getAbsolutePath() \t \t \t \t + "/bookinfo.gmms을"com.td.bookshelf.SplashActivity를 넣어 경우, \t \t bookinfo = 새 파일 (파일); 이 코드는 56 줄에 있습니다.하지만 코드 문제를 설명 할 수 있습니다. 때문에 하나의 패키지와 함께 동일한 코드로 작업했을 때 좋았습니다. –

+0

TDApplication이란 무엇입니까? 초기화 된 위치는 어디입니까? –

+0

TDApplication은 스크린 샷에서 볼 수있는 것과 동일한 패키지에서 제공됩니다. 내용은 다음과 같습니다. public class TDApplication extends Application { \t private static 컨텍스트 컨텍스트; \t @Override \t 공개 무효에서 onCreate() { \t \t super.onCreate(); \t \t TDApplication.context = getApplicationContext(); \t} \t 공공 정적 콘텍스트 getAppContext() { \t \t 복귀 TDApplication.context; \t} } –