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;
}
}