내가 SQLite는에 액세스하기 위해 브로커를 구축 할 수있는 간단한 운동을하고 있어요 내 주요 활동은 다음과 같습니다안드로이드 스튜디오 오류 : "java.lang.NullPointerException이 : 가상 메서드를 호출하는 시도 ..."
package com.example.mauro.localtest;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
public class MainActivity extends Activity {
DbBroker db = new DbBroker(this, "my_database", null, 1);
SQLiteDatabase sqldb = db.getWritableDatabase();
public int test = db.insertTest("New test", "Test created from app");
}
DbBroker 클래스는 있지만 :
이java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.mauro.localtest/com.example.mauro.localtest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler)' on a null object reference
사람이 언더 나를 도와 드릴까요 : 내가 프로젝트를 실행하면
package com.example.mauro.localtest;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Mauro on 09/06/2016.
*/
public class DbBroker extends SQLiteOpenHelper {
public DbBroker(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase arg0) {
arg0.execSQL("create table tests (id INTEGER PRIMARY KEY, publicid INTEGER, testname TEXT, description TEXT");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
}
public int insertTest(String name, String desc){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues vals = new ContentValues();
vals.put("testname", name);
vals.put("description", desc);
return (int) db.insert("tests", null, vals);
}
}
가이 오류가 응용 프로그램을 중지 문제는 어디에 있습니까?
사용자가 매니페스트에서 활동을 정의 했습니까? –
코드를 DbBroker db = new DbBroker (getActivity(), "my_database", null, 1)로 변경하여 한 번 시도해 볼 것을 제안합니다. 현재로서는 문맥 만이 null로 간주됩니다. 비슷한 질문을 발견했습니다. http://stackoverflow.com/questions/30064080/android-app-crashes-on-startup-sqlite-nullpointereception-in-contactsfragment http://stackoverflow.com/questions/29545524/android-nullpointerexception-fra-within-a-fra에서 데이터베이스로로드 할 수없는 데이터베이스 희망 사항 문제가 해결 될 수도 있습니다. – pbajpai21
컨텍스트가 null이므로 womg 장소에서 DB 중개인을 초기화하고 있다고 생각합니다. 이 클래스가 시작되는 곳에서 함수 코드를 친절하게 공유하십시오. –