《android开发-从小工到专家》学习记录(二)

适配器模式、观察者模式以及ListView/RridView/RecylerView。

先从设计模式说起吧,今天在学习的时候参阅了一篇文章:点击打开链接,其中对适配器模式说的很清楚;

其实对于设计模式我没有太多的了解,因为工程性的开发在大学里接触的并不是很多,代码的工程量也不是很大,所以每次当面试官问起设计模式,自己总是一知半解的说一些含糊其辞的话,真正接触了开发之后发现设计模式的运用是非常普遍的,在日常开发中总是能碰到,比如处理Button的点击事件,设置ListView之类的,学习了之后发现其贯穿的就是面向对象的特性。

适配器模式我最开始的了解就是定义的描述,如同“两个不兼容接口的桥梁”啥的,搞得很模糊,其实有些东西就是这样,你不知道的情况下看觉得玄乎得很,你了解了之后发现,这玩意贼好理解,我对于适配器的理解就是转换器。转换器好理解吧,就是把一个不能用的东西转换成能用的。比如网上充值话费,你只有100元现金,你可以先把这钱给你朋友,让你朋友转账给你,你再去充值,或者直接叫你朋友帮你充值,其实我们生活中就很常见了,所以我对于设计模式的理解,并不是要知道某一个设计模式是干什么的,而是应该知道这一个设计模式在代码上如何去实现,有哪些应用场景,这样的设计有哪些好处。

观察者模式其实从命名上就比较贴近生活,举一个例子,按钮触发事件,我们为了在android中实现按钮触发事件的设置,我们会先获取按钮元素Button,然后set一个监听器,我们也经常会直接使用匿名内部类去完成这个监听器,就是直接在set函数中new一个onClickListener,这是一个接口,实现它需要override一个onClick()函数,写完之后我们就实现了按钮触发事件,就是这样一个监听+回调的过程,观察者模式也就是这个意思,发生了事件,会将此事件发送给已注册的观察者(不一定是自动发送,比如notify,是通过函数表示事件发生,从而发送信息的),观察者做出相应的回应。

比如ListView,实现一个ListView需要:1.用以展示列表的ListView;2.用来把数据映射到ListView的适配器;3.数据集;4.数据展示的View模板;

这个解释是从书上看来的,实在清晰得不能再清晰了,佩服,这里面适配器所起到的作用就是将数据转换成View,具体怎么转换,简单来说就是获取数据个数,获取数据item,获取当前位置,展示在view模板上并最终展示在ListView上;其次当数据发送变化时,再观察者模式下,adapter调用notify通知观察者,观察者调用listview中的方法重新获取layout并刷新界面。

今天太懒了,时间也太晚了,希望以后能多拿源代码分析学习,并且展示,也希望以后的学习笔记越来越有价值,不像今天这么水。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值