0

私のアプリには、それぞれ約 40kb の 5 つの大きなテキスト ファイルがあります。これらのファイルは、Web サイトで毎週更新されます。サイトから5つのファイルをダウンロードするようにdownloadManagerを設定することができました。問題は、問題が発生するため、ファイルのダウンロード中にユーザーがアプリを使用できないようにすることです。ユーザーが「更新」ボタンをクリックすると、読み込みボックスが表示されるようにします。ファイルのダウンロードが完了すると、ボックスが消え、「更新されました」というトースト メッセージが表示されます。これは私が設定した方法です:

@SuppressLint("NewApi")
public void DownloadTxtFile(String url, String fileName) {
    if (!new File(Environment.getExternalStorageDirectory()
            + "/folder").exists()) {
        new File(Environment.getExternalStorageDirectory()
                + "/Dovahzul_Dictionary").mkdirs();
    }
    File file = new File(extStore.getAbsolutePath()
            + "/folder/" + fileName);
    DownloadManager.Request request = new DownloadManager.Request(
            Uri.parse(url));
    request.setDescription("Downloading Text Files...");
    request.setTitle("Updating")

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        request.allowScanningByMediaScanner();
        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    }
    request.setDestinationInExternalPublicDir("/Dovahzul_Dictionary",
            fileName);
    DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
    if (file.exists()) {
        file.delete();
    } else {
    }
    manager.enqueue(request);
}

ところで、この方法に問題がある場合は、私にもお知らせください。前もって感謝します。

4

1 に答える 1