2014-05-14 5 views
-1

프로젝트 작업 중이며 통화 기록을 읽고 파일에 기록하여 서버로 보내려고합니다. 별도의 프로젝트에서 잘 작동하는 통화 기록을 읽는 데 필요한 코드입니다. 그러나 원래 프로젝트와 코드를 통합 할 때 NullPointerException이 발생합니다. 모든 사용 권한이 확인됩니다. 17 : 14.107 : E/AndroidRuntime (20,715) FATAL EXCEPTION : 메인 05-15 16 : 17 : 14.107 : E/AndroidRuntime 여기서 로그 캣이 오류를 05-15 16 도시ManagedQuery로 인해 nullpointerexception이 발생했습니다.

BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
       buf.append("Testing "); 
       buf.newLine(); 
       sb = new StringBuffer(); 
       Uri str = CallLog.Calls.CONTENT_URI; 
       str.toString(); 
       Log.e("TAG", str.toString()); 


        @SuppressWarnings("deprecation") 
      Cursor managedCursor =managedQuery(CallLog.Calls.CONTENT_URI, null, 
          null, null, null); 
       Log.e("TAG", "in while " + ++i); 
       int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER); 
       int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE); 
       int date = managedCursor.getColumnIndex(CallLog.Calls.DATE); 
       int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION); 
       sb.append("Call Details :"); 

내 코드 (20715) : java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {com.example.atu_proto/com.example.atu_proto.MenuList} : java.lang.NullPointerException

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2313)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2365)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.app.ActivityThread. 액세스 $ 600 (ActivityThread.java:156)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344)에서

05/15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.os.Handler.dispatchMessage (Handler.java:99)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.os.Looper.loop (Looper.ja) VA 153)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) android.app.ActivityThread.main (ActivityThread.java:5336)에서

05-15 16시 17분 : 14.107 : E/AndroidRuntime (20715) : java.lang.reflect.Method.invokeNative (기본 메소드)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : java.lang.reflect. Method.invoke (Method.java:511)

05-15 16 : 17 : 14.107 : 전자 메일 AndroidTool :)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:600)에서

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : 17 : 14.107 : E/AndroidRuntime (20,715)에 의해 발생 : java.lang.NullPointerException이

dalvik.system.NativeStart.main (원시 메소드)

05-15 16

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) android.content.ContextWrapper.getContentResolver (ContextWrapper.java:99)에서

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) : droid.app.Activity.managedQuery (Activity.java:1751)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715)에 com.example.atu_proto.CallLogsRetrieve.getCallDetails (CallLogsRetrieve.java:89)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : com.example.atu_proto.MenuList.onCreate (MenuList.자바 78)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) android.app.Activity.performCreate (Activity.java:5122)

16시 17분 05-15에서 : 14.107 : E/AndroidRuntime (20715) : android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1081)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.app.ActivityThread .performLaunchActivity (ActivityThread.java:2277) 05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715) ... (11)보다

+0

Logcat을 첨부 할 수 있습니다. –

+0

예외가 발생하는 경우 질문에 항상 logcat을 포함하십시오. –

+0

logcat 출력을 첨부했습니다. 이것을 확인하십시오. – theanis46

답변

0

05-15 16 : 1 7 : 14.107 : E/AndroidRuntime (20715) : 원인 : java.lang.NullPointerException

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : android.content.ContextWrapper.getContentResolver (ContextWrapper. 자바 99)

...

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20,715)에 com.example.atu_proto.CallLogsRetrieve.getCallDetails (CallLogsRetrieve.java:89)

05-15 16 : 17 : 14.107 : E/AndroidRuntime (20715) : com.example.atu_proto.MenuList.onCreate (MenuList.java:78)

이것은 MenuList 활동에서 다른 활동을 호출하고 있음을 나타내며 new이라는 다른 활동을 생성 할 가능성이 높습니다.

new으로 활동을 인스턴스화하지 마십시오.

이 경우 CallLogsRetrieve은 활동이 아니어야하며이를 필요로하는 메소드에 대한 인수로 Activity 참조를 전달할 수 있습니다.

+0

Thanx alot ... laalto .. :) :) 당신의지도가 제 일을했습니다. :) 나는 활동을 제거하고 이전 활동의 refrence를 통과하고 나의 일을 위해 일했다 : 고맙습니다 :) – theanis46