package com.niw.adv.helper; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import android.content.Context; import android.content.SharedPreferences; import android.graphics.Bitmap; import android.os.AsyncTask; import android.util.Log; import android.widget.ImageView; import com.niw.adv.object.AdObj; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.assist.MemoryCacheUtil; public class LoadFooter extends AsyncTask<String, Integer, String> { private static final String BANNER_LINK_CACHE = "bannerlinkcache"; private Context context; private ImageView image; private ImageLoader imageLoader; private SharedPreferences spref; public LoadFooter(Context context, ImageView imageView) { this.context = context; this.image = imageView; spref=context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); imageLoader = ImageLoader.getInstance(); imageLoader.init(ImageLoaderConfiguration.createDefault(context)); } public void loadCache() { List<Bitmap> lbm=MemoryCacheUtil.findCachedBitmapsForImageUri(spref.getString(BANNER_LINK_CACHE, ""), ImageLoader.getInstance().getMemoryCache()); image.setImageBitmap(lbm.get(0)); } @Override protected String doInBackground(String... url) { JsonFuncs jsonFuncs = new JsonFuncs(context, url[0]); return jsonFuncs.getJson(); } @Override protected void onPostExecute(String result) { try { JSONArray array = new JSONArray(result); // array.getJSONObject(0).getString(AdObj.LINK_COLUMN); Log.d(context.getPackageName(), array.getJSONObject(0).getString(AdObj.LINK_COLUMN)); DisplayImageOptions options = new DisplayImageOptions.Builder() .cacheInMemory(true) .cacheOnDisc(true) .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) .build(); imageLoader.displayImage(array.getJSONObject(0).getString(AdObj.LINK_COLUMN), image, options); SharedPreferences.Editor editor=spref.edit(); editor.putString(BANNER_LINK_CACHE, array.getJSONObject(0).getString(AdObj.LINK_COLUMN)); editor.commit(); } catch (JSONException e) { e.printStackTrace(); } } }