FinOps有望降低企业50%+的云成本! 了解详情
写点什么

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

  • 2016-03-29
  • 本文字数:1959 字

    阅读完需:约 6 分钟

新闻

  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 )关注我们。

2016-03-29 19:002313
用户头像

发布了 121 篇内容, 共 40.0 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

浅谈机器学习模型推理性能优化

Thoughtworks洞见

人工智能 机器学习

园区能耗监测平台搭建,能源管控系统管理

t13823115967

能源管控

mybatis使用及SQL语句优化小结

华为云开发者联盟

数据库 mybatis 索引 实用SQl语句

AWS x 德勤 | “三步走”策略,赋能企业打造洞察驱动型组织

亚马逊云科技 (Amazon Web Services)

云计算 AWS

数据中心大二层网络技术大揭秘

华为云开发者联盟

服务器 数据中心 虚拟化 大二层网络 VLAN

Vue 3 组件开发:搭建基于 Vite 的在线表格编辑系统(组件集成)

葡萄城技术团队

vue.js Vue SpreadJS vite

揭开KPI异常检测顶级AI模型面纱

华为云开发者联盟

华为 AI 数据 决策树

HTML03 - 表格

Mr.Cactus

html

HTML04 - 表单

Mr.Cactus

html

冰河开始对Dubbo下手了!

冰河

微服务 dubbo 源码解析 服务治理 RPC调用

Socket粘包问题的3种解决方案,最后一种最完美!

王磊

Java socket websocket

IPFS挖矿APP系统开发|IPFS挖矿软件开发

系统开发

为什么计算机经典大头书老是看不进去?

yes

学习 技术书籍 阅读

Go语言分布式系统配置管理实践--go archaius

华为云开发者联盟

分布式 Go 语言

创业公司用 Serverless,到底香不香?

Serverless Devs

Java Serverless 运维 云原生 大前端

让你的react代码跑在svelte引擎上

闲鱼技术

十三周作业

solike

HTML01 - 标签

Mr.Cactus

html

NSE交易所系统软件开发|NSE交易所APP开发

系统开发

三十未立

阿萌

人生修炼

Angel图神经网络算法在推荐场景下的实践

DataFunTalk

大数据

SRE灵魂之SLI和SLO

勇往直前的胖子

SRE SLO

13周作业

走走,停停……

第五周 技术选型(一) 学习总结

胡云飞

ClickHouse的实践之路

DataFunTalk

数据库

规避单点故障,MySQL 8.0 MGR软负载怎么选?

dbaplus社群

数据库

大作业二--知识点整理

Nick~毓

HTML02 - 列表

Mr.Cactus

html

智慧警务大数据平台开发,数据可视化分析平台搭建

t13823115967

大数据

甲方日常 80

句子

工作 随笔杂谈

12周作业

走走,停停……

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
Android开发周报:参加挑战赛免费得I/O门票、MVP与MVVM混合架构解析_移动_郭亮_InfoQ精选文章