【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 ...
随机推荐
- RMQ问题再临
RMQ问题再临 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 终于,小Hi和小Ho踏上了回国的旅程.在飞机上,望着采购来的特产——小Hi陷入了沉思:还记得在上上周他们去 ...
- sql语句优化之not in
多表关联想查a表中除去b表的可用not exists 效率比not in 更高 优化后的语句用时0.421秒 select john.*, (case when round((case john.su ...
- openstack controller ha测试环境搭建记录(十)——配置neutron(控制节点)
创建neutron用户:mysql -u root -p CREATE DATABASE neutron;GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@ ...
- Web 网站 故障常用分析命令
系统连接状态篇: 1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ { ...
- js获取光标位置
js获取光标位置 var TT = { /* * 获取光标位置 * @Method getCursorPosition * @param t element * @return number */ ...
- Tomcat热部署:Maven项目一键部署到Tomcat服务器 - 支持多环境
参考:Eclipse中的Maven项目一键部署到Tomcat服务器 - 支持多环境部署 命令 debug模式设置关联源码 eclipse --> 项目右键 --> Debug As --& ...
- greenDAO简介
了解android开发的人应该都会知道,android的数据库开发主要用到sqlite.greenDAO应该算是当前最火的数据库开源框架了吧,它是一个移动开发的ORM(object / relatio ...
- DateFormat 竟然是非线程安全的?!!!!!
今天撸代码忽然发现一个奇怪的一场抛出,经过一番排查发现有可能DateFormat 的多线程问题造成的,网上一查DateFormat竟然非线程安全.那我原先的代码...(细思极恐)
- 【转】安卓布局:layout_weight的理解
android:layout_weight详细分析介绍: 布局文件是:<?xml version="1.0" encoding="utf-8"?>& ...
- 微信小程序之----问题
1.如何定义全局数据 在app.js的App({})中定义的数据或函数都是全局的,在页面中可以通过var app = getApp(); app.function/key的方式调用,不过我们没有必要 ...