首页 > 数据库 >数据库转移到sd卡AsyncTask,ProgressDialog使用

数据库转移到sd卡AsyncTask,ProgressDialog使用

时间:2023-06-20 18:05:31浏览次数:54  
标签:Toast File exportDir AsyncTask inChannel dialog new ProgressDialog sd

private class ExportDatabaseFileTask extends AsyncTask<String, Void, Boolean> { 
        private final ProgressDialog dialog = new ProgressDialog(ctx); 
 
        // can use UI thread here 
        protected void onPreExecute() { 
           this.dialog.setMessage("Exporting database..."); 
           this.dialog.show(); 
        } 
 
        // automatically done on worker thread (separate from UI thread) 
        protected Boolean doInBackground(final String... args) { 
 
           File dbFile = 
                    new File(Environment.getDataDirectory() + "/data/com.mypkg/databases/mydbfile.db"); 
 
           File exportDir = new File(Environment.getExternalStorageDirectory(), ""); 
           if (!exportDir.exists()) { 
              exportDir.mkdirs(); 
           } 
           File file = new File(exportDir, dbFile.getName()); 
 
           try { 
              file.createNewFile(); 
              this.copyFile(dbFile, file); 
              return true; 
           } catch (IOException e) { 
              Log.e("mypck", e.getMessage(), e); 
              return false; 
           } 
        } 
 
        // can use UI thread here 
        protected void onPostExecute(final Boolean success) { 
           if (this.dialog.isShowing()) { 
              this.dialog.dismiss(); 
           } 
           if (success) { 
              Toast.makeText(ctx, "Export successful!", Toast.LENGTH_SHORT).show(); 
           } else { 
              Toast.makeText(ctx, "Export failed", Toast.LENGTH_SHORT).show(); 
           } 
        } 
 
        void copyFile(File src, File dst) throws IOException { 
           FileChannel inChannel = new FileInputStream(src).getChannel(); 
           FileChannel outChannel = new FileOutputStream(dst).getChannel(); 
           try { 
              inChannel.transferTo(0, inChannel.size(), outChannel); 
           } finally { 
              if (inChannel != null) 
                 inChannel.close(); 
              if (outChannel != null) 
                 outChannel.close(); 
           } 
        } 
 
     }

标签:Toast,File,exportDir,AsyncTask,inChannel,dialog,new,ProgressDialog,sd
From: https://blog.51cto.com/u_16166892/6524005

相关文章

  • Picture专成Bitmap并保存到sd卡
    Bitmapb=Bitmap.createBitmap(picture.getWidth(),picture.getHeight(),Bitmap.Config.ARGB_8888);Canvasc=newCanvas(b);picture.draw(c);FileOutputStreamfos=null;try{......
  • 海康威视SDK - 获取硬盘录像机参数及摄像头信息
    获取硬盘录像机参数及摄像头信息获取硬盘录像机参数命令参数NET_DVR_GET_DEVICECFG_V40结构体NET_DVR_DEVICECFG_V40//DVR设备参数[StructLayoutAttribute(LayoutKind.Sequential)]publicstructNET_DVR_DEVICECFG_V40{publicuintdwSize;[MarshalAsAttr......
  • .NET Compiler Platform SDK
    .NETCompilerPlatformSDK.NETCompilerPlatform是什么?通过学习该模型可以更快的了解Roslyn,或者说更快的了解c#编译器的相关知识。编译器管道编译器管道是什么如上图所示,编译器管在每个阶段会进行不同的操作,这些操作我们可以理解为一个独立的组件或者模块,是一个黑盒结构......
  • BMZCTF:2020sdnisc-左上角的秘密
    http://bmzclub.cn/challenges#2020sdnisc-%E5%B7%A6%E4%B8%8A%E8%A7%92%E7%9A%84%E7%A7%98%E5%AF%86enc.py#encoding=utf-8flag_enc=open("flag_enc.hex","wb")deffile_encode(flag):i=1whileTrue:byte_str=flag.read(1)......
  • BMZCTF:2020sdnisc-过去和现在
    http://bmzclub.cn/challenges#2020sdnisc-%E8%BF%87%E5%8E%BB%E5%92%8C%E7%8E%B0%E5%9C%A8flag{fc25cbb7b85959fe03738241a96bf23d}......
  • POSTGRESQL openGaussDB 体系架构
    Today听了一下墨天轮举办的OpenGaussDB的专题的训练营,下面是此次线上的OpenGaussDB的体系结构的介绍。这里根据介绍快速总结出此次介绍中OpenGaussDB的特点:1 OpenGaussDB针对国产的硬件系统,如鲲鹏等硬件系统有特殊的支持和性能调试,真多国产的硬件系统有优势。2OpenGaussDB主......
  • BMZCTF:2020sdnisc-损坏的流量包
    http://bmzclub.cn/challenges#2020sdnisc-%E6%8D%9F%E5%9D%8F%E7%9A%84%E6%B5%81%E9%87%8F%E5%8C%851.pcapng无法使用wireshark打开可能破坏了pcapng的文件结构,但是应该不会破坏数据内容,尝试使用foremost看看能不能从这个数据包中分离出什么东西得到一个zip压缩包,解压得到key.tx......
  • Azure Blob Storage Java SDK使用SAS Token授权读取文件403报错
    问题描述代码如下,内容十分简单,只是listpath的操作。点击查看代码DataLakeServiceClientdataLakeServiceClient=newDataLakeServiceClientBuilder().endpoint(blob).sasToken(sasToken).buildClient();DataLakeFileSystemClienttestFs=dataLakeServic......
  • 树莓派sd卡容量显示不全的解决办法
    32G的sd卡,插上之后df-h1显示只有7G需要对文件系统进行扩容操作:sudoraspi-config->AdvancedOptions->ExpandFilesystem123然后跟着操作就行,之后reboot即可......
  • SPI总线接口ESD静电放电保护电路图,如何设计?
    串行外设接口(SerialPeripheralInterface),简称SPI接口,是一种高速、全双工、同步的通信总线接口,可以使单片机与各种外围设备以串行方式进行通信以交换信息。SPI在芯片的管脚上占用四根线,节约芯片的管脚,同时为PCB的布局节约空间,越来越多的芯片集成了这种通信协议。众所周知,对于通信......