私はSQLiteが初めてです。SQLite データベースを使用する単純なアプリケーションを作成しようとしています。ほとんどの部分を完了しましたが、ランタイム例外が発生しています。
これがDBHelper用の私のJavaファイルです-
温度.java :-
package com.example.sqliteexample;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class HotOrNot {
public static final String KEY_ROWID = "_id";
public static final String KEY_NAME = "item_name";
public static final String KEY_TEMPERATURE = "item_temperature";
private static final String DATABASE_NAME = "HotOrNotdb";
private static final String DATABASE_TABLE = "itemTable";
private static final int DATABASE_VERSION = 1;
private DBHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;
private static class DBHelper extends SQLiteOpenHelper
{
public DBHelper(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("CREATE TABLE "+DATABASE_TABLE+" ("+
KEY_ROWID +" INTEGER PRIMARY KEY AUTO INCREMENT, "+
KEY_NAME+" TEXT NOT NULL, "+
KEY_TEMPERATURE+" TEXT NOTNULL);"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE);
onCreate(db);
}
}
public HotOrNot (Context c){
ourContext = c;
}
public HotOrNot open()throws SQLException{
ourHelper=new DBHelper(ourContext);
ourDatabase=ourHelper.getWritableDatabase();
return this;
}
public void close(){
ourHelper.close();
}
public long createEntry(String name, String hotness) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
cv.put(KEY_NAME, name);
cv.put(KEY_TEMPERATURE, hotness);
return ourDatabase.insert(DATABASE_TABLE, null, cv);
}
public String getData() {
// TODO Auto-generated method stub
String[] columns = new String[]
{
KEY_ROWID, KEY_NAME,KEY_TEMPERATURE
};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null,null,null,null,null);
String result = "";
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(KEY_NAME);
int iHotness = c.getColumnIndex(KEY_TEMPERATURE);
for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
result = result + c.getString(iRow)+ " "+
c.getString(iName)+" "+c.getString(iHotness)+"\n";
}
return result;
}
}
コードの実行中に SQLException が発生しました。コードは構文的には優れていますが、どこが間違っているのか理解できません。
これは以前に起こったことです。しかし今、それに加えて、アプリケーションはまったく起動していません。logcat と status にメッセージはありません -
'ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.sqliteexample/.SQLiteExample }'
コンソールにありません。誰でも私にこれに対する解決策を教えてもらえますか?
前もって感謝します。