###前提・実現したいこと
初めて質問させていただきます。メモ帳を作りたいと思い、
"https://akira-watson.com/android/activeandroid.html"
こちらのサイトを参考にプログラムを作成しましたが、saveData(),readData()の時にno such tableエラーが発生してしまっています。
どのように修正すればエラーはなくなりますでしょうか?至らぬ点も多々あると存じますがご指摘よろしくお願いいたします。
###発生している問題・エラーメッセージ
Manifests
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="test.com.myapplication"> <application android:name="com.activeandroid.app.Application" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="AA_DB_NAME" android:value="testDB.db" /> <meta-data android:name="AA_DB_VERSION" android:value="1" /> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
readData()時
test.com.myapplication E/AndroidRuntime: FATAL EXCEPTION: main Process: test.com.myapplication, PID: 3314 android.database.sqlite.SQLiteException: no such table: testDB (code 1): , while compiling: SELECT * FROM testDB at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:887) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:498) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316) at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255) at com.activeandroid.Model.rawQuery(Model.java:349) at com.activeandroid.query.From.execute(From.java:155) at test.com.myapplication.MainActivity.readData(MainActivity.java:73) at test.com.myapplication.MainActivity.access$300(MainActivity.java:15) at test.com.myapplication.MainActivity$2.onClick(MainActivity.java:54) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
###該当のソースコード
文字数制限にかかってしまったので掲載できませんが上記参考サイトのサンプルプログラムと同じです。
###試したこと
"https://qiita.com/stenpel/items/1dc6e49d9ba876a6024c"
こちらのサイトを参考にonUpgrade()が呼ばれるようにmanifests上で
<meta-data
android:name="AA_DB_VERSION"
android:value="1" />
を
<meta-data
android:name="AA_DB_VERSION"
android:value="2" />
に変更しました。
また、アプリ削除も行いましたがno such tableと出てしまいました。
databasesの中身をlsコマンドで探したところ、testDB.dbはありました。
###補足情報(言語/FW/ツール等のバージョンなど)
AndroidStudio 2.1.2
ActiveAndroid 3.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/24 12:27
2017/09/24 12:34
2017/09/24 12:38
2017/09/24 12:47 編集
2017/09/24 13:21
2017/09/24 13:28
2017/09/24 13:55