Android开发技术周报 Issue#115

二月 06, 2017 0 条评论 AndroidDevWeekly

新闻

  1. 谷歌 I/O 2017 开发者大会将于 5 月 17-19 日在山景城举办

  2. Android Wear 2.0 和新款智能手表有望在2月8号发布

  3. 首批网页应用登陆Android系统

  4. 谷歌两轮人形机器人曝光:一跳跨越障碍物

  5. Google改变独占决定:Pixel的指纹通知手势登陆Nexus 5X

  6. Android Wear 2.0最后一个开发者预览版发布

  7. 谷歌:所有新款Chromebook都将支持Android应用

  8. [视频]Google 开始对 Android Instant 应用进行“有限测试”

  9. Google 收购 Fabric 开发者平台:收录了来自 Twitter 的团队

  10. Google测试Instant Tethering功能:优化热点设置保持设备在线

  11. Google Pixel / Pixel XL 持续缺货:下单普遍要等到 2-3 月份

  12. Android One项目将会在近期扩展至美国市场

  13. Android端Google应用优化:离线模式可保持搜索条目

  14. Android 之父将打造新智能手机:深度集成AI

教程

  1. Android硬件加速原理与实现简介

    在手机客户端尤其是Android应用的开发过程中,我们经常会接触到“硬件加速”这个词。由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的底层原理了解很少,也不清楚了解底层原理的意义,因此常会有一些误解,如硬件加速是不是通过特殊算法实现页面渲染加速,或是通过硬件提高CPU/GPU运算速率实现渲染加速。

  2. 聊聊clean code

    clean code,顾名思义就是整洁的代码,或者说清晰、漂亮的代码,相信大多数工程师都希望自己能写出这样的代码。也许这是个千人千面的话题,每个工程师都有自己的理解。比如我,从一个天天被骂代码写得烂的人,逐渐学习成长,到现在也能写的出“人模人样”的代码来了。这期间算是积累了一点经验心得,想和大家分享,抛砖引玉。本文主要针对面向对象编程的clean code来阐述,面向过程代码的思路会比较不同,不在本文的讨论范畴。

  3. Android 内存泄漏分析心得

    对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针;对于Java来说,就是new出来的Object 放在Heap上无法被GC回收;本文通过QQ和Qzone中内存泄漏实例来讲android中内存泄漏分析解法和编写代码应注意的事项。

  4. 一起脱去小程序的外套和内衣 - 微信小程序架构解析

    微信小程序的公测掀起了学习小程序开发的浪潮,天生跨平台,即用即走、媲美原生体验、完善的文档、高效的开发框架,小程序给开发者带来了很多惊喜。通过这篇文章和大家一起分析小程序的架构,分享开发经验。

  5. Android动态库压缩壳的实现

    说起壳可能有的同学并不太了解,简单的说,计算机软件领域所说的壳实际上是一种软件加密技术。与自然界中的壳类似,花生用壳保护种子,乌龟用壳保护自己的身体,而我们写的程序为了在一定程度上防止被逆向分析,也可以给它加壳。壳主要分为两大类:加密壳和压缩壳,加密壳侧重于防止软件被篡改,而压缩壳则侧重于减小软件体积。其实,在Windows上已经有许多壳了,但Android(或者可以说Linux)上的壳相对而言就少了一些。本文就主要讲讲Android动态库(so文件)压缩壳要如何实现。

  6. Espresso浅析和使用

    Espresso是一个Google官方提供的Android应用UI自动化测试框架。Google希望,当Android的开发者利用Espresso写完测试用例后,能一边看着测试用例自动执行,一边享受一杯香醇Espresso(浓咖啡)。Espress有3个特点:1.第一个收录在Android Testing Supporting Library底下的测试框架; 2.模拟用户的操作;3.自动等待,直到UI线程Idle,才会执行测试代码。接下来,将从配置、写用例、运行一步步介绍Espresso的使用。

  7. 通过ContentProvider多进程共享SharedPreferences数据

    开发一个多进程应用的时候,我们往往无法避免在多个进程之间共享数据。 多进程共享数据的方法有很多种,在Android中常用的有:SharedPreferences(多进程模式)、广播、Socket、ContentProvider、Messenger、AIDL等。这些方法适用于不同的使用场景,又有各自的局限性。本文即将介绍的是通过ContentProvider,结合SharedPreferences(以下简称SP)实现的进程间共享设置项的功能。这种方式主要适用于以下场景:在一个进程中进行一些设置,而需要在另一个进程实时读取设置,并根据这些设置来执行功能。

  8. 看AspectJ在Android中的强势插入

    AOP是Aspect Oriented Programming的缩写,即『面向切面编程』。它和我们平时接触到的OOP都是编程的不同思想,OOP,即『面向对象编程』,它提倡的是将功能模块化,对象化,而AOP的思想,则不太一样,它提倡的是针对同一类问题的统一处理,当然,我们在实际编程过程中,不可能单纯的安装AOP或者OOP的思想来编程,很多时候,可能会混合多种编程思想,大家也不必要纠结该使用哪种思想,取百家之长,才是正道。

  9. 微信小程序之自动化亲密接触

    山雨欲来风满楼,最近微信小程序相关开发文章吹遍大江南北,亦有摧枯拉朽万象更新之势。问小程序形为何物,直教IT众生怡情悦性高潮迭起。作为一名有着远大理想“包袱”与互联网变革 “使命感”的测试工程师,我再也按耐不住内心中的渴望与好奇,代表测试行业各大门派肩负起了迎接时代变革的挑战。话说经历了围观查看、溜边打探等种种过程,终于在隔壁老王那里弄到了测试体验资格,开始了一场对小程序的自动化亲密接触。

开源库 & App

  1. Boxing

    基于MVP模式的Android多媒体选择器

  2. SimpleRecyclerView

    A RecyclerView extension for building list more easily

  3. ktor

    Web backend framework for Kotlin

  4. CoordinatorTabLayout

    TabLayout和CoordinatorLayout相结合的折叠控件

  5. RecyclerStickyHeaderView

    Sticky header view or suspending view for RecyclerView.

  6. android-state

    A utility library for Android to save objects in a Bundle without any boilerplate.

  7. emoji-java

    The missing emoji library for Java

  8. android-mvp-architecture

    This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava2, FastAndroidNetworking and PlaceholderView

  9. PlanningPoker

    Fast and simple Planning Poker Android app. Designed for phones, tablets and Android Wear devices.

  10. Dali

    Dali is an image blur library for Android. It contains several modules for static blurring, live blurring and animations.

  11. lottie-android

    Render After Effects animations natively on Android and iOS

  12. Louvre

    A small customizable library useful to handle an gallery image pick action built-in your app.

  13. Lemniscate

    An easy way to make your progress view nice and sleek.

  14. AwesomeBar

    Just beautiful

  15. PreviewSeekBar

    A SeekBar suited for showing a preview of something. As seen in Google Play Movies.

  16. proteus

    Proteus : JSON LayoutInflater with Data Bindings

  17. SpanEZ

    Wrapper on top of Spans so that you can add them to your strings with no problem

  18. Ristretto

    A short shot of Espresso

  19. excelPanel

    A two-dimensional RecyclerView,it can load historical data,it also can load more data。

  20. SopCastComponent

    来疯直播安卓控件,支持flv,支持rtmp,支持添加视频特效等等

  21. Aligned

    A tiny library for Android that makes putting text on baseline infinitely easier

  22. Wiggle

    A library for delayed scrolling

  23. sklad

    Android file storage library with encryption and streaming support

  24. desertplaceholder

    Animated placeholder in desert style.

  25. CameraFragment

    A simple easy-to-integrate Camera Fragment for Android

  26. Android-SwitchIcon

    Google launcher-style implementation of switch (enable/disable) icon

  27. GoogleMapsAnimations

    "GoogleMapsAnimations is an awesome android library to show radar and multiple types of circular ripple effects on google map.

工具

  1. gradle-completion

    Gradle tab completion for bash and zsh

  2. XTest

    自动化测试工具,专业、易学、稳定高效、多机联测,为APP自动化测试量身打造

  1. front-end-handbook-2017

设计

  1. 确定按钮该放在左边还是右边?

  2. 无框界面

  3. 如何在介面中設計排版(需要梯子)

设计素材

  1. Flowchart Kit for Sketch

  2. Covalent Material Design Sketch Template

技术之外

  1. 探索外包开发的极限 • 一个精品App诞生的全过程(上)

  2. 探索外包开发的极限 • 一个精品App诞生的全过程(下)

好玩的

  1. git commit emoji 使用指南

版权声明

欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 4.0

脉脉不得语
ZhengZhou Website
{Developer=菜鸟Android程序猿; Blog=http://inferjay.com; Github=http://github.com/inferjay; Organizer=GDG Zhengzhou; WebSite=http://www.androiddevtools.cn}