2012-04-13 11 views
0

SQLite dbファイルを更新するアプリケーションがありますが、このアプリケーションをアンインストールするたびにこのdbファイルが削除され、再インストール時に新しいdbファイルが作成されます。私はマイクロSDカードに更新するたびにこのdbファイルをコピーして、アンインストール後に自分のデータベースにアクセスできるようにしたいと思います。バックアップ用にSQLite dbをストレージデバイスにコピー

ゴール コピー

  • を作成したときに、DBファイルは

    1. を更新されるたびに、今、私はマイクロSDカード
    2. に、このDBファイル(アプリケーションデシベルをこのDBファイルをコピーしたいtext.dbを言いますファイルは)今
    3. を更新コピーして、マイクロSDカードにコピーするための第
  • 答えて

    1

    須藤コードをこのDBファイルを置き換えるされていますeデータベースをSDカードにコピーします。それを元に戻すには、単にストリームを元に戻します。

      public boolean copyDatabase() { 
          String SDCardPath = Environment.getExternalStorageDirectory().getAbsolutePath(); 
          // Create the directory if neccesary. 
          File directory = new File(SDCardPath + <PATH TO SD-CARD SAVE LOCATION>); 
          if (!directory.exists()) 
            directory.mkdir(); 
    
    
          // Close the database before trying to copy it 
          database.close(); 
    
          // Copy database to SD-card 
          try { 
            InputStream mInput = new FileInputStream(<PATH TO DATABASE ON PHONE>); 
            OutputStream mOutput = new FileOutputStream(SDCardPath + <PATH TO SD-CARD SAVE LOCATION>); 
    
            byte[] buffer = new byte[1024]; 
            int length; 
            while ((length = mInput.read(buffer)) > 0) { 
              mOutput.write(buffer, 0, length); 
            } 
            mOutput.flush(); 
            mOutput.close(); 
            mInput.close(); 
          } catch (Exception e) { 
    
          } 
    
          return database.open(); 
        } 
    
    関連する問題