寫這個app之前是因為看了頭條的一篇文章:http://www.managershare.com/post/155110,然后心想要不做一個這樣的app,讓手機計算就行了。也就沒多想就去開始整了。
項目用到了三個開源包:
使用方法:
1.在Appliction的onCreate里初始化
/**
* 初始化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.使用時調用:
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);
這個源碼包有修改過,只使用了單選這個Fragment!內容比較多想看的下載代碼吧
項目雖然很渣很沒新意,完成是出於一個瞬間的念頭,開發完成后自己測試都覺得無聊,40多個選擇,點到手抽筋!然后又加上了一個自動翻頁的開關!
網盤無積分下載:
http://yunpan.cn/cAbWf2QVih6wV 提取碼 9abb
QQ:471497524
微信:519659991
新開的交流群,歡迎廣州的開發者加入:
http://jq.qq.com/?_wv=1027&k=cgvXpA,另外群里有一個HR需要找一位1年工作經驗以上,能夠獨立開發App的安卓哥,正在找工作的一定要加這個群阿
最后附截圖:
