gpt4 book ai didi

Android 打开或创建数据库

转载 作者:IT王子 更新时间:2023-10-29 06:28:09 25 4
gpt4 key购买 nike

我正在尝试在我的 SD 卡上创建一个数据库。每当我调用 SQLiteDatabase.openOrCreateDatabase 时,我都会收到错误消息:

07-21 13:33:17.587: ERROR/AndroidRuntime(5541): Caused by: android.database.sqlite.SQLiteException: unable to open database file

有谁知道这可能是什么原因造成的?这是我在数据库类的 open() 方法中的代码:

File sdcard = Environment.getExternalStorageDirectory();

String dbfile = sdcard.getAbsolutePath() + File.separator+ "external_sd" + File.separator + Schema.DATABASE_NAME ;

db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);

最佳答案

一个可能的错误是您没有设置适当的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

但是,将数据存储在 SD 卡上被认为是不安全的。因为每个有权在 sd 存储上存储数据的应用程序都可以访问数据库。

编辑:另一个可能的问题是外部存储可能不可用。您需要确保您的外部存储当前是可写的。一种方法是通过 getExternalStorageState 确定状态(参见引用资料 here)。

getExternalStorageState() returns MEDIA_SHARED if the media is present not mounted, and shared via USB mass storage. 

Reference .这里还有一个关于检查状态的 stackoverflow 帖子:Writing Text File to SD Card fails

关于Android 打开或创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780982/

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