2012-03-21 16 views
1

イムは、ログ猫ビューは次のとおりです。NullPointerExceptionがopenOrCreateDatabaseアンドロイド

3月21日14:06:15.910:E/AndroidRuntime(955 ):java.lang.NullPointerException 03-21 14:06:15.910:E/AndroidRuntime(955):android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203) 03-21 14:06:15.910:E/AndroidRuntime(955):interview.android.EHActivity.getQues(EHActivity.java:19)

+0

'onCreate()'が呼び出される前に 'getQues()'を呼び出すと思われます。 'EHActivity'のコンストラクタから) - あなたのアクティビティコンテキストが初期化されていません。 – zapl

+0

@zapl onCreate()関数を使ってみましたが、同じエラーが発生しています。 – shubh

答えて

1

は openOrCreateDatabaseは、このための別の方法があります。.. nullで送信しないようにしてください。..

db2=openOrCreateDatabase("interview.db", MODE_PRIVATE); 

または

openDatabase("interview.db", MODE_PRIVATE, SQLiteDatabase.CREATE_IF_NECESSARY) 
+0

いいえ動作していません – shubh

+0

@shubhあなたはlogcatで同じエラーを受け取りますか? – Joe

+0

ファンクションは2つのパラメータに対して許可されていません。3番目のパラメータファクトリは合格である必要があり、したがってプロジェクトは実行されません。 – shubh

0
public class Database_creat { 
    private static final String DATABASE_NAME = "interview.db"; 
    public static final String DATABASE_TABLE_CATEGORY = "category"; 
    public static final String DATABASE_TABLE_TODO_LIST = "todo_list"; 
    private static final int DATABASE_VERSION = 1; 
    public ArrayList<ModelToDO> list; 


    private DataBaseHelper mDbhelper; 
    private SQLiteDatabase mDb; 

    Context mContext; 
    private static final String DATABASE_CREATE_CATEGORY = "create table category(id integer primary key autoincrement , " 
      + "category text not null);"; 
    private static final String DATABASE_CREATE_TODO_LIST = "create table todo_list(id integer primary key autoincrement , " 
      + "title text not null,description text not null,category text not null, due_date Date not null,alarm_time text ,alarm_set text,priority text,parform Boolean);"; 

    private static class DataBaseHelper extends SQLiteOpenHelper { 

     DataBaseHelper(Context context) { 
      super(context, DATABASE_NAME, null, DATABASE_VERSION); 
      // TODO Auto-generated constructor stub 
     } 

     @Override 
     public void onCreate(SQLiteDatabase db) { 
      // TODO Auto-generated method stub 
      db.execSQL(DATABASE_CREATE_CATEGORY); 
      db.execSQL(DATABASE_CREATE_TODO_LIST); 
     } 

     //Delete All todo_list Table info 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
      // TODO Auto-generated method stub 
      db.execSQL("DROP TABLE IF EXISTS submit"); 
      onCreate(db); 
     } 
    } 

    public Database_creat(Context context) { 
     this.mContext = context; 
    } 

    public Database_creat Open() throws SQLException { 
     mDbhelper = new DataBaseHelper(mContext); 
     mDb = mDbhelper.getWritableDatabase(); 
     return this; 

    } 

    public void close() { 
     mDbhelper.close(); 
    } 

    //Add new Category name 
    public long insertinfo(String cate) { 
     ContentValues con = new ContentValues(); 
     con.put("category", cate); 
     return mDb.insert(DATABASE_TABLE_CATEGORY, null, con); 
    } 


} 

、このいずれかを使用クエリでデータベースを作成

0

HI Shubh次のコードを試してください..

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 


db2=openOrCreateDatabase("sdcard/yourappfolder/interview.db", MODE_PRIVATE, null); 
+0

それは同じエラーが来ています.. – shubh

+0

db2.execSQL( "何が例外ですか? 、 'A1')) "); ここでは3括弧を閉じます。 最後の2番目の括弧を1つ削除します。 – Pinakin

関連する問題