7.首页、bitmaputils
HomeProtocol
public class HomeProtocol extends BaseProtocol<List<AppInfo>>{// 1 把整个json文件写到一个本地文件中 **// 2 把每条数据都摘出来存到数据库中// 见到大括号 就用JsonObject ,见到中括号就是JsonArraypublic List<AppInfo> paserJson(String json) {List<AppInfo> appInfos=new ArrayList<AppInfo>();try {JSONObject jsonObject=new JSONObject(json);JSONArray jsonArray = jsonObject.getJSONArray("list");for(int i=0;i<jsonArray.length();i++){JSONObject jsonObj = jsonArray.getJSONObject(i);long id=jsonObj.getLong("id");String name = jsonObj.getString("name");String packageName=jsonObj.getString("packageName");String iconUrl = jsonObj.getString("iconUrl");float stars=Float.parseFloat(jsonObj.getString("stars"));long size=jsonObj.getLong("size");String downloadUrl = jsonObj.getString("downloadUrl");String des = jsonObj.getString("des");AppInfo info=new AppInfo(id, name, packageName, iconUrl, stars, size, downloadUrl, des);appInfos.add(info);}return appInfos;} catch (JSONException e) {e.printStackTrace();return null;}}@Overridepublic String getKey() {return "home";}}
public class BaseListView extends ListView {public BaseListView(Context context) {super(context);init();}public BaseListView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);init();}public BaseListView(Context context, AttributeSet attrs) {super(context, attrs);init();}private void init() {// setSelector 点击显示的颜色// setCacheColorHint 拖拽的颜色// setDivider 每个条目的间隔 的分割线this.setSelector(R.drawable.nothing); // 什么都没有this.setCacheColorHint(R.drawable.nothing);this.setDivider(UiUtils.getDrawalbe(R.drawable.nothing));}}
public class HomeFragment extends BaseFragment {private List<AppInfo> datas;// 当Fragment挂载的activity创建的时候调用@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);show();}public View createSuccessView() {BaseListView listView=new BaseListView(UiUtils.getContext());listView.setAdapter(new HomeAdapter());// 第二个参数 慢慢滑动的时候是否加载图片 false 加载 true 不加载// 第三个参数 飞速滑动的时候是否加载图片 true 不加载listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true));bitmapUtils.configDefaultLoadingImage(R.drawable.ic_default); // 设置如果图片加载中显示的图片bitmapUtils.configDefaultLoadFailedImage(R.drawable.ic_default);// 加载失败显示的图片return listView;}private class HomeAdapter extends BaseAdapter{@Overridepublic int getCount() {return datas.size();}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view;ViewHolder holder;if(convertView==null){view=View.inflate(UiUtils.getContext(), R.layout.item_app, null);holder=new ViewHolder();holder.item_icon=(ImageView) view.findViewById(R.id.item_icon);holder.item_title=(TextView) view.findViewById(R.id.item_title);holder.item_size=(TextView) view.findViewById(R.id.item_size);holder.item_bottom=(TextView) view.findViewById(R.id.item_bottom);holder.item_rating=(RatingBar) view.findViewById(R.id.item_rating);view.setTag(holder);}else{view=convertView;holder=(ViewHolder) view.getTag();}AppInfo appInfo=datas.get(position);holder.item_title.setText(appInfo.getName());// 设置应用程序的名字String size=Formatter.formatFileSize(UiUtils.getContext(), appInfo.getSize());holder.item_size.setText(size);holder.item_bottom.setText(appInfo.getDes());float stars = appInfo.getStars();holder.item_rating.setRating(stars); // 设置ratingBar的值String iconUrl = appInfo.getIconUrl(); //http://127.0.0.1:8090/image?name=app/com.youyuan.yyhl/icon.jpg// 显示图片的控件bitmapUtils.display(holder.item_icon, HttpHelper.URL+"image?name="+iconUrl);return view;}@Overridepublic Object getItem(int position) {return datas.get(position);}@Overridepublic long getItemId(int position) {return position;}}static class ViewHolder{ImageView item_icon;TextView item_title,item_size,item_bottom;RatingBar item_rating;}//检测数据public LoadResult load() {HomeProtocol protocol=new HomeProtocol();datas = protocol.load(0);return checkData(datas);}}
7.首页、bitmaputils的更多相关文章
- SQLSERVER走起微信公众帐号全新改版 全新首页
SQLSERVER走起微信公众帐号全新改版 全新首页 今天,SQLSERVER走起微信公众帐号增加了首页功能 虽然还是订阅号,不过已经对版面做了比较大的修改,希望各位亲用得放心.用得安心O(∩_∩)O ...
- 带你实现开发者头条APP(四)---首页优化(加入design包)
title: 带你实现开发者头条APP(四)---首页优化(加入design包) tags: design,Toolbar,TabLayout,RecyclerView grammar_cjkRuby ...
- 带你实现开发者头条APP(三) 首页实现
title: 带你实现开发者头条APP(三) 首页实现 tags: 轮播广告,ViewPager切换,圆形图片 grammar_cjkRuby: true --- 一.前言 今天实现开发者头条APP的 ...
- 修复IE11首页被恶意篡改的问题
前几天为了测试一个程序,把系统换成了Windows10,Windows10自带了微软的新浏览器Edge和IE11,用来其实也没什么太多感觉了,我习惯于Chrome,但有些东西还是得用IE,比如网银之类 ...
- 每日设置Bing首页图片为壁纸
闲来无事,手痒痒要做一个什么小工具. 于是乎便有了本文. 当有一个想法的时候,首先免不了网上搜索一番以便看一下有木有网友有过类似的想法. 很显然--有! 因此本文大代码是从几个地方搜索,然后组合的. ...
- GooglePlay 首页效果----tab的揭示效果(Reveal Effect) (1)
GooglePlay 首页效果----tab的揭示效果(Reveal Effect) (1) 前言: 无意打开GooglePlay app来着,然后发现首页用了揭示效果,连起来用着感觉还不错. 不清楚 ...
- Android RecyclerView 实现支付宝首页效果
Android RecyclerView 实现支付宝首页效果 [TOC] 虽然我本人不喜欢支付宝的,但是这个网格本身其实还是不错的,项目更新中更改了一个布局为网格模式,类似支付宝.(估计是产品抄袭的= ...
- 从零开始编写自己的C#框架(17)——Web层后端首页
后端首页是管理员登陆后进入的第一个页面,主要是显示当前登陆用户信息.在线人数.菜单树列表.相关功能按键和系统介绍.让管理员能更方便的找到息想要的内容. 根据不同系统的需要,首页会显示不同的内容,比如显 ...
- 模仿东京首页banner轮播,京东新闻上下滚动动画实现(动画实现)
接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现 想着 ...
随机推荐
- 大数据学习(二)-------- MapReduce
前提已经安装好hadoop的hdfs集群,可以查看 https://www.cnblogs.com/tree1123/p/10683570.html Mapreduce是hadoop的运算框架,可以对 ...
- PHP整理--PHP语句流程
PHP跟JS一样是从上往下的执行语句:同样的PHP也有if语句.循环.数组和函数. 一.条件语句 if..else... swich (1)多条if语句 $name=30; if($nam ...
- Jenkins+Gradle+Sonar进行Java项目代码分析
Jenkins+Maven+Sonar与Jenkins+Gradle+Sonar配置方法很相似,区别就是Java项目所用的编译工具不同,一个是maven,一个是gradle 使用maven编译工具的可 ...
- 《C++实践之路.pdf》源码
> 源码下载方法 < >> 打开微信 >> 扫描下方二维码 >> 关注林哥私房菜 >> 输入对应编号获取百度网盘提取密码 全书源码[已更新完 ...
- 利用正则表达式实现python强口令检测
""" Chapter 7 模式匹配和正则表达式 1 用import re 导入正则表达式模块 2 用re.compile()函数创建一个Regex对象(记得使用原始字符 ...
- 51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
博客迁移至: https://www.dboop.com/ 从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 申明:个人Python编程很溜,但是C++还停 ...
- function 函数
function:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回.因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. 如果没有return语句,函数执行完毕后也 ...
- GUI学习之九——QLineEdit的学习总结
我们在前面学习了各种按钮控件,从这一章开始就是各种输入控件的学习. 首先要用的就是QLineEdit——单行编辑器, 一描述 QLineEdit是一个单行文本编辑器,允许用户输入和编辑单行纯文本.自带 ...
- Python之PIL库
Python PIL PIL (Python Image Library) 库是Python 语言的一个第三方库,PIL库支持图像存储.显示和处理,能够处理几乎所有格式的图片. 一.PIL库简介 1. ...
- dubbo-2.5.6优雅停机研究
不优雅的停机: 当进程存在正在运行的线程时,如果直接执行kill -9 pid时,那么这个正在执行的线程被中断,就好像一个机器运行中突然遭遇断电的情况,所导致的结果是造成服务调用的消费端报错,也有可能 ...