各位前輩們,不好意思想請教大家一個問題。
自從我的Android 升級至8 oreo後,我的SQLITE DB 在
SQLiteDatabase db=dbhelper.getReadableDatabase();
這段一直會有錯誤。
當我試著使用adb shell的工具將DB檔案刪除後重開APP
又能正常,但相對地裡面的資料也沒了。
但如果我把DB再放回databases的資夾,他又會出現錯誤
訊息
錯誤訊息如下:https://ideone.com/HYrXeB
第71行就是 getApplicationContext().openOrCreateDatabase
當然我剛開始也有建立繼承SQLiteOpenHelper 但是在getReadableDatabase()那段也
會有一樣的錯誤訊息,故我將它註解掉了。
以下是程式碼:
DB CREATE:https://ideone.com/6uaQC4
然後這個是我目前的主程式:https://ideone.com/OvOi6u
然後因為在懷疑是否為CreatDB有問題,所以目前將CreatDB 註解掉,但還是有相同問
題。
然後我找過文章,也有人說可能是權限問題,所以我試著將讀寫EXTERNAL_STORAGE的權限
打開
以下是AndroidManifest.xml https://ideone.com/brPDHf
但還是一樣的錯誤訊息。
在stackoverflow 也有人說使用路徑,所以我也曾試過SQLiteDatabase.openDatabase去
直接帶路徑開啟,但一樣有誤。
所以我已經不知道還有什麼辦法。
之前從kitkat升級到lollipop再到Nougat都沒問題,但是這次無論我怎麼試還是弄不好。
再有勞各位高手。