Android - SD 卡上的 SQLite 数据库

标签 android database sqlite

有什么办法,如何在我的应用程序中从 SD 卡而不是/data/data/com.myapp/databases 目录创建和使用数据库?我知道它不安全,但是是否有任何特殊限制,例如“SD 卡上的数据库不能大于 2GB”?

谢谢

哈密扎克

最佳答案

他是我在 stackoverflow 中找到的建议解决方案

File dbfile = new File("/sdcard/android/com.myapp/databases/mydatabase.db" ); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
System.out.println("Its open? "  + db.isOpen());

这是 link .

更新

我不确定您是否可以将它与 SQLiteOpenHelper 一起使用,但您肯定可以查询数据库对象。

db.getVersion();
db.execSQL(sql);
db.beginTransaction();
db.endTransaction();
db.setTransactionSuccessful();
db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);

您可以使用数据库完成您期望的所有事情。 SQLiteOpenHelper 只是一个包装类,它可以帮助您完成我们始终可以自己完成的额外工作。

编辑 至于你的文件大小限制,我找到了这个链接。 Is there a file size limit on Android Honeycomb?

关于Android - SD 卡上的 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7227806/

相关文章:

android - 如何在 Android 中使用已转换的 EPS 到 SVG 文件

Android Studio 在更新后显示错误(缺少翻译)

mysql - 外键引用本身

sqlite - Qt 和 sqlite 错误 26

java - 重新打开时出现 Glide 问题 + 无法从已销毁的 Activity 中加载

android - 如何在工具栏中添加图像

Swift - 在 Firebase 数据库中存储计步器的日期

sql - 可能的黑客攻击尝试。如何判断我的数据库是否已被泄露

java - SQLite数据库更新功能找不到行ID?

php - 如何在 sqlite 上使用 laravel 迁移删除列?