惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
量子位
The Cloudflare Blog
美团技术团队
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 三生石上(FineUI控件)
T
Tor Project blog
博客园 - 司徒正美
宝玉的分享
宝玉的分享
T
Threatpost
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Secure Thoughts
T
Threat Research - Cisco Blogs
Hacker News: Ask HN
Hacker News: Ask HN
Jina AI
Jina AI
博客园 - 聂微东
A
Arctic Wolf
I
Intezer
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Know Your Adversary
Know Your Adversary
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
小众软件
小众软件
T
Tailwind CSS Blog
The Hacker News
The Hacker News
L
LINUX DO - 最新话题
Hacker News - Newest:
Hacker News - Newest: "LLM"
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
TaoSecurity Blog
TaoSecurity Blog
Project Zero
Project Zero
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cloudbric
Cloudbric
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Troy Hunt's Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V2EX - 技术
V2EX - 技术
The GitHub Blog
The GitHub Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog

博客园 - lodestar

一张图掌握数据存储 使用xtrabackup实现mysql定时热备份 开发篇1:使用原生api和Langchain调用大模型 预热篇2:从RNN到Transformmer 预热篇1:大模型训练显卡选型 macbook安装scala、hadoop、saprk环境 centos6.5 squid安装 一次linux服务器黑客入侵后处理 linux上搭建svn服务器 Windows系统下Oracle每天自动备份 android中listView的几点总结 andorid进度条使用 andorid定时器应用 - lodestar Android网络应用(第一部分) - lodestar 错误数据导致java.lang.IllegalArgumentException:Unsupported configuration attributes 使用ACEGI搭建权限系统:第三部分 acegi安全框架使用:第二部分 使用ACEGI实现权限控制,第一部分 ajax实现用户名存在校验
使用template method模式简化android列表页面
lodestar · 2012-11-09 · via 博客园 - lodestar

场景:展现列表数据,点击后显示明细,这种列表页面是web开发和android开发经常会碰到的页面,在android应用中,这些页面有一些共性的需求:

1.       分页处理:每次查询只查询几条几率,通过滚屏或者最下方的提示按钮增量查询第二页

2.       异步数据加载,网络查询这种操作,可能由于网络原因,超时报异常。所以:第一次查询和以后的增量查询都需要异步处理

3.       点击后查询明细数据

类似OA的系统中,这类页面会非常多,而这部分代码基本是拷贝粘贴,通过使用template method模式,可以简化此类页面的开发

算法:template method是保持算法骨架不变,使具体的算法发生变化

这里我们建1个抽象类,实现算法骨架:

1.       加载页面

2.       计算屏幕大小,确定分页查询的条目数

3.       得到具体的listView

4.       打开进度条后异步查询

5.       查询后在Hander中处理

5.1   得到具体的Adapter

5.2   Adapter绑定ListView并实现增量查询

5.3   注册ListView的条目单击、点击变色等事件

上面的每个步骤都是抽象方法,在继承类中实现算法的变化

分页查询:java web开发中,依托Hibernate或者jdbc,分页查询有比较完整的解决方法。我们可以充分利用已有的分页查询,android提交给后台的数据包括开始记录数据,查询结束记录数。记录的开始和结束条目需要在滚屏或者点击增量查询按钮时获得,在android客户端的处理推荐几篇博客,很详细,这里就不再说了。

http://www.oschina.net/question/54100_31819

http://blog.csdn.net/cjjky/article/details/6898871

http://blog.csdn.net/wangkuifeng0118/article/details/7252423

         其他:在实际应用中,由于明细查询弹出数据框显示,没有新开activity,所以抽象类中封装了附件是否已下载判断、附件下载的动态列表。项目中使用httpClientsession在网络中断后可能丢失,像web程序一样,seesion丢失后需要重新登录,重新查询,否则不能正确显示和用户相关数据,这个也可封装在抽象类中。极大的简化了开发后续页面的开发,而且维护方便。