サーバー上のJSONファイルを更新すると、Androidデバイスは更新されたファイルを取得しませんが、エミュレータは正常に動作しています。コードを介してjsonファイルを更新する方法はありますか、またはサーバーキャッシュ内のファイルを削除する方法はありますか。Androidが更新されたJSONファイルを取得しない
WebサーバーからビデオURLを取得するAsynTask。
private class fetchVideoUrls extends AsyncTask<String, String, List<VideoModel>> {
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog.show();
}
@Override
protected List<VideoModel> doInBackground(String... strings) {
HttpURLConnection connection = null;
BufferedReader reader = null;
try {
URL url = new URL(strings[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
InputStream stream = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(stream));
StringBuilder buffer = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
String resultJson = buffer.toString();
JSONObject parentObject = new JSONObject(resultJson);
JSONArray parentArray = parentObject.getJSONArray("videos");
List<VideoModel> videoModelList = new ArrayList<>();
Gson gson = new Gson();
for (int i = 0; i < parentArray.length(); i++) {
JSONObject finalObject = parentArray.getJSONObject(i);
VideoModel videoModel = gson.fromJson(finalObject.toString(), VideoModel.class);
videoModelList.add(videoModel);
}
return videoModelList;
} catch (JSONException | IOException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(List<VideoModel> result) {
super.onPostExecute(result);
dialog.dismiss();
VideoAdapter adapter = new VideoAdapter(getApplicationContext(), R.layout.video_row, result);
lvVideos.setAdapter(adapter);
}
}
しようとしたしましたか? – Kunu
@Kunuはい、私は、アプリをアンインストールしてデバイスにそのjingファイルの古いバージョンを取得して再インストールした後でも、 –