Closed nsaito92 closed 4 years ago
以下の様な状態になっている。
--- | title | score |
---|---|---|
music1 | 10 | |
music2 | 0 | |
music3 | 0 |
--- | status(INTEGER) | hour(INTEGER) | minute(INTEGER) | week(TEXT) | sound |
---|---|---|---|---|---|
1 | 21 | 00 | 0,1,2,3,4,5,6 | ファイル1 | |
0 | 09 | 00 | 5,6 | ファイル3 | |
1 | 08 | 00 | 4 | ファイル5 |
SQLiteOpenHelperの実装中。暫定デバッグ版として画面にDB内部の情報を出力する機能を追加する。
12-23 00:17:59.956 16468-16468/? D/FrockSettingsOpenHelper: FrockSettingsOpenHelper
12-23 00:17:59.963 16468-16468/? D/FrockSettingsOpenHelper: onCreate
12-23 00:17:59.964 16468-16468/? D/FrockSettingsOpenHelper: saveData
12-23 00:17:59.964 16468-16468/? E/SQLiteLog: (1) table alarmsettingsdb has no column named week
12-23 00:17:59.965 16468-16468/? E/SQLiteDatabase: Error inserting week=0,1 hour=21 status=1 minute=0
android.database.sqlite.SQLiteException: table alarmsettingsdb has no column named week (code 1): , while compiling: INSERT INTO alarmsettingsdb(week,hour,status,minute) VALUES (?,?,?,?)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:895)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:506)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1470)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1343)
at com.example.naotosaito.clocktest.FrockSettingsOpenHelper.saveData(FrockSettingsOpenHelper.java:84)
at com.example.naotosaito.clocktest.FrockSettingsOpenHelper.onCreate(FrockSettingsOpenHelper.java:53)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
at com.example.naotosaito.clocktest.MainActivity.onCreate(MainActivity.java:32)
at android.app.Activity.performCreate(Activity.java:6705)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2664)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2772)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1515)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6223)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
MacBook-Pro:Downloads saito$ sqlite3 AppSettingsDB.db
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
sqlite> .tables
android_metadata
- 試験的にDB周り実装したところ、エラー
SQL文の半角スペース文ミスだった。 上記のエクセプションの場合は、SQL文法を見直すのが早そう。
とりあえずtableは出来たので、試験データを入れた。
sqlite> .table
alarmsettingsdb android_metadata
sqlite> select _id, status, hour, minute, week from alarmsettingsdb;
_id|status|hour|minute|week
1|1|21|0|0,1
2|0|11|45|2,4
3|0|12|0|0,1
sqlite>
DBのテストデータを元に、アラーム設定に投げ込む実装を検討中。
以下の検討を引き続き行う。
SQLiteDatabase#update
。
SQLiteOpenHelper
クラスを継承したクラスから取得する。
実装範囲が広いので、別タスクを切って対応する。
概要
期待値
対応内容
参考情報
備考
*