相关疑难解决方法(0)

如何将数据库文件备份到Android上的SD卡?

我想在我的Android应用程序中添加一项功能,自动将SQLite数据库备份到SD卡.

最好的方法是什么?有任何示例或教程可用吗?

database backup android sd-card

58
推荐指数
3
解决办法
8万
查看次数

在android中将房间数据库导出到csv文件

有很多教程可用于将 SQLite 数据库导出到 csv 文件,但没有足够的东西从房间数据库导出。

使用 sqlite 导出参考将SQLite 数据库导出到 android 中的 csv 文件,手动解析每列行的空间。以下是我的代码:

     @Dao
     interface CategoryDao {
         @Query("SELECT * FROM Category")
         fun getAllCategory(): List<Category>
     }

//   Export csv logic

      val categoryList = categoryDao.getAllCategory()
      val csvWrite = CSVWriter(FileWriter(file))

      for (item in categoryList) {
         val arrStr = arrayOf<String>(item.categoryId, item.categoryName)
         csvWrite.writeNext(arrStr)
      }
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以导出csv。即使在房间里也没有实用地获取表的列名,因此无法为所有表创建动态通用逻辑。

csv android export-to-csv kotlin android-room

8
推荐指数
1
解决办法
1万
查看次数

Android会议室数据库不会导出所有数据

我正在尝试设置Room数据库备份功能。问题是,一旦下载,sql数据库文件在应用程序中将不包含最新的数据集。它总是会丢失一些最新记录。是否有导出会议室数据库的正确方法?PS:使用sqliteHelper处理我的数据库时,我没有遇到类似的问题,因此我想它一定与Room有关。

我这样做的方式:

@Throws(IOException::class)
private fun copyAppDbToDownloadFolder(address: String) {
    val backupDB = File(address, "studioDb.db") 
    val currentDB = applicationContext.getDatabasePath(StudioDatabase.DB_NAME)
    if (currentDB.exists()) {
        val src = FileInputStream(currentDB).channel
        val dst = FileOutputStream(backupDB).channel
        dst.transferFrom(src, 0, src.size())
        src.close()
        dst.close()
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-sqlite android-sql android-room

6
推荐指数
3
解决办法
2940
查看次数

我可以从 Flutter 导出我的 sqlite 数据库吗?

有很多关于如何从 csv、另一个数据库等导入内部数据库数据的文章。但我还没有找到任何人解释如何导出 flutter 数据库。

目标是为每部手机创建一个备份。(所以我需要了解它的位置以创建备份)

sqlite android flutter

4
推荐指数
2
解决办法
4621
查看次数

导入/导出到android sqlite数据库

我看过几篇关于如何在android中导入和导出数据库的帖子,我找到了这些代码,但我似乎无法使它工作.我收到错误java.io.filenotfoundexception/storage/sdcard0/BackupFolder/DatabaseName:打开失败的ENOENT(没有这样的文件或目录).我改变了一些东西,但我仍然没有找到文件异常

这是我的出口:

private void exportDB() {
        try {
             db.open();
             File newFile = new File("/sdcard/myexport");
            InputStream input = new FileInputStream(
            "/data/data/com.example.mycarfuel/data

bases/MyDatabase");

                OutputStream output = new FileOutputStream(newFile);
                byte[] buffer = new byte[1024];
                int length;
                while ((length = input.read(buffer)) > 0) {
                    output.write(buffer, 0, length);
                }
                output.flush();
                output.close();
                input.close();
                db.close();

            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
}
Run Code Online (Sandbox Code Playgroud)

和我的导入:

private void importDB() {
        try {
            File …
Run Code Online (Sandbox Code Playgroud)

sqlite android

1
推荐指数
1
解决办法
2万
查看次数