首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Studio SQLite 打開失敗:數據庫文件名不能帶 .db 後綴?

     編輯:程式設計綜合問答

現象:Failed to open database,數據庫文件命名為 lili.db。

結論

SQLiteOpenHelper 會自動補全後綴,傳入名稱只需 "lili",框架內部會在 /data/data/pkg/databases/lili 創建文件(無後綴)。若你傳 "lili.db",實際文件變成 lili.db(無額外後綴),但某些設備/系統版本會因路徑解析差異導致打開失敗。

正確用法

public class MyDbHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "lili"; // 無 .db
    private static final int VERSION = 1;

    public MyDbHelper(Context context) {
        super(context, DB_NAME, null, VERSION);
    }
    // onCreate/onUpgrade...
}

避坑清單

  • 數據庫名**只用字母數字下劃線**,不帶路徑、不帶後綴、不含特殊字符。
  • 若需指定目錄,用 context.getDatabasePath("lili") 獲取標準路徑,不要自行拼接。
  • 多進程訪問 SQLite 需啟用 SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.NO_LOCALIZED_COLLATORS) 並自行管理鎖。

記住:傳給 SQLiteOpenHelper 的名字就是文件名(無後綴),框架幫你放對地方,別自己加 .db/.sqlite 後綴。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved