Android博客周刊第43期

   2016-11-16 0
核心提示:新闻1.谷歌模块手机Project ARA上手图赏:像掰巧克力一样就像PC能够DIY一样,谷歌近几年也一直在潜心研发自己的模块化手机。现在,外媒首次拿到了Project ARA的原型机,并分享了详细配置和上手感觉。2.Android安全主管:安卓安全性不输iPhone凤凰科技讯 北京

新闻

1.谷歌模块手机Project ARA上手图赏:像掰巧克力一样

就像PC能够DIY一样,谷歌近几年也一直在潜心研发自己的模块化手机。现在,外媒首次拿到了Project ARA的原型机,并分享了详细配置和上手感觉。

2.Android安全主管:安卓安全性不输iPhone

凤凰科技讯 北京时间11月3日消息,Android安全主管艾德里安·路德维希(Adrian Ludwig)最近在接受采访时表示,谷歌Pixel和苹果iPhone一样安全。

国外博客

1. MVVM + RxJava: Learnings

MVVM + RxJava is a great formula for an app architecture. In this blog post, Lucia Payo sharies two specific issues and solutions using the actual specific scenarios that inspired them.

2.The key concepts of app tracking for developers

If you have a mobile application or are going to develop one, it is important to remember about one thing on the side — mobile analytics, and a process behind it — application tracking.

3. Implementing Filter Animation in Kotlin

Here's a design concept of search in a Quora meets LinkedIn application. The article shares a high level introduction on how to implement using Kotlin.

4. How Dagger 2 Helps In Android Espresso Tests

This post explains how to use Dagger 2 in Android Tests and how Dagger 2 helps in writing Espresso tests.

5. 50 Android Studio Tips, Tricks & Resources

Here's a list of helpful tips, tricks, shortcuts and resources for Android Studio that will improve your overall efficiency and performance.

国内博客

1.如何构建Android MVVM 应用框架

说到Android MVVM,相信大家都会想到Google 2015年推出的DataBinding框架。然而两者的概念是不一样的,不能混为一谈。MVVM是一种架构模式,而DataBinding是一个实现数据和UI绑定的框架,是构建MVVM模式的一个工具。

2.Android M 权限最佳实践

Google在Android 6.0 上开始原生支持应用权限管理,再不是安装应用时的一刀切。权限管理虽然很大程度上增加了用户的可操作性,但是却苦了广大Android开发者。由于权限管理涉及到应用的各个方面,为了避免背锅,很多大厂App的targetSdkVersion仍然停留在22。

3.Android 启动卡顿原因查询

启动是一个什么样的过程?首先要对这个过程进行一个定义。考虑到进程是否存在,对启动时间有着明确的影响,将启动分为两种情况。冷启动 :在进程不存在的情况下,从点击应用 Icon 到用户能看到界面所占用的时间。 热启动 :在进程依然存在的情况下,点击应用 Icon 到用户能看到对应的界面所用的时间。我们看看在热启动和冷启动,怎么看启动过程中可能的卡顿原因。

4.Retrofit结合RxJava使用指南

Retrofit是一个当前很流行的网络请求库, 官网的介绍是: "Type-safe HTTP client for Android and Java". 本文介绍Retrofit的使用. 先介绍单独使用Retrofit进行网络请求, 后面主要介绍和RxJava结合的请求, 有实例代码.

5.WebP原理和Android支持现状介绍

目前网络中图片仍然是占用流量较大的一部分,对于移动端更是如此,因此,如何在保证图片视觉不失真前提下缩小体积,对于节省带宽和电池电量十分重要。 然而目前对于JPEG、PNG、GIF等常用图片格式的优化已几乎达到极致,因此Google于2010年提出了一种新的图片压缩格式 — WebP,给图片的优化提供了新的可能。

6.热修复框架HotFix源码解析

讲起 Android 的热修复,相信大家对其都略知一二。热修复可以说是继插件化之后,又一项新的技术。目前的 Android 热修复框架主要分为了两类: 基于 Native Hook:使用 JNI 动态改变方法指针,比如有 Dexposed 、AndFix 等; 基于 Java Dex 分包:改变 dex 加载顺序,比如有 HotFix 、Nuwa 、Amigo 等;

7.Android 复杂的列表视图新写法: MultiType 详解篇

在开发我的 TimeMachine 时,我有一个复杂的聊天页面,于是我设计了我的类型池系统,它是完全解耦的,因此我能够轻松将它抽离出来分享,并给它取名为 MultiType. 从前,比如我们写一个类似微博列表页面,这样的列表是十分复杂的:有纯文本的、带转发原文的、带图片的、带视频的、带文章的等等,甚至穿插一条可以横向滑动的好友推荐条目。

8.深入理解Android之View的绘制流程

本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定实现细节则可以日后再对相应源码进行研读。

9.大幅提高Android开发效率之Android项目模板化(上)

大家好,我是光源。 首先思考一个最普通的场景:创建一个 Activity。你需要做的是: 1、 创建 Activity 类文件; 2、 创建对应的 Layout 布局文件; 3、 在 AndroidManifest.xml 注册; 当然现在 MVP 模式(mvp 模式有多种实现方式,这里选择一种普遍的)基本成为标配,所以你还需要接着

10.Android 模块间的代码级解耦实现

自从项目分解模块之后,由于之前重构过程比较仓促,花了比较少的精力来进行模块之间的解耦,沿用了比较传统的接口暴露方式,它的特点是需要在主app注册一个接口实现,暂时能够缓解模块独立开发的尴尬。

11.Android 自定义View

Android自定义View的详细步骤是我们每一个Android开发人员都必须掌握的技能,因为在开发中总会遇到自定义View的需求。为了提高自己的技术水平,自己就系统的去研究了一下,在这里写下一点心得,有不足之处希望大家及时指出。

12.Android"挂逼"修炼之行---微信摇骰子和猜拳作弊器原理解析

在之前的一篇文章中我们已经详细介绍了一款Android中Hook功能的神器Xposed工具:Xposed框架原理解析和使用案例分析 在那一篇文章中我们介绍了如何安装Xposed框架,以及如何使用Xposed库编写第一个模块来做到修改系统方法功能的效果

13.Android"挂逼"修炼之行---实现微信本地视频发布到朋友圈功能

前一篇文章已经详细介绍了如何使用Xposed框架编写第一个微信插件:摇骰子和猜拳作弊 本文继续来介绍如何使用Xposed框架编写第二个微信插件,可以将本地小视频发布到朋友圈的功能。

类库

1.RapidInterpolator

Realtime interpolator editor(Inspired by Facebook Rebound)

2.ChipsLayoutManager

A custom layout manager for RecyclerView which mimicric TextView span behaviour

3.DrawView

一个自定义画图控件。

4.GetWordTextView

一个可以取词的TextView

5.Android-SearchView

动感十足的搜索加载View。

6.Telegram

开源了 Telegram 应用

7.tinker-manager

微信tinker补丁管理,后端代码+客户端sdk

8.FirebaseUI-Android

UI bindings for Firebase

9.SwipeCardRecyclerView

利用RecyclerView打造的滑动卡片View,支持左滑右滑删除

10.DragFooterView

自带拖拽效果的ViewGroup

参考视频

1.10 Kotlin Tricks in 10(ish) Minutes

本讲座Kotlin的主要优势和特点.(需要科学上网)

2. Android Developers Backstage 58: Quick Settings

系统UI团队的讲座

算法

1.数据结构和算法(一):hash散列容器

散列技术常常用于键-值关系的数据结构中,比如数据库索引、map、缓存等地方,其是通过在记录(值)的存储位置和其关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。

2.数据结构和算法(二):AVL自平衡二叉树

二叉树(Binary Tree)是n个结点的有限集合,该集合或者为空集,或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成,且二叉树的左右要求是有顺序的。

3.数据结构和算法(三):红黑二叉树

AVL自平衡二叉树在教科书上比较常见,因为是最先提出的自平衡二叉树,自然是学术价值比较的高,但是目前工业环境觉得名为红黑二叉树(Red-Black Tree)的自平衡二叉树使用的更为的广泛,比如C++标准库中的有序容器(std::set、std::map),Linux内核中的很多数据结构等,都是用的RBTree来维护管理的。

4.数据结构和算法(四):主流内排序算法

数据结构中通用的算法主要涉及查找和排序。查找操作基本依赖于数据组织的方式(顺序存储、链表存储、树存储等),主流的有顺序查找、折半查找、插值查找、散列查找等,其操作比较的简单明了;而排序算法算是算法中最热门的讨论话题.

博外话

1.反省我十年开发犯过的错

我 2006 年开始工作,到现在已经 10 年了。 10 年,够得上是一个“里程碑”,驱使我回首过去,反省记录那些年我犯过的错,真希望当初有人对我说这些话。不论你是刚入行的新手还是多年经验的老兵,本文多少会对你有一些帮助。

2.互联网风雨十年,我所经历的技术变迁

美国当地时间2016年10月4日,谷歌在一个新品发布会上首次提出了AI-First(人工智能优先)战略[1]。在过去的十年,谷歌一直秉承的是Mobile-First的发展思路,而未来的十年,则会迎来一场新的革命。这将是比移动互联网规模更为宏大的一场技术革命,如今,我们正站在历史的分界点上。

 
标签: 安卓开发
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 安卓中通知功能的具体实现
    安卓中通知功能的具体实现
    通知[Notification]是Android中比较有特色的功能,当某个应用程序希望给用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知实现。使用通知的步骤1、需要一个NotificationManager来获得NotificationManager manager = (NotificationManager
    02-05 安卓开发
  • Android view系统分析-setContentView
    Android view系统分析-setContentView
    第一天上班,列了一下今年要学习的东西。主要就是深入学习Android相关的系统源代码,夯实基础。对于学习Android系统源代码,也没什么大概,就从我们平常使用最基础的东西学起,也就是从view这个切入点开始学习Android的源码,在没分析源码之前,我们有的时候
    02-05 安卓开发
  • 如何进行网络视频截图/获取视频的缩略图
    如何进行网络视频截图/获取视频的缩略图
    小编导读:获取视频的缩略图,截图正在播放的视频某一帧,是在音视频开发中,常遇到的问题。本文是主要用于点播中截图视频,同时还可以获取点播视频的缩略图进行显示,留下一个问题,如下图所示, 如果要获取直播中节目视频缩略图,该怎么做呢?(ps:直播是直
  • Android NDK 层发起 HTTP 请求的问题及解决
    Android NDK 层发起 HTTP 请求的问题及解决
    前言新的一年,大家新年快乐~~鸡年大吉!本次给大家带来何老师的最新文章~虽然何老师还在过节,但依然放心不下广大开发者,在此佳节还未结束之际,给大家带来最新的技术分享~ 事件的起因不说了,总之是需要实现一个 NDK 层的网络请求。为了多端适用,还是选择
  • Android插件化(六): OpenAtlasの改写aapt以防止资源ID冲突
    Android插件化(六): OpenAtlasの改写aapt以防
    引言Android应用程序的编译中,负责资源打包的是aapt,如果不对打包后的资源ID进行控制,就会导致插件中的资源ID冲突。所以,我们需要改写aapt的源码,以达到通过某种方式传递资源ID的Package ID,通过aapt打包时获取到这个Package ID并且应用才插件资源的命名
    02-05 安卓开发
  • Android架构(一)MVP架构在Android中的实践
    Android架构(一)MVP架构在Android中的实践
    为什么要重视程序的架构设计 对程序进行架构设计的原因,归根结底是为了 提高生产力 。通过设计是程序模块化,做到模块内部的 高聚合 和模块之间的 低耦合 (如依赖注入就是低耦合的集中体现)。 这样做的好处是使得程序开发过程中,开发人员主需要专注于一点,
    02-05 安卓开发
  • 安卓逆向系列教程 4.2 分析锁机软件
    安卓逆向系列教程 4.2 分析锁机软件
    安卓逆向系列教程 4.2 分析锁机软件 作者: 飞龙 这个教程中我们要分析一个锁机软件。像这种软件都比较简单,完全可以顺着入口看下去,但我这里还是用关键点来定位。首先这个软件的截图是这样,进入这个界面之后,除非退出模拟器,否则没办法回到桌面。上面那
    02-05 安卓开发
  • Android插件化(二):OpenAtlas插件安装过程分析
    Android插件化(二):OpenAtlas插件安装过程分析
    在前一篇博客 Android插件化(一):OpenAtlas架构以及实现原理概要 中,我们对应Android插件化存在的问题,实现原理,以及目前的实现方案进行了简单的叙述。从这篇开始,我们要深入到OpenAtlas的源码中进行插件安装过程的分析。 插件的安装分为3种:宿主启动时立
    02-05 安卓开发
  • [译] Android API 指南
    [译] Android API 指南
    众所周知,Android开发者有中文网站了,API 指南一眼看去最左侧的菜单都是中文,然而点进去内容还是很多是英文,并没有全部翻译,我这里整理了API 指南的目录,便于查看,如果之前还没有通读,现在可以好好看一遍。注意,如果标题带有英文,说明官方还没有翻
  • 使用FileProvider解决file:// URI引起的FileUriExposedException
    使用FileProvider解决file:// URI引起的FileUri
    问题以下是一段简单的代码,它调用系统的相机app来拍摄照片:void takePhoto(String cameraPhotoPath) {File cameraPhoto = new File(cameraPhotoPath);Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);takePhotoIntent.putExtra(Medi
    02-05 安卓开发
点击排行