Как не поймать такую ​​ошибку таблицы сахара? - PullRequest
0 голосов
/ 28 июня 2018

Я получаю эту ошибку
Caused by: android.database.sqlite.SQLiteException: no such table:
Есть ли способ поймать его.
Я пытался с попыткой поймать и не работает приложение сбой
Мой код

JsonStroageMilla jsonStroageMilla=new JsonStroageMilla();
jsonStroageMilla.findById(JsonStroageMilla.class,1);

Мой класс

    @Keep
    public class JsonStroageMilla extends SugarRecord {
        public JsonStroageMilla(){

        }
    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    String data,time;
  }


Полный код ошибки

ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.valyangadi, PID: 16477 java.lang.RuntimeException: Невозможно начать деятельность ComponentInfo {com.app/ChecckoutActivity062802}: android.view.InflateException: строка двоичного XML-файла # 23: двоичный XML Строка файла № 32: Ошибка надувания фрагмента класса на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2426) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2490) на android.app.ActivityThread.-wrap11 (ActivityThread.java) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1354) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:148) на android.app.ActivityThread.main (ActivityThread.java:5443) в java.lang.reflect.Method.invoke (родной метод) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:728) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618) Вызывается: android.view.InflateException: строка двоичного XML-файла # 23: Строка двоичного XML-файла # 32: Ошибка надувания фрагмента класса на android.view.LayoutInflater.inflate (LayoutInflater.java:539) на android.view.LayoutInflater.inflate (LayoutInflater.java:423) на android.view.LayoutInflater.inflate (LayoutInflater.java:374) на android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.java:292) на android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:140) в com.shopify.sample.checkout.ChecckoutActivity062802.onCreate (ChecckoutActivity062802.java:18) на android.app.Activity.performCreate (Activity.java:6245) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1130) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2379) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2490) на android.app.ActivityThread.-wrap11 (ActivityThread.java) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1354)на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:148) на android.app.ActivityThread.main (ActivityThread.java:5443) в java.lang.reflect.Method.invoke (родной метод) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:728) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618) Вызывается: android.view.InflateException: строка двоичного XML-файла # 32: Ошибка надувания фрагмента класса на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:782) на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704) на android.view.LayoutInflater.rInflate (LayoutInflater.java:835) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.parseInclude (LayoutInflater.java:971) на android.view.LayoutInflater.rInflate (LayoutInflater.java:831) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.inflate (LayoutInflater.java:515) на android.view.LayoutInflater.inflate (LayoutInflater.java:423) на android.view.LayoutInflater.inflate (LayoutInflater.java:374) на android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.java:292) на android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:140) в com.shopify.sample.checkout.ChecckoutActivity062802.onCreate (ChecckoutActivity062802.java:18) на android.app.Activity.performCreate (Activity.java:6245) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1130)на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2379) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2490) на android.app.ActivityThread.-wrap11 (ActivityThread.java) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1354) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:148) на android.app.ActivityThread.main (ActivityThread.java:5443) в java.lang.reflect.Method.invoke (родной метод) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:728) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618) Вызывается: android.database.sqlite.SQLiteException: нет такой таблицы: JSON_STROAGE_MILLA (код 1): при компиляции: SELECT * FROM JSON_STROAGE_MILLA на android.database.sqlite.SQLiteConnection.nativePrepareStatement (Native Метод) на android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:887) на android.database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:498) на android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:588) на android.database.sqlite.SQLiteProgram. (SQLiteProgram.java:58) на android.database.sqlite.SQLiteQuery. (SQLiteQuery.java:37) на android.database.sqlite.SQLiteDirectCursorDriver.query (SQLiteDirectCursorDriver.java:44) в android.database.sqlite.SQLiteDatabase.rawQueryWithFactory (SQLiteDatabase.java:1316) в android.database.sqlite.SQLiteDatabase.queryWithFactory (SQLiteDatabase.java:1163) на android.database.sqlite.SQLiteDatabase.query (SQLiteDatabase.java:1034) на android.database.sqlite.SQLiteDatabase.query (SQLiteDatabase.java:1240) на com.orm.SugarRecord.find (SugarRecord.java:201) на com.orm.SugarRecord.listAll (SugarRecord.java:127) при

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018
  • Попробуйте отключить мгновенное
  • Сначала удалите приложение с устройства / эмулятора.
  • Затем очистите проект (Android Studio, Build, Clean Project).
  • Теперь запустите ваше приложение.
0 голосов
/ 28 июня 2018

Добавьте пустой конструктор и убедитесь, что вы обновили значение вашей базы данных на 1, поэтому

public JsonStroageMilla() {}

и

<meta-data
android:name="VERSION"
android:value="2"/>
...