写这个app之前是因为看了头条的一篇文章:http://www.managershare.com/post/155110,然后心想要不做一个这样的app,让手机计算就行了。也就没多想就去开始整了。

 
项目用到了三个开源包:
 
 
使用方法:
1.在Appliction的onCreate里初始化
  1. /**
  2. * 初始化imageLoader
  3. */
  4. public void initImageLoader() {
  5. File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
  6. ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
  7. getApplicationContext())
  8. .memoryCache(new LruMemoryCache(5 * 1024 * 1024))
  9. .memoryCacheSize(10 * 1024 * 1024)
  10. .discCache(new UnlimitedDiscCache(cacheDir))
  11. .discCacheFileNameGenerator(new HashCodeFileNameGenerator())
  12. .build();
  13. ImageLoader.getInstance().init(config);
  14. }
  15.  
  16. public DisplayImageOptions getOptions(int drawableId) {
  17. return new DisplayImageOptions.Builder().showImageOnLoading(drawableId)
  18. .showImageForEmptyUri(drawableId).showImageOnFail(drawableId)
  19. .resetViewBeforeLoading(true).cacheInMemory(true)
  20. .cacheOnDisc(true).imageScaleType(ImageScaleType.EXACTLY)
  21. .bitmapConfig(Bitmap.Config.RGB_565).build();
  22. }

  2.使用时调用:

  1. ImageLoader.getInstance().displayImage(
  2. avatarUrl,
  3. holder.mImage,
  4. MyApplication.getInstance().getOptions(
  5. R.drawable.user_icon_default_main),
  6. new SimpleImageLoadingListener() {
  7. @Override
  8. public void onLoadingComplete(String imageUri,
  9. View view, Bitmap loadedImage) {
  10. super.onLoadingComplete(imageUri, view, loadedImage);
  11. }
  12. });
 
 
使用方法:
  1. // 设置PullToRefresh
  2. mListView.setMode(Mode.BOTH);
  3. mListView.setOnRefreshListener(new OnRefreshListener2<ListView>() {
  4. // 下拉Pulling Down
  5. @Override
  6. public void onPullDownToRefresh(
  7. PullToRefreshBase<ListView> refreshView) {
  8. String label = DateUtils.formatDateTime(MainAct.this,
  9. System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
  10. | DateUtils.FORMAT_SHOW_DATE
  11. | DateUtils.FORMAT_ABBREV_ALL);
  12. refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);
  13. mListView.setMode(Mode.BOTH);
  14. pullFromUser = true;
  15. mRefreshType = RefreshType.REFRESH;
  16. pageNum = 0;
  17. lastItemTime = getCurrentTime();
  18. //获取数据
  19. fetchData();
  20. }
  21.  
  22. // 上拉Pulling Up
  23. @Override
  24. public void onPullUpToRefresh(
  25. PullToRefreshBase<ListView> refreshView) {
  26. // 上拉的时候添加选项
  27. mRefreshType = RefreshType.LOAD_MORE;
  28. //获取数据
  29. fetchData();
  30. }
  31.  
  32. });
  33. actualListView = mListView.getRefreshableView();
  34. actualListView.setFastScrollEnabled(true);
  35. mEntities = new ArrayList<RankEntity>();
  36. mAdapter = new MainListAdapter(MainAct.this, mEntities);
  37. actualListView.setAdapter(mAdapter);
  38. if (mEntities.size() == 0) {
  39. fetchData();
  40. }
  41. 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的安卓哥,正在找工作的一定要加这个群阿
 
最后附截图:

【Android】 分享一个完整的项目,适合新手!的更多相关文章

  1. 一个完整的项目中,需要的基本gulp

    一个完整的项目需要使用gulp的多种功能,包括—— (1)加载各种需要的插件 var concat=require('gulp'); var clean=require(''gulp); 等等.需要的 ...

  2. android:分享 一个很强大的LOG开关---Log.isLoggable

    标签:android分享 一个很强大的log开 1.API亮点: 此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率. 2.API介绍 最近在解决短信问题时,看到 ...

  3. asp.netmvc 三层搭建一个完整的项目

    接下来用 asp.net mvc 三层搭建一个完整的项目: 架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案 ...

  4. 如何基于Spring Boot搭建一个完整的项目

    前言 使用Spring Boot做后台项目开发也快半年了,由于之前有过基于Spring开发的项目经验,相比之下觉得Spring Boot就是天堂,开箱即用来形容是绝不为过的.在没有接触Spring B ...

  5. android 分享一个处理BaseAdapter,getView()多次加载的方法

    一:BaseAdapter介绍 BaseAdapter是listview,gridview等列表,使用的数据适配器,它的主要用途是将一组数据传到ListView.Spinner.Gallery及Gri ...

  6. 分享一个集成在项目中的REST APIs文档框架swagger

    1 为什么是使用swagger? 1-1 当后台开发人员开发好接口,是不是还要重新书写一份接口文档提给前端人员,当然对于程序员最不喜欢的就是书写文档(当然文档是必须的,有利于项目的维护) 1-2 当后 ...

  7. Android Studio 一个完整的APP实例(附源码和数据库)

    前言: 这是我独立做的第一个APP,是一个记账本APP. This is the first APP, I've ever done on my own. It's a accountbook APP ...

  8. Android 分享一个SharedPreferences的工具类,方便保存数据

    我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPrefe ...

  9. 分享一个完整的Mybatis分页解决方案

    Mybatis 的物理分页是应用中的一个难点,特别是配合检索和排序功能叠加时更是如此. 我在最近的项目中开发了这个通用分页器,过程中参考了站内不少好文章,阅读源码帮助更大minglisoft.cn/t ...

随机推荐

  1. RMQ问题再临

    RMQ问题再临 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 终于,小Hi和小Ho踏上了回国的旅程.在飞机上,望着采购来的特产——小Hi陷入了沉思:还记得在上上周他们去 ...

  2. sql语句优化之not in

    多表关联想查a表中除去b表的可用not exists 效率比not in 更高 优化后的语句用时0.421秒 select john.*, (case when round((case john.su ...

  3. openstack controller ha测试环境搭建记录(十)——配置neutron(控制节点)

    创建neutron用户:mysql -u root -p CREATE DATABASE neutron;GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@ ...

  4. Web 网站 故障常用分析命令

    系统连接状态篇: 1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ { ...

  5. js获取光标位置

    js获取光标位置   var TT = { /* * 获取光标位置 * @Method getCursorPosition * @param t element * @return number */ ...

  6. Tomcat热部署:Maven项目一键部署到Tomcat服务器 - 支持多环境

    参考:Eclipse中的Maven项目一键部署到Tomcat服务器 - 支持多环境部署 命令 debug模式设置关联源码 eclipse --> 项目右键 --> Debug As --& ...

  7. greenDAO简介

    了解android开发的人应该都会知道,android的数据库开发主要用到sqlite.greenDAO应该算是当前最火的数据库开源框架了吧,它是一个移动开发的ORM(object / relatio ...

  8. DateFormat 竟然是非线程安全的?!!!!!

    今天撸代码忽然发现一个奇怪的一场抛出,经过一番排查发现有可能DateFormat 的多线程问题造成的,网上一查DateFormat竟然非线程安全.那我原先的代码...(细思极恐)

  9. 【转】安卓布局:layout_weight的理解

    android:layout_weight详细分析介绍: 布局文件是:<?xml version="1.0" encoding="utf-8"?>& ...

  10. 微信小程序之----问题

    1.如何定义全局数据 在app.js的App({})中定义的数据或函数都是全局的,在页面中可以通过var app = getApp();  app.function/key的方式调用,不过我们没有必要 ...