• 締切
  • すぐに回答を!

AndroidにおけるSQLiteの使い方について

  • 質問No.8137936
  • 閲覧数672
  • ありがとう数0
  • 回答数1

お礼率 14% (11/75)

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件)

  • 回答No.1

ベストアンサー率 65% (141/215)

MainActivity#onCreateメソッドで、
> db.execSQL("CREATE TABLE thread (threadNumber integer primary key autoincrement,mainText TEXT, createDate date);");
してるからじゃないですか?

その名前のテーブルはMyDbOpenHelperクラスで作成しているように見えます。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ