2012-02-27 18 views
0

私はこの質問をもう一度聞いていることを知っていますが、私はSOや他のウェブサイトでいくつかの解決策を試みましたが、救助しませんでした。 DDMSビューでデータベースが作成されても、データベースの読み込み可能なインスタンスを取得しようとしているときに、NULLポインタの例外が発生しています。getReadableDatabase中のヌルポインタ例外

02-28 01:28:56.585: ERROR/NewContactTrackService(285): Adding to instant upload database contact id 21 
02-28 01:28:56.595: ERROR/NewContactTrackService(285): Added to instant upload database contact id 21 
02-28 01:28:56.615: ERROR/Net UNAVAILABLE details stored in buffer(285): Sd 
02-28 01:28:58.186: ERROR/NetworkReceiver(285): onReceive: connected, starting UpdaterService 
02-28 01:28:58.186: ERROR/NewContactTrackService(285): UPDATE CALLED 
02-28 01:28:58.186: ERROR/NewContactTrackService(285): INSIDE IF 
02-28 01:28:58.186: ERROR/NewContactTrackService(285): qqqqqqqqqqqqqqqqqqqqqqqqq 
02-28 01:28:58.195: ERROR/AndroidRuntime(285): Uncaught handler: thread main exiting due to uncaught exception 
02-28 01:28:58.245: ERROR/AndroidRuntime(285): java.lang.RuntimeException: Unable to start receiver com.gooogle.omcsa.NetworkReceiver: java.lang.NullPointerException 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.app.ActivityThread.handleReceiver(ActivityThread.java:2646) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.app.ActivityThread.access$3100(ActivityThread.java:119) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.os.Looper.loop(Looper.java:123) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at java.lang.reflect.Method.invoke(Method.java:521) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at dalvik.system.NativeStart.main(Native Method) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285): Caused by: java.lang.NullPointerException 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:158) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at com.gooogle.omcsa.NewContactTrackService.update(NewContactTrackService.java:185) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at com.gooogle.omcsa.NetworkReceiver.onReceive(NetworkReceiver.java:21) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  at android.app.ActivityThread.handleReceiver(ActivityThread.java:2637) 
02-28 01:28:58.245: ERROR/AndroidRuntime(285):  ... 10 more 
02-28 01:28:58.275: ERROR/dalvikvm(285): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 
02-28 01:28:59.635: ERROR/ActivityThread(52): Failed to find provider info for android.server.checkin 

ネットワーク受信機

public class NetworkReceiver extends BroadcastReceiver { // 
public static final String TAG = "NetworkReceiver"; 

@Override 
public void onReceive(Context context, Intent intent) { 
boolean isNetworkDown = intent.getBooleanExtra(
ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); 
if (isNetworkDown) { 
Log.e(TAG, "onReceive: NOT connected, stopping UpdaterService"); 
//context.stopService(new Intent(context, UpdaterService.class)); // 
} else { 
Log.e(TAG, "onReceive: connected, starting UpdaterService"); 
NewContactTrackService networkTrack= new NewContactTrackService(); 
networkTrack.update(); 

Log.e(TAG, "onReceive: connected,uploading "); 
//context.startService(new Intent(context, UpdaterService.class)); // 
} 
} 

} 

NewContactTrackService:それは短い私は、関連する投稿したようにするには何か他のものが

を必要とする場合 Plzを助け

がLOGCATが私に教えてくださいサービスの一部

public class NewContactTrackService extends Service { 
    @Override 
    public void onCreate() { 
     // TODO Auto-generated method stub 
     super.onCreate(); 
     dbBuffer = new DbContactBuffer(this); 
     dbInstantBuffer = new DbInstantBuffer(this); 
     values = new ContentValues(); 
     instantupload=0; 
     isInstantUploadEnabled = this.getSharedPreferences("isEnabled", MODE_WORLD_READABLE); 
     isDataForInstantUpload=false; 
     Log.e(TAG,"onCreate"); 
    } 

public void update() 
{ 
    Log.e(TAG,"UPDATE CALLED"); 
    Log.e(TAG,"INSIDE IF"); 
    dbInstantBuffer = new DbInstantBuffer(this); 
    Log.e(TAG," qqqqqqqqqqqqqqqqqqqqqqqqq"); 
    db1 = dbInstantBuffer.getReadableDatabase(); //THIS IS THE LINE OF EXCEPTION  
    Log.e(TAG," wwwwwwwwwwwwwwwwwwwwwww"); 
    cursor = db1.query(DbInstantBuffer.TABLE, null, null, null, null, null,null); 
    //startManagingCursor(cursor); 
    Log.e(TAG," "+ cursor.getCount());   
    while (cursor.moveToNext()) 
    {      
          //SOME CODE 
    } 
    db1.close();   

}    
} 
+2

コードの最も重要な部分がありません: 'DbInstantBuffer' – Caner

答えて

0

dbInstantBuffer = new DbInstantBuffer(this);をonCreateメソッドとupdateメソッドで2回定義します。さらに、dbInstantBufferの宣言(定義方法と場所)は表示されません。

関連する問題