【Android】 分享一个完整的项目,适合新手!
写这个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的安卓哥,正在找工作的一定要加这个群阿
最后附截图: