エミュレータのAndroid Studioでアンドロイドアプリを実行中に非常に奇妙なエラーが発生しました。エラーは下に貼り付けられます。android.database.sqlite.SQLiteException:そのようなテーブルはありません:USER_DATA_TABLE(コード1):、コンパイル中:SELECT * FROM USER_DATA_TABLE WHERE id =? LIMIT 1
私はdbにSQLiteを使用していません。私は共有演奏を使用しています。コードにUSER_DATA_TABLEまたはSQLiteへの参照はありません。
私がUSER_DATA_TABLEへの参照を参照できる唯一の場所& SQLiteはビルドプロセスによって明らかに生成される/build/generated/mockable-android-23.jarファイルにあります。アプリをビルドして実行する前に、ビルドフォルダ全体を削除しました。
あなたの専門家の誰かが私にそれを修正する手掛かりを与えることができますか?
SugarORMにアクセスするコードスニペットはこれです:使用
public void redrawNavMenu() {
UserDataTable user = UserDataTable.findById(UserDataTable.class, 1L);
findById方法は、私はここに迷ってしまいましたSugarORM
public static <T extends SugarRecord<?>> T findById(Class<T> type, Long id) {
List<T> list = find(type, "id=?", new String[]{String.valueOf(id)}, null, null, "1");
if (list.isEmpty()) return null;
return list.get(0);
}
です。だからどこのコードでもない場合はどこからUSER_DATA_TABLEにアクセスするのですか?
ログイン:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.matt.quiz/com.matt.quiz.activities.QuizActivity}: android.database.sqlite.SQLiteException: no such table: USER_DATA_TABLE (code 1): , while compiling: SELECT * FROM USER_DATA_TABLE WHERE id=? LIMIT 1
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
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)
Caused by: android.database.sqlite.SQLiteException: no such table: USER_DATA_TABLE (code 1): , while compiling: SELECT * FROM USER_DATA_TABLE WHERE id=? LIMIT 1
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.queryWithFactory(SQLiteDatabase.java:1163)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1034)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1240)
at com.orm.SugarRecord.find(SugarRecord.java:208)
at com.orm.SugarRecord.findById(SugarRecord.java:138)
at com.matt.quiz.activities.QuizActivity.redrawNavMenu(QuizActivity.java:461)
at com.matt.quiz.activities.QuizActivity.onCreate(QuizActivity.java:194)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
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)
SQLiteエラーが発生する前に、購入セットアップエラー05-08 18:36:03.032 2573-2573/com.matt.quiz E /購入セットアップ:何かがうまくいかない - これを修正する方法? – Matt
"私はDB用にSQLiteを使用していません" - そうです、あなたはスタックトレースによってわかるように、SugarORMを使用しています。この場合、 'QuizActivity'へのソースコードを含む[mcve]を提供してください。 – CommonsWare
Txはすばやい回答です。はい、SugarORMへの参照がありますが、それはビルドファイルであり、私のコードではありません。ログに表示されているようにコードスニペットを表示する質問が更新されました。これ以上コードスニペットが必要な場合はお知らせください。 – Matt