看到题目,我相信聪明的各位已经有一定想法了. 一个Adapter,最简单的优化就是使用泛型,他可以省去非常多的代码,不过在此之上,我们还可以继续优化,优化他的好基友是:ViewHolder. 在过去,我们通常使用一个内部类来写ViewHolder,换一种思路,我们用集合来设计ViewHolder,集合的泛型指定为View,这样ViewHolder就变成通用的了. 原理知道了,后面只剩下代码逻辑问题了. (注:特别复杂的Listview或者RecycleView不适用,用集合替换ViewHolde…
##RecycleView简单介绍 RecyclerView控件和ListView的原理有非常多相似的地方,都是维护少量的View来进行显示大量的数据.只是RecyclerView控件比ListView更加高级而且更加灵活.当我们的数据由于用户事件或者网络事件发生改变的时候也能非常好的进行显示.和ListView不同的是,RecyclerView不用在负责Item显示相关的功能.全部有关布局.绘制.数据绑定等都被分拆成不同的类进行管理.同一时候RecyclerView控件提供了下面两种方法来进行…
原文出处: 张鸿洋 (Granker,@鸿洋_ ) 一.概述 记得好久以前针对ListView类控件写过一篇打造万能的ListView GridView 适配器,如今RecyclerView异军突起,其Adapter的用法也与ListView类似,那么我们也可以一步一步的为其打造通用的Adapter,使下列用法书写更加简单: 简单的数据绑定(单种Item) 多种Item Type 数据绑定 增加onItemClickListener , onItenLongClickListener 优雅的添加…
今天随便逛逛CSDN,看到主页上推荐了一篇文章Android 高速开发系列 打造万能的ListView GridView 适配器,刚好这两天写项目自己也封装了相似的CommonAdapter,曾经也在github上看到过这种库,于是自己也把自己的代码再次整理出来与大家分享,也希望可以在CSDN这个平台上学到很多其它的东西,以下就一起来看看吧. 平时我们在项目中使用到ListView和GridView组件都是都会用到Adapter,比較多的情况是继承自BaseAdapter,然后实现getCoun…
接着<Cocos Creator 通用框架设计 -- 资源管理>聊聊资源管理框架后续的一些优化: 通过论坛和github的issue,收到了很多优化或bug的反馈,基本上抽空全部处理了,大概做了这么一些事情. https://github.com/wyb10a10/cocos_creator_framework 修复重复引用泄露bug 修复md5构建泄露bug 修复龙骨动画依赖资源释放bug 修复微信下的依赖构建bug 修复持久节点释放bug 优化了资源依赖结构 支持了资源目录和数组的批量加载…
多租户通用权限设计(基于 casbin) 所谓权限控制, 概念并不复杂, 就是确认某个操作是否能做, 本质上仅仅就是个bool判断. 权限几乎是每个系统必不可少的功能, 和具体业务结合之后, 在系统中往往表现的非常复杂和难于控制, 很大部分原因是把权限和具体业务结合的太过紧密, 把业务的复杂度也加入到权限控制中来了. 一直以来, 都有个想法, 想做一套简单好用的通用权限系统, 和任何业务都没有关系, 仅仅就是权限本身的功能. 对此, 做过很多尝试, 由于设计能力有限, 最后都不了了之, 没能坚持…
作者|傅猿猿 责编|Javen205 有福利 有福利 有福利 鸣谢 感谢@傅猿猿 邀请写此系列文章 Android通用框架设计与完整电商APP开发 课程介绍 [导学视频] [课程详细介绍] 以下是部分截图 介绍与自我介绍 作者:网名@傅猿猿 陕西 西安市 全栈工程师 能文能武(评论区留言有机会获取个人微信畅聊人生) 点兵软件CTO 联合创始人 擅长Android Linux PHP JavaScript Go 程序架构和框架设计. 以下是傅老师在慕课网上的介绍以及课程 下面开始来简单介绍下责编,…
我们寻常使用Adapter的方式 public class BusbaseSearchApadter extends SimpleBaseApadter { private List<Busbase> busbases = new ArrayList<Busbase>(); public Context context; public void setList(List<Busbase> busbases) { this.busbases = busbases; } p…
在Creator中发起一个http请求是比较简单的,但很多游戏希望能够和服务器之间保持长连接,以便服务端能够主动向客户端推送消息,而非总是由客户端发起请求,对于实时性要求较高的游戏更是如此.这里我们会设计一个通用的网络框架,可以方便地应用于我们的项目中. 使用websocket 在实现这个网络框架之前,我们先了解一下websocket,websocket是一种基于tcp的全双工网络协议,可以让网页创建持久性的连接,进行双向的通讯.在Cocos Creator中使用websocket既可以用于h5…
主要更新: 1:升级处理机制(js请求由同步变更为异步) 2:优化前端JS:包括API和配置方式. 3:增加InputDialog功能. 4:增远远程验证功能. 5:优化权限安全机制. 6:增加一次请求多个方法的功能. 7:优化支持文本数据库(为了演示Demo,节省我服务器的资源) 从旧版本升级的注意事项: Config_Grid表的字段变更: viewname字段,变更为Rules,长度为250. MergeIndexed,改名为:MergeIndex. 开源地址: GitHub:https:…