Android开发周报:中文Android7.0体验不佳、深入浅出Retrofit

新闻

  1. 《谷歌测试计划开启,Android N谷歌地图抢先用》:近日,Android N开发者预览版本已经进行到了第三个,然而由于机型限制,许多人不能够体验到最新安卓系统的乐趣,如今谷歌为旗下地图应用开启了测试计划,我们也许能够借此尝鲜Android 7.0上的谷歌地图。
  2. 《谷歌测试Android新功能:空间不足会智能提醒卸载程序》:谷歌正在测试一项新功能,用户如果从Google Play下载应用程序,当剩余存储空间不足时,系统会通知用户。具体应该删除哪个应用或者媒体文件,或者干脆跳过新程序,完全由用户自己做决定。。不只如此,谷歌还会列出使用频率最低的应用程序,显示各程序占用的空间。程序的旁边会有复选框,用户可以挑选后删除。
  3. 《中文Android7.0体验:改进不明显,升级需慎重》:谷歌早前已经放出了Android N(安卓7.0)的第三个预览版,整体功能改进已经成形,之后应该就只是小修小补了。Android 7.0的一些重要改进包括多任务窗口模式、快速回复通知消息、DayDreamVR模式(目前还不能体验)、快速切换最近应用、新Emoji等,那么现在值不值得升级呢?国内已经有人体验了升级Android N后的Nexus6P,得出的结论是目前该版本还存在较多的bug,并且相较国内其它ROM功能改进并没有新意,建议用户谨慎升级。

教程

  1. 《深入浅出Retrofit》:Android开发中,从原生的HttpUrlConnection到经典的Apache的HttpClient,再到对前面这些网络基础框架的封装,比如Volley、Async Http Client,Http 相关开源框架的选择还是很多的,其中由著名的Square公司开源的Retrofit 更是以其简易的接口配置、强大的扩展支持、优雅的代码结构受到大家的追捧。本文详细解析了Retrofit的使用方法及实现原理。
  2. 《Android新布局方式ConstraintLayout介绍与学习资料》:在这次Google IO上,Android团队为开发者带来了一个新布局方式ConstraintLayout,它将大大改变今后的Android布局界面开发方式。它的目标是减少布局的层级,同时改善布局性能,还减少了使用RelativeLayout的复杂性。ConstraintLayout即约束布局或限制性布局。它是一种新的布局方式,可以看做是RelativeLayout的增强,向下兼容至API level 9(Android 2.3),并且是support library的一部分,也就是说,能兼容目前绝大多数的Android设备。
  3. 《“HTTPS”安全在哪里?》:在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于HTTPS了。每当访问一个站点,浏览器的地址栏中出现绿色图标时,意味着该站点支持HTTPS信息传输方式。我们知道HTTPS是我们常见的HTTP协议与某个加密协议的混合体,也就是HTTP+S。这个S可以是TLS(安全传输层协议)、也可以是SSL(安全套接层)。现在越来越多的App也开始使用HTTPS进行通信。本文为大家详细分析了到底HTTPS是如何保证安全的。
  4. 《Android架构初探》:早期的Android开发者们并不怎么关注架构,代码都堆在Activity或Fragment里面,UI、业务、数据混合在一起,这就使得难以单独的复用和扩展、测试。随着项目逐渐变的庞大,为了降低开发和维护成本,以及将来可能要做的单元测试,需要对架构进行相应的调整。所以选择一个好的架构,对于App的长期维护非常重要,而Clean就符合好架构的所有条件,本文对Clean架构进行了详细介绍。
  5. 《Android用户引导库MaterialIntroView使用及源码分析》:由于新功能引导在各个发布版间表现各异,几乎难以统筹。其次,功能引导具有塑造艺术的可能,直接导致每一个版本都需要单独沟通,而且变更几率较大,难以一次性审校通过。MaterialIntroView是一款能解决这个痛点的开源项目,本文介绍了MaterialIntroView的实现原理。
  6. 《 浅谈AndroidTV开发与常规APP开发的异同点》:如今Android电视、Android盒子已经逐渐被人们接受,国内已经有多家厂商生产这些产品。随着Android TV销售渠道的打开,开发TV App必然是另一个新的机会。虽然手机App与TV App都是基于Android SDK进行开发,但也有一些不同之处,本文作者根据自己几个月的TV App开发经验,总结了一些AndroidTV开发与常规APP开发的异同点。
  7. 《React Native之底层源码分析篇》:RN总共分为三层,java层,C++层,js层。RN主要的通信在于java与js之间,平常我们写的jsx代码最终会调用到原生的View。在Java层与Js层的bridge分别存有相同一份模块配置表,Java与Js互相通信时,通过将里配置表中的moduleID,methodID转换成json数据的形式传递给到C++层,C++层传送到js层,通过js层的的模块配置表找到对应的方法进行执行,如果有callback,则回传给java层。阅读文章,了解更多关于RN的底层细节。
  8. 《如何调试Android Framework?》:要想精通Android开发,仅仅能熟练使用SDK是远远不够的,Android Framework层的知识是也必须学习。学习Framework层有助于我们理解Android的运行机制,能够帮助我们写出更加高效、优雅的代码。学习Framework层时,调试技能显的尤为重要,本文为大家介绍了如何调试Android Framework。

开源项目

  1. RocooFix:该项目是HotFix项目作者的又一新作。之前的HotFix项目太过简单,也有很多同学用Nuwa遇到很多问题,作者也不再修复,所以重新构建了一套工具。
  2. material-tip:这是一个自定义的选择提示框,根据Google的offer education编写。
  3. material-design-dimens:该项目封装了Material Design指南上要求的颜色、尺寸等信息。使用该项目可以让我们在适配Material Design时,减少一些细节操作。
  4. MarqueeView:该项目实现了垂直跑马灯效果,可用于垂直翻页、公告滚动等场景。
  5. TimePickerDialog:Android时间选择器,支持年月日时分,年月日,年月,月日时分,时分格式,可以设置最小时间(精确到分)。

感谢徐川对本文的审校。

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

你可能感兴趣的:(Android开发周报:中文Android7.0体验不佳、深入浅出Retrofit)