BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Android开发周报:参加挑战赛免费得I/O门票、MVP与MVVM混合架构解析

| 作者 郭亮 关注 18 他的粉丝 发布于 2016年3月30日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

新闻

  1. 《谷歌启动Android Experiments挑战赛 获奖者可获I/O门票》:近日谷歌向开发者发出邀请来挑战Android系统的用途,前三名获奖者能够免费获得Google I/O门票,此外还会筛选出5名参赛者每人获得一台Nexus 6P。通过Android Experiments挑战赛,开发者能够提交个人认为Android的最佳使用案例,不限制参赛者的开发项目,但是要求项目开源,提交日期截止于4月13日。
  2. 《谷歌计划做Android手机通用VR设备 类似三星Gear开放版》:Google内部人士的消息称,Google第一款真正意义上的VR设备实际上就相当于三星Gear VR的开放版——该产品不会受品牌约束,支持所有的Android手机设备接入。在软件层面上,Google未来的计划是把VR功能内建到Android中。如果这是真的,那么诸如Cardboard这样的VR设备将无需第三方应用介入,简化转换过程,进而从理论上降低延迟。
    目前Google官方尚未对Android VR和VR头戴设备的消息做出回应,但如果不出意外的话,相信在今年5月的I/O大会上我们就能一睹为快了。

教程

  1. 《从零开始的Android新项目3 - MVPVM in Action, 谁告诉你MVP和MVVM是互斥的》:MVVM(Model-View-ViewModel),在Android上对应data binding。即ViewModel到View的映射,不需要再去自己找到View,然后更新字段,而是在映射建立后直接更新ViewModel然后反映到View上。而MVP解决了activity/fragment过重的问题,通过V/P分离能够帮助提高可维护性。本文作者在自己的新应用中,采用了MVP+MVVM的混合方式,阅读文章,了解这种架构的详细实施方案。
  2. 《Android Bitmap面面观》:在日常开发中,可以说和Bitmap低头不见抬头见,基本上每个应用都会直接或间接的用到,而这里面又涉及到大量的相关知识。本文是对Bitmap常用知识的梳理总结,有助于我们全面的了解Bitmap的一些细节。
  3. 《ViewAnimator源码分析》:在项目开发中我们应该都接触过动画效果的开发。我们知道在Andorid中实现动画大致分为两类,一种是Tween/Frame动画,另一种是Property Animation也就是属性动画。本文章介绍了属性动画中关于ViewAnimator的相关实现原理。ViewAnimator是用来简化我们写属性动画代码量的,它可以通过非常简洁的代码通过建造者模式调用来组合各种动画,从而让代码简洁易读。本文详细解析了ViewAnimator的源码。
  4. 《Android自定义Lint实践》:Android Lint是Google提供给Android开发者的静态代码检查工具。使用Lint对Android工程代码进行扫描和检查,可以发现代码潜在的问题,提醒程序员及早修正。为保证代码质量,很多开发者都会在开发流程中加入代码检查的功能,如果代码检测到问题,则无法合并到正式分支中,这些检查中就包括Lint。而由于原生Lint无法满足一些特有的需求以及原生Lint存在一些检测缺陷或者缺少一些必要的检测,所以需要自定义Lint。本文是美团关于自定义Lint的实践。
  5. 《一种为Apk动态写入信息的方案》:为了防止被篡改,Apk发布后都会带有签名。但有些时候我们需要在Apk安装之前写入一些数据,比如多渠道动态打包、安装Apk后需要根据不同的来源跳转到不同的页面等。Android使用的Apk包的压缩方式是zip,与zip 有相同的文件结构,在zip文件的末尾有一个Central Directory Record区域,其末尾包含一个File comment区域,可以存放一些数据,所以File comment是zip文件一部分,本文提供的方案就是动态修改这个部分,实现了在不破坏压缩包、不重新打包的的前提下快速的给Apk文件写入自己想要的数据。
  6. 《携程移动App架构优化之旅》:本文为携程移动开发总监陈浩然在2015年10月份的ArchSummit全球架构师峰会上的演讲总结。由于面向受众为架构师,因此不会涉及到很多技术细节。通过本文,你可以了解携程通过哪些手段来优化它的App架构的。
  7. 《RxJava学习总结》:RxJava一个响应式编程框架,采用观察者设计模式,该框架毫无疑问是近两年来最火热的Android开发技术这一,本文是一篇关于RxJava的基础教程,作者总结了自己学习RxJava的一些知识点,有助于RxJava新手快速熟练该技术。

开源项目

  1. nginx-rtmp-module:这是一个本地的RTMP音视频直播demo,有了它,就可以自己学习和使用ffmpeg、libRTMP库,能够在Android下写推流以及拉流播放的代码和应用。
  2. BoomMenu:BoomMenu是一款带有爆炸效果的菜单按钮,不仅效果很炫,并且提供了多达32种的排列方式。
  3. RoadRunner:Road Runner是一个通过使用SVG图片,快速生成加载动画的库。
  4. BlurLockView:这是一款毛玻璃效果的解锁界面,带有密码锁功能。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT