2013-05-19 139 views
0

當我嘗試打開網絡瀏覽器(從Kindle Fire的家中),它只是簡單的啓動失敗。 我檢查了設備日誌,能找到例外如下:有人可以解釋這段代碼片段

android.database.sqlite.SQLiteException:無法從版本升級29只讀數據庫27

我一派異常,並可以找到以下代碼片段拋出這個異常。有人可以解釋清楚嗎?我需要爲此做什麼

try { 
      mIsInitializing = true; 
      String path = mContext.getDatabasePath(mName).getPath(); 
      db = SQLiteDatabase.openDatabase(path, mFactory, SQLiteDatabase.OPEN_READONLY, 
        mErrorHandler); 
      if (db.getVersion() != mNewVersion) { 
       throw new SQLiteException("Can't upgrade read-only database from version " + 
         db.getVersion() + " to " + mNewVersion + ": " + path); 
      } 
+0

有人可以解釋一下 –

+0

我們看不到mNewVersion在哪裏設置,但錯誤是說(非常差),仿真器或Android設備上的SQLite版本比預期版本高2個版本。 –

+0

不是SQLite,而是數據庫版本。只需在設置 - >管理應用程序中擦除瀏覽器的緩存數據,應該沒問題。 –

回答

0

private final int mNewVersion;

公共SQLiteOpenHelper(上下文上下文中,字符串名稱,CursorFactory工廠,INT版本, DatabaseErrorHandler的ErrorHandler){ 如果(版本< 1)拋出新拋出:IllegalArgumentException( 「版本必須> = 1,是」 +版本); if(errorHandler == null)拋出新的IllegalArgumentException(「DatabaseErrorHandler參數值不能爲null。」); }

  mContext = context; 
      mName = name; 
      mFactory = factory; 
      mNewVersion = version; 
      mErrorHandler = errorHandler; 
    } 
+0

@Gilbert Le Blanc。你可以從上面的代碼中找到mNewVersion的設置 –

相關問題