寫這個app以前是由於看了頭條的一篇文章:http://www.managershare.com/post/155110,而後心想要不作一個這樣的app,讓手機計算就好了。也就沒多想就去開始整了。html
/** * 初始化imageLoader */ public void initImageLoader() { File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext()); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder( getApplicationContext()) .memoryCache(new LruMemoryCache(5 * 1024 * 1024)) .memoryCacheSize(10 * 1024 * 1024) .discCache(new UnlimitedDiscCache(cacheDir)) .discCacheFileNameGenerator(new HashCodeFileNameGenerator()) .build(); ImageLoader.getInstance().init(config); } public DisplayImageOptions getOptions(int drawableId) { return new DisplayImageOptions.Builder().showImageOnLoading(drawableId) .showImageForEmptyUri(drawableId).showImageOnFail(drawableId) .resetViewBeforeLoading(true).cacheInMemory(true) .cacheOnDisc(true).imageScaleType(ImageScaleType.EXACTLY) .bitmapConfig(Bitmap.Config.RGB_565).build(); }
2.使用時調用:java
ImageLoader.getInstance().displayImage( avatarUrl, holder.mImage, MyApplication.getInstance().getOptions( R.drawable.user_icon_default_main), new SimpleImageLoadingListener() { @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { super.onLoadingComplete(imageUri, view, loadedImage); } });
// 設置PullToRefresh mListView.setMode(Mode.BOTH); mListView.setOnRefreshListener(new OnRefreshListener2<ListView>() { // 下拉Pulling Down @Override public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView) { String label = DateUtils.formatDateTime(MainAct.this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL); refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label); mListView.setMode(Mode.BOTH); pullFromUser = true; mRefreshType = RefreshType.REFRESH; pageNum = 0; lastItemTime = getCurrentTime(); //獲取數據 fetchData(); } // 上拉Pulling Up @Override public void onPullUpToRefresh( PullToRefreshBase<ListView> refreshView) { // 上拉的時候添加選項 mRefreshType = RefreshType.LOAD_MORE; //獲取數據 fetchData(); } }); actualListView = mListView.getRefreshableView(); actualListView.setFastScrollEnabled(true); mEntities = new ArrayList<RankEntity>(); mAdapter = new MainListAdapter(MainAct.this, mEntities); actualListView.setAdapter(mAdapter); if (mEntities.size() == 0) { fetchData(); } mListView.setState(State.RELEASE_TO_REFRESH, true);