zoukankan      html  css  js  c++  java
  • 保存数据库到本地

    // 本地备份
        private void backupDatabaseToSD() {
            AlertDialog.Builder builder = new AlertDialog.Builder(
                    SettingActivity.this);
            builder.setTitle("SD卡备份");
            builder.setMessage("备份文件保存在/sdcard/MrBill");
            builder.setPositiveButton("保存", new DialogInterface.OnClickListener() {
                @SuppressLint({ "SdCardPath", "SdCardPath" })
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    if (Environment.getExternalStorageState().equals(
                            Environment.MEDIA_MOUNTED)) {
                        // File sdCardDir =
                        // Environment.getExternalStorageDirectory();//获取SDCard目录
                        // File saveFile = new File(sdCardDir, "MyBudget.db");
                        File director = new File("/sdcard/MrBill");// 创建目录
                        File file = new File("/sdcard/MrBill/MyBudget.db");// 创建文件
                        if (!director.exists()) {
                            director.mkdirs();
                        }
                        if (!file.exists()) {
                            try {
                                FileInputStream fis = new FileInputStream(
                                        "/data/data/com.coderui.studentbudget/databases/MyBudget.db");
                                FileOutputStream fos = new FileOutputStream(file);
                                byte[] buffer = new byte[1024];
                                int length = 0;
                                while ((length = fis.read(buffer)) > 0) {
                                    fos.write(buffer, 0, length);
                                }
                                fos.flush();
                                fos.close();
                                fis.close();
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        } else {
                            file.delete();
                            try {
                                FileInputStream fis = new FileInputStream(
                                        "/data/data/com.coderui.studentbudget/databases/MyBudget.db");
                                FileOutputStream fos = new FileOutputStream(file);
                                byte[] buffer = new byte[1024];
                                int length = 0;
                                while ((length = fis.read(buffer)) > 0) {
                                    fos.write(buffer, 0, length);
                                }
                                fos.flush();
                                fos.close();
                                fis.close();
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                    }
                    Toast.makeText(SettingActivity.this, "备份成功", Toast.LENGTH_SHORT)
                            .show();
                }
            });
            builder.setNegativeButton("恢复", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                }
            });
            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                }
            });
            builder.create().show();
  • 相关阅读:
    Spark性能优化指南——基础篇
    spark精华面试题
    JVM性能调优总结
    Eclipse安装Hadoop插件配置Hadoop开发环境
    CPU高的解决方法
    Flume源码分析--转载
    Flume-ng的原理和使用--转载
    spark内核源码深度剖析(2)--Spark的三种提交模式
    java调用so文件
    爬取网页数据基础
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2922630.html
Copyright © 2011-2022 走看看