【Android】 分享一个完整的项目,适合新手!
写这个app之前是因为看了头条的一篇文章:http://www.managershare.com/post/155110,然后心想要不做一个这样的app,让手机计算就行了。也就没多想就去开始整了。
- /**
- * 初始化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);



【Android】 分享一个完整的项目,适合新手!的更多相关文章
- 一个完整的项目中,需要的基本gulp
一个完整的项目需要使用gulp的多种功能,包括—— (1)加载各种需要的插件 var concat=require('gulp'); var clean=require(''gulp); 等等.需要的 ...
- android:分享 一个很强大的LOG开关---Log.isLoggable
标签:android分享 一个很强大的log开 1.API亮点: 此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率. 2.API介绍 最近在解决短信问题时,看到 ...
- asp.netmvc 三层搭建一个完整的项目
接下来用 asp.net mvc 三层搭建一个完整的项目: 架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案 ...
- 如何基于Spring Boot搭建一个完整的项目
前言 使用Spring Boot做后台项目开发也快半年了,由于之前有过基于Spring开发的项目经验,相比之下觉得Spring Boot就是天堂,开箱即用来形容是绝不为过的.在没有接触Spring B ...
- android 分享一个处理BaseAdapter,getView()多次加载的方法
一:BaseAdapter介绍 BaseAdapter是listview,gridview等列表,使用的数据适配器,它的主要用途是将一组数据传到ListView.Spinner.Gallery及Gri ...
- 分享一个集成在项目中的REST APIs文档框架swagger
1 为什么是使用swagger? 1-1 当后台开发人员开发好接口,是不是还要重新书写一份接口文档提给前端人员,当然对于程序员最不喜欢的就是书写文档(当然文档是必须的,有利于项目的维护) 1-2 当后 ...
- Android Studio 一个完整的APP实例(附源码和数据库)
前言: 这是我独立做的第一个APP,是一个记账本APP. This is the first APP, I've ever done on my own. It's a accountbook APP ...
- Android 分享一个SharedPreferences的工具类,方便保存数据
我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPrefe ...
- 分享一个完整的Mybatis分页解决方案
Mybatis 的物理分页是应用中的一个难点,特别是配合检索和排序功能叠加时更是如此. 我在最近的项目中开发了这个通用分页器,过程中参考了站内不少好文章,阅读源码帮助更大minglisoft.cn/t ...
随机推荐
- perties类的操作
http://www.cnblogs.com/bakari/p/3562244.html perties类的操作 知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源 ...
- python之路: 基础篇
)或>>> name = ) #按照占位符的顺序):] #下标识从0开始的 wulaoer >>> print name[:] # ...
- [转] SpringJdbc的几种不同的用法
转自:http://vsp.iteye.com/blog/1182887 Spring对jdbc做了良好的封装,本人在学习时做了以下几种方式的尝试 首页先来创建一个dao接口 package com. ...
- struts2使用iterator标签显示嵌套Map - 云自无心水自闲 - BlogJava
"> <s:iterator value="dataMap.keySet()" id="class"> ...
- (译)Windsor入门教程---第五部分 添加日志功能
介绍 现在我们已经有了基础的框架了,是时候添加内容了,那么我们首先应该考虑的就是在应用程序中添加日志功能.我们会使用Windsor来配置,在这一部分,你将学习Windsor之外的其他功能. L ...
- STM32驱动W25X64存储器
W25X64 是华邦公司推出的大容量 SPI FLASH 产品,W25X64 的容量为 64Mbit(8M),该系列还有 W25Q80/16/32 等.W25X16,W25X32,W25X64分别有 ...
- iOS开发UITableView基本使用方法总结
本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...
- jsp发布后应用根目录
1.发布到tomcat后获取应用的根目录 ServletContext s1=this.getServletContext(); String temp=s1.getRealPath("/& ...
- chorme加减乘除浮点数处理
在处理简单的1-0.7的时候发现chorme给的结果竟然是0.30000000000000004,瞬间蛋疼了,这数据能用?! 然后去百度找到了简单的两个数的加减乘除,然后修改了下,除了除法都可以多个数 ...
- NOIP前刷水行动
2016.11.15 BZOJ1009:DP+矩阵乘法+KMP BZOJ1898:矩阵乘法 BZOJ4101:贪心,考虑我们往右边撞的时候,我们会向左边冲 ,于是枚举答案点利用一个指针计算即可! 20 ...