2017-01-26 33 views
1

私は起動するたびに新しいjsonファイルを取得するアプリケーションを開発しています。しかし、私はファイルを削除して新しいファイルをダウンロードしても、電話は何とか古いファイルで終わっていることがわかりました。Androidは新しいjsonファイルを取得しません

削除コード:

if (test.exists()) { 
      test.delete(); 
      Log.i(TAG, "Deleting File"); 
     } else { 
      Log.i(TAG, "File does not exist"); 
} 

ダウンロードコード:

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(path)); 
    request.setTitle("stations.json"); 
    request.setDescription("File is being downloaded....."); 
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE); 
    request.setDestinationInExternalFilesDir(getApplicationContext(), null, "stations.json"); 
    request.setVisibleInDownloadsUi(false); 


    manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); 
    jsonRef = manager.enqueue(request); 

私はストレージからファイルを自分自身を削除しました。それはまだ古いファイルをつかむ。サーバーのバージョンが更新されているかどうかをブラウザで確認しました。そうだった。私は何が起こっているかもしれないかについて迷っています。スタックコミュニティに何か提案があれば、大いに感謝します。本当にありがとう!

+1

は、それがキャッシュされるということは可能ですか?あなたは '?v =" + Math.random() 'でURLを追加してみることができますか? –

+0

ファイルを手動で削除しましたが、古いファイルがダウンロードされた後に表示されましたか? –

+0

@MCZ – MJDude

答えて

1

私の電話機は何らかの形でファイルをキャッシュしていたようです。私は同じファイルをダウンロードしていて、代わりにそれを私に渡すことになります。新しいURLを与えることによって、それはそれが新しいファイルだと思うようにアプリをだました。

?v=" + Math.random() 

ファイルの最後に:最後に

、どのような仕事をして追加することでした。例については

String path = example.com/stations.json?v=" + Math.random(); 

その後でダウンロード:

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(path)); 
関連する問題