16

SDカードにデータベースファイルがあり、新しいデータベースファイルがダウンロードされたときに、名前を変更するのではなく、古いデータベースファイルを上書きする必要があります。これが私のダウンロードコードです。ダウンロードコードは完全に機能しています..

  public void startDownload() {
        pDialog = new ProgressDialog(this);
        pDialog.setMessage("Downloading Database. Please wait...");
        pDialog.setIndeterminate(false);
        pDialog.setMax(100);
        pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        pDialog.setCancelable(false);

    Uri uri=Uri.parse(file_url);

    String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
    File ADirectory = new File(baseDir +"/test");
    ADirectory.mkdirs();

    lastDownload=
      mgr.enqueue(new DownloadManager.Request(uri)
                  .setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
                                          DownloadManager.Request.NETWORK_MOBILE)
                  .setAllowedOverRoaming(false)
                  .setTitle(" Database File")
                  .setDescription("Please wait....test Database downloading.")
                  .setDestinationInExternalPublicDir("/test", "/testing"));

    pDialog.show();
    //v.setEnabled(false);
   // findViewById(R.id.query).setEnabled(true);
  } 
4

1 に答える 1

20

ファイルをダウンロード マネージャーに送信するときに、ファイルが既に存在するかどうかを確認します。それを削除します。

private boolean isFileExists(String filename){

    File folder1 = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + filename);
    return folder1.exists();


}

private boolean deleteFile( String filename){

    File folder1 = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + filename);
    return folder1.delete();


}
于 2013-08-15T00:57:08.843 に答える