- 締切済み
AndroidにおけるSQLiteの使い方について
Android Studioで、Androidのアプリを開発しています。 SQLiteを使おうとすると、 クエリを送るタイミングでアプリケーションが停止してしまいます。 何が悪いんでしょうか。 以下の様なソースコードで停止しました。 #MyDbOpenHelper.java package com.example.test10; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by taiki on 13/06/16. */ public class MyDbOpenHelper extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 2; private static final String DATABASE_NAME = "board"; private static final String THREAD_TABLE_NAME = "thread"; private static final String THREAD_TABLE_COLUMN1 = "column1"; private static final String THREAD_TABLE_CREATE = "CREATE TABLE " + THREAD_TABLE_NAME + " (" + THREAD_TABLE_COLUMN1 + " text;"; MyDbOpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(THREAD_TABLE_CREATE); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i2) { } } #MainActivity.java package com.example.test10; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyDbOpenHelper dbHelper; dbHelper = new MyDbOpenHelper(MainActivity.this); SQLiteDatabase db = dbHelper.getReadableDatabase(); db.execSQL("CREATE TABLE thread (threadNumber integer primary key autoincrement,mainText TEXT, createDate date);"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- teketon
- ベストアンサー率65% (141/215)
MainActivity#onCreateメソッドで、 > db.execSQL("CREATE TABLE thread (threadNumber integer primary key autoincrement,mainText TEXT, createDate date);"); してるからじゃないですか? その名前のテーブルはMyDbOpenHelperクラスで作成しているように見えます。