Accessing the database of one application from ano

2020-02-29 02:49发布

I've built an application and now I want to copy the database of that running application using my new backup application. I create my database path by doing DB_PATH + DB_NAME, using the following values:

DB_PATH = "/data/data/iCam.Cam/";
DB_NAME = "testdb.db";

I have code which copies the database from the given path to the SD Card. However, when I initially check the database using the following method, it returns false:

public boolean checkDataBase() {    
    SQLiteDatabase checkDB = null;

    try {
        String myPath = DB_PATH + DB_NAME;
        checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
    } catch (SQLiteException e) {
        e.fillInStackTrace();
        // database does't exist yet.
    }

    if (checkDB != null) {
        checkDB.close();
    }

    return checkDB != null ? true : false;
}

Any suggestions on how to achieve this?

4条回答
甜甜的少女心
2楼-- · 2020-02-29 03:31
No

you can't access the database of other application unless the application give you the interface through the ContentProvider.

查看更多
乱世女痞
3楼-- · 2020-02-29 03:38

You can use the same database only if you created the running application database in custom content provider.

You cannot directly access the database from running application.

But if you create your running application database in Custom Content Provider then with the help of authorities you can directly access the database.

In this case you don't even need to copy that database.

Refer this link for custom content provider.

查看更多
男人必须洒脱
4楼-- · 2020-02-29 03:40

Using DDMS you can browse your SQLite DataBase so read the tutorial of DDMS from this link http://www.brighthub.com/mobile/google-android/articles/25023.aspx http://www.edumobile.org/android/category/android-beginner-tutorials/

查看更多
贪生不怕死
5楼-- · 2020-02-29 03:55

Read Android Security. Any data stored by an application will be assigned that application's user ID, and not normally accessible to other packages

查看更多
登录 后发表回答