내 응용 프로그램은 사용자 유형 (DeviceID에 의해 결정됨)을 기반으로 ListFragments를 생성 한 다음 웹 서버에서 이미지를 가져옵니다. 그러면이 이미지가 목록으로 표시됩니다.캐싱 ListFragment 데이터
제 질문은 어떻게 오프라인 모드로 표시되도록 조각과 (동적으로 생성 된) 이미지도 캐시 할 수 있습니다. 예를 들어 사용자가 활성 인터넷 연결없이 응용 프로그램을 열면 마지막으로 동적으로 생성 된 조각 내 이미지가 표시됩니다.
지금 내 앱은 매번 웹 서비스에서 이미지를 다운로드합니다.
응용 프로그램이로드 될 때마다 MainActivity에서 조각을 동적으로 생성하기위한 코드입니다.
//generating the views based on JSON data
try {
JSONObject resultObject = new JSONObject(result.toString());
boolean success = resultObject.getBoolean("success");
JSONArray jArray = resultObject.getJSONArray("data");
if (success == true) {
//save menu
for (int i = 0; i < jArray.length(); i++) {
postObject = jArray.getJSONObject(i);
if (postObject.has("ev_count")) {
categoriesSet.put("Events", "Events");
mTabsAdapter.addTab(bar.newTab().setText("Events"), EventsFragment.class, null);
}
if (postObject.has("pl_count")) {
categoriesSet.put("Places", "Places");
mTabsAdapter.addTab(bar.newTab().setText("Places"), PlacesFragment.class, null);
}
if (postObject.has("gn_count")) {
categoriesSet.put("General", "General");
mTabsAdapter.addTab(bar.newTab().setText("General"), GeneralFragment.class, null);
}
}
}
//saving values to the shared preferences (hashmap as a string)
categoriesPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = categoriesPreferences.edit();
editor.putString("categories", categoriesSet.toString());
editor.commit();
}catch (JSONException e) {
Log.e("ALLOCATE_DAT_ERROR", e.toString());
}
몇 가지 코드를 제공해 주시겠습니까? 새 Fragment 클래스를 생성 중이거나 일부 Fragment 인스턴스 만 새로 작성하고 있습니까? – simekadam
@ simekadam 조각을 생성하는 코드를 제공했습니다. 기본적으로 조각의 새 인스턴스를 생성합니다. – Yrol