根据仿人人客户端教程,编程实现Demo(三)---根据新鲜事过滤列表,分类显示新鲜事信息

仍然在以前那个Demo基础上,新添加了一些功能:(基于原文教程-http://blog.csdn.net/android_ls/article/details/8896692)--大概Demo里面的内容就是到原文的该教程为止

这两天新增功能:

1.新鲜事之下拉列表(在PopupWindow基础上的过滤列表)

---根据过滤列表的选择,分类显示不同类型(FeedType)的信息

遇到的问题:(上次有写到)

1.1 PopupWindow时卡死不动,原因:PopupWindow必须要设置一张背景,要不然就会卡死不动(不知道为什么会有好、这种设定)

1.2 PopupWindow 里面的ListView设置监听无效,原因:ListView中的单个Item的view中存在checkbox,button等view,会导致ListView.setOnItemClickListener无效,事件会被子View捕获到,ListView无法捕获处理该事件。

解决方法:在checkbox、button对应的view处加android:focusable="false" android:clickable="false"android:focusableInTouchMode="false"其中focusable是关键

2.新鲜事之分享照片(以及上传照片)

---重新写了一个Layout,专门用来显示附加媒体Attachment里面的Photo信息(这里做了简易处理,所以只显示里面的一张图片-做好点应该是动态显示多张)

遇到的问题:

2.1 网络请求JSON,当网络请求次数超过一定值,JSON一直返回是{}---空值

原因:里面刷新LIstView时用了一个全局参数page,每次刷新page++,但是page是一个请求的网络参数,当page大于一定值时,网站本身就没有json可以返回。所以会一直为空,

解决方法:当切换类型时,将page重置。


关于线程池的用法:构造方法
 ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)

当一个任务通过execute(Runnable)方法欲添加到线程池时:

l  如果此时线程池中的数量小于corePoolSize,即使线程池中的线程都处于空闲状态,也要创建新的线程来处理被添加的任务。

l  如果此时线程池中的数量等于 corePoolSize,但是缓冲队列 workQueue未满,那么任务被放入缓冲队列。

l  如果此时线程池中的数量大于corePoolSize,缓冲队列workQueue满,并且线程池中的数量小于maximumPoolSize,建新的线程来处理被添加的任务。

l  如果此时线程池中的数量大于corePoolSize,缓冲队列workQueue满,并且线程池中的数量等于maximumPoolSize,那么通过 handler所指定的策略来处理此任务。也就是:处理任务的优先级为:核心线程corePoolSize、任务队列workQueue、最大线程maximumPoolSize,如果三者都满了,使用handler处理被拒绝的任务。

l  当线程池中的线程数量大于 corePoolSize时,如果某线程空闲时间超过keepAliveTime,线程将被终止。这样,线程池可以动态的调整池中的线程数。




未来展望:完整的显示新鲜事里面的所有类型的信息。。。

---2014/12/10日更新---

1.对以前的代码做了些许调整,优化

2.ListView换位一种开源组件XListView(自动实现下拉加载更多,上拉刷新功能)

3.增加新鲜事其它模块的实现,如 Blog,Status,Photo等分类(下次准备在增加一个Video---自己写VideoLoader装载VideoView组件)

---2014/12/11日更新---

1.个人主页的实现(写实体类才是最大的体力活)

2.程序之外的事(11日看了星级穿越,觉得这电影挺不错的,于是上网搜了里面的理论支持,发现里面很多都是用的弦理论以及M理论,于是又去百度,看了优雅的宇宙这个系列视频,真的挺赞的---至少对于我这种物理盲来说,还是很脑补的。毕竟生活中不仅有程序,还有太多的其它。了解宇宙未知也是人类的本性。。。)

本次DEMO地址:http://download.csdn.net/detail/u010979495/8241643 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值