簡體   English   中英

Android系統。 在其他路徑下連接到二級數據庫

[英]Android. To connect to secundary database in other path

我有一個使用data / data / com.endel.psicotest / databases / psico.db中的單個本地sqllite數據庫的應用程序

但是我正在嘗試連接到/data/data/com.example.psicotestv1/databases/中的二級舊數據庫

但是當我嘗試SQLiteDatabase時db = getReadableDatabase(); 在我的DataBaseHelper_OLD中返回第一個數據庫 :(

public DBMain_OLD(Context contexto) {
    super(contexto, DB_NAME, null, DB_VERSION);

    //Calculamos la ruta de la base de datos
    File file = new File(contexto.getDatabasePath(DB_NAME).getPath());
    DB_PATH_OLD = "data/data/com.example.psicotest3/databases/";
    this.context  = contexto;
}

我的DB_PATH_OLD次構造器

DataBaseHelper_OLD myDbHelper_OLD = new DataBaseHelper_OLD(contexto);
    Item item_OLD = myDbHelper_OLD.GetItemId(idPregunta);

我得到了第一個數據庫的價值:(

如果要在2個應用程序之間共享數據庫,則需要實現ContentProvider 您無法共享簡單的數據庫,因為一個應用程序通常無法訪問其他應用程序的文件夾。 (我之所以這么說,是因為具有root用戶訪問權限的應用程序可以)。 這就是為什么當您調用SQLiteDatabase db = getReadableDatabase(); 您只能從應用程序中獲取數據庫。

內容提供商指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM