gpt4 book ai didi

android - 如何访问android中不同应用程序的数据库或文件的路径

转载 作者:搜寻专家 更新时间:2023-11-01 08:17:00 25 4
gpt4 key购买 nike

是否可以在路径“/data/system/accounts.db”中获取android中数据库文件的路径

在我的应用程序中,我想使用这个数据库,但没有得到它的路径。如果我进行硬编码并删除文件,我就能做到。但我想将其作为数据库访问,以便我可以删除该表。

任何帮助都将不胜感激。

我试过的代码:

    private SQLiteDatabase db;
File dbFile = mContext.getDatabasePath("accounts.db");
if (dbFile.exists())
{
db = SQLiteDatabase.openOrCreateDatabase(dbFile, null);
db.execSQL("DROP TABLE IF EXISTS accounts");
db.setVersion(db.getVersion()+1);
}

最佳答案

您可以使用 android.os.Environment.getDataDirectory() 获取数据目录的路径。如果数据库不在您应用的数据目录中,请不要使用 mContext.getDatabasePath。

另见 Is it possible to move the internal DB to the SDCard?

如果你想搜索,通过这样的方式进行递归文件搜索:

private void searchFile(String startingPoint) {

Files[] files = File("/data").listFiles();
for (File f:files) {
if (f.isDirector) searchFile(f);
else if (f.getName().equals("accounts.db")) {
// delete db here...
// and exit the search here...
}
}
}

并检查它是否包含 accounds.db。如果到达另一个子目录,则以该子文件夹为起点递归调用自己的函数,依此类推....

但请确保您对设置为开始搜索起点的相关文件夹具有读取权限。

关于android - 如何访问android中不同应用程序的数据库或文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3474538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com