こんにちはStackoverflowers!
私はそのような単純なsqliteDBを作成しました。
//event table name
private static final String TABLE_EVENTS = "events";
//event table columns names
private static final String KEY_ID = "id";
private static final String KEY_EVENT = "event";
@Override
public void onCreate(SQLiteDatabase db)
{
//String to define our database
String CREATE_EVENT_TABLE = "CREATE TABLE " + TABLE_EVENTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_EVENT + " TEXT" + ")";
//create our database
db.execSQL(CREATE_EVENT_TABLE);
}
これは、id列とイベント列を持つテーブルであると理解しています。
イベント列に、FIFO(先入れ先出し)の順序でテーブルから取得したい文字列に変換されたJSONObjectを保存しているので、アプリケーションがクラッシュした場合に、次に保存したJSONObjectを送信できます。アプリが開きます。
以下を使用して問題なくテーブルに挿入できます。
public void addEvent(JSONObject event)
{
//get our database so we can add to it
SQLiteDatabase db = this.getWritableDatabase();
//define content values to store our values
ContentValues values = new ContentValues();
//add our event to the ContentValues
values.put(KEY_EVENT, event.toString());
//insert a row
db.insert(TABLE_EVENTS, null, values);
//close the database connection
db.close();
}
特定の行またはイベントのクエリとデータベースからのイベントの取得に問題があります。また、FIFOの順序でイベントを引き出すことができるように、イベントが挿入された順序を追跡するための優れた方法があります。
サンプルコードは、クエリを実行しようとすると構文エラーが発生し、SQLiteにあまり詳しくないため、特に役立ちます。
どんな助けでも大歓迎です!お時間をいただきありがとうございます。