Android 以SD卡(csv格式)存储数据库

Android 以SD卡(csv格式)存储数据库,android,database,android-sqlite,android-sdcard,Android,Database,Android Sqlite,Android Sdcard,如何以csv格式将数据库文件从emulator存储到SD卡 我已经创建了这个类,但我不知道应该在哪里调用它 public class MyDatabaseTools { private String appName = "LogCard"; private String packageName = "com.android.logcard"; SQLiteOpenHelper sqlitehelper; public boolean backup() { boolean

如何以csv格式将数据库文件从emulator存储到SD卡

我已经创建了这个类,但我不知道应该在哪里调用它

public class MyDatabaseTools {
  private String appName = "LogCard";
  private String packageName = "com.android.logcard";
  SQLiteOpenHelper sqlitehelper;
  public boolean backup() {
    boolean rc = false;
    boolean writeable = isSDCardWriteable();
    if (writeable) {
      File file = new File(Environment.getDataDirectory() + "/data/" + packageName + "/databases/" + sqlitehelper.getDatabaseName());

      File fileBackupDir = new File(Environment.getExternalStorageDirectory(), appName + "/backup");
      if (!fileBackupDir.exists()) {
        fileBackupDir.mkdirs();
      }

      if (file.exists()) {
        File fileBackup = new File(fileBackupDir, sqlitehelper.getDatabaseName());
        try {
          fileBackup.createNewFile();
          FileUtils.copyFile(file, fileBackup);
          rc = true;
        } catch (IOException ioException) {
          //
        } catch (Exception exception) {
          //
        }
      }
    }

    return rc;
  }

  private boolean isSDCardWriteable() {
    boolean rc = false;

    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
      rc = true;
    }

    return rc;
  }

    public MyDatabaseTools(final Context context, final String appName) {
        this.appName = appName;
        packageName = context.getPackageName();
    }

如果这门课有帮助的话,应该叫它在哪里;我从

中获取了此代码,我已更正了错误。打开数据库后添加了以下代码,csv文件保存在存储卡中

  File dbFile =new File(Environment.getDataDirectory() +"/data/com.example.logcard/databases/login.db");

//  DbClass DBob = new DbClass(MyDatabaseActivity.this);

    File exportDir = new File(Environment.getExternalStorageDirectory(), "");

    if (!exportDir.exists())

    {

        exportDir.mkdirs();

    }

    File file = new File(exportDir, "basic_details.csv");

    try

    {
        file.createNewFile();

        CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
       // dbHelper = new DataBaseHelper(context, DATABASE_NAME, null, DATABASE_VERSION);
    //  login=login.open1();


      SQLiteDatabase db = dbHelper.getWritableDatabase();

        Cursor curCSV=db.rawQuery("SELECT * FROM LOGCARD",null);
      //  Cursor curCSV = db.rawQuery("SELECT * FROM table_ans12",null);

        csvWrite.writeNext(curCSV.getColumnNames());

        while(curCSV.moveToNext())

        {

            String arrStr[] ={curCSV.getString(0),curCSV.getString(1),curCSV.getString(2),curCSV.getString(3),curCSV.getString(4),
                    curCSV.getString(5),curCSV.getString(6),curCSV.getString(7),curCSV.getString(8),curCSV.getString(9),
                    curCSV.getString(10),curCSV.getString(11),curCSV.getString(12),curCSV.getString(13),curCSV.getString(14),
                    curCSV.getString(15),curCSV.getString(16),curCSV.getString(17),curCSV.getString(18),curCSV.getString(19)};


            csvWrite.writeNext(arrStr);

        }

        csvWrite.close();

        curCSV.close();



    }

    catch(SQLException sqlEx)

    {

        Log.e("MainActivity", sqlEx.getMessage(), sqlEx);




    }

    catch (IOException e)

    {

        Log.e("MainActivity", e.getMessage(), e);



    }

    catch(NullPointerException n)
    {
        n.printStackTrace();

    }

}

这不是谷歌。请展示你迄今为止所做的工作。没有人会给你完整的代码。@Torcellite是对的。。你应该先试试……是的,我试过了。我只是需要一个指导。我完全不知道如何将db文件转换为csv格式并在平板电脑中查看。我看到了一些链接,但推断不出多少。