##教程
1. [零开始的Android新项目3 - MVPVM in Action, 谁告诉你MVP和MVVM是互斥的](http://blog.zhaiyifan.cn/2016/03/16/android-new-project-from-0-p3/)
去年5月左右的时候,笔者在逛GitHub的时候,看到了一个MVP的项目,叫做mosby,仔细看了源码和作者介绍的文章后,发现确实有点意思,虽然会需要多写几个类和方法,但是解决了activity/fragment过重的问题,通过V/P分离能够帮助提高可维护性。时至去年年底,今年年初,MVP才逐渐被大家所知,也不时看到些文章介绍其概念和实践。
2. [Android MotionEvent详解](http://ztelur.github.io/2016/03/16/Android-MotionEvent%E8%AF%A6%E8%A7%A3/) (By stelar)
我们都知道,每个触摸事件都代表用户在屏幕上的一个动作,而每个动作必定有其发生的位置。在MotionEvent中就有一系列与标触摸事件发生位置相关的函数:1\. getX()和getY():由这两个函数获得的x,y值是相对的坐标值,相对于消费这个事件的视图的左上点的坐标。2\. getRawX()和getRawY():有这两个函数获得的x,y值是绝对坐标,是相对于屏幕的。
3. [Android安全攻防战,反编译与混淆技术完全解析(下)](http://blog.csdn.net/guolin_blog/article/details/50451259)
在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码、反编译资源、以及重新打包等内容。通过这些内容我们也能看出来,其实我们的程序并没有那么的安全。可能资源被反编译影响还不是很大,重新打包又由于有签名的保护导致很难被盗版,但代码被反编译就有可能会泄漏核心技术了,因此一款安全性高的程序最起码要做到的一件事就是:对代码进行混淆。
4. [那些年,我们一起点过的赞](http://t.cn/RGsqGst)
举个例子,就用户最多的微信、QQ来说,点赞也就是个心形和拇指的放大动画(自己去体验下),这里顺便吐槽下网易的点赞,动画做的不错,虽然我手机小小不流畅,可是不能取消赞是怎么回事? 也许,现在你觉得无非就是个点赞效果,随便做个点击效果就好了,也许产品设计的人也是这样觉得的,也许用户根本就不在乎。
5. [Android Bitmap面面观](http://t.cn/RGsibtl)
在日常开发中,可以说和Bitmap低头不见抬头见,基本上每个应用都会直接或间接的用到,而这里面又涉及到大量的相关知识。所以这里把Bitmap的常用知识做个梳理,限于经验和能力,不做太深入的分析。
6. [Android 6.0 对于权限和标识符的更改](http://t.cn/RGFY6KD)
在 Marshmallow 中,权限请求已从安装时改到运行时。 这是 SDK 23+ 的一项强制性改动,意味着它会影响所有以 Android 6.0 作为目标平台的开发者和应用。无论如何,您的应用都需要更新,因此,您的挑战在于审慎地进行更新。
7. [使用Clean Architecture模式开发Android应用的详细教程](http://www.infoq.com/cn/articles/clean-architecture-model-to-develop-android-application)
随着应用体积和代码数量的膨胀,Android应用的架构越来越复杂,遗留代码越来越多,接手开发、协作都变得越来越困难,有些人试图用框架、规范来解决这个问题,但为什么不从一开始就从架构上着手呢?干净架构就是一种很好的层级解耦、理清依赖的架构,作者在接触干净架构后就喜欢上了它,不仅在商业上成功应用,还撰文介绍、开源样板代码,简直化身干净架构布道师了,我们一起来看作者是如何向我们安利这一架构吧。
8. [极致的 Hybrid 混合式开发(去啊App Hybrid 实战)](https://yq.aliyun.com/articles/43)
目测性能是可观的。尽管H5包的离线化隔绝了弱网对秒出的干扰,设备本地 IO 耗时也是不能忽视的,算上zip的解压缩,仅在设备本地 IO 完全一个 HTML(包含其携带的资源文件)也会达到秒级的耗时,在iphone5上也会有0.5秒左右的白屏时间。另外,HTML 本身的优化依然无法绕过,WebView 里 JS 的运行效率通常是 Mobile Browser 里的四分之一。
9. [Java 单例真的写对了么?](http://www.race604.com/java-double-checked-singleton/)
单例模式是最简单的设计模式,实现也非常“简单”。一直以为我写没有问题,直到被 Coverity 打脸。Coverity 是静态代码分析工具,它会模拟其实际运行情况。例如这里,假设有两个线程进入到这段代码,其中红色的部分是运行的步骤解析,开头的标号表示其运行顺序。
10. [如何精确地测量java对象的大小-底层instrument API](http://blog.csdn.net/xieyuooo/article/details/7068216)
关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多,不过这种测试往往显得十分的笨重,因为要写一堆代码才能测试一点点东西,而且只能在本地测试玩玩,要真正测试实际的系统的对象大小这样可就不行了,本文说说java一些比较偏底层的知识,如何测量对象大小,java其实也是有提供方法的。
11. [一种为 Apk 动态写入信息的方案](http://t.cn/RGkwz7l)
Android 使用的 Apk 包的压缩方式是 zip,与 zip 有相同的文件结构,在 zip 文件的末尾有一个 Central Directory Record 区域,其末尾包含一个 File comment 区域,可以存放一些数据,所以 File comment 是 zip 文件一部分,如果可以正确的修改这个部分,就可以在不破坏压缩包、不用重新打包的的前提下快速的给 Apk 文件写入自己想要的数据。
12. [Android自定义Lint实践](http://tech.meituan.com/android_custom_lint.html)
Android Lint是Google提供给Android开发者的静态代码检查工具。使用Lint对Android工程代码进行扫描和检查,可以发现代码潜在的问题,提醒程序员及早修正。为保证代码质量,美团在开发流程中加入了代码检查,如果代码检测到问题,则无法合并到正式分支中,这些检查中就包括Lint。
13. [H5、React Native、Native应用对比分析](http://my.oschina.net/vczero/blog/597980?fromerr=s2CoLPvF)
2015年是React Native发展的一年,2016年必定是React Native蓬勃的一年!2016年React Native很可能成为最为成功的开源技术之一。为什么React Native这么火呢?那么React Native相比H5、Native又有哪些优势呢?使用React Native的正确姿势又是怎样呢?
14. [Android适配到底有多坑?](http://t.cn/RGs6AXc)
由于安卓系统的开放性,OEM厂商和运营商都会对Android进行定制。于是安卓的大航海时代来了。Android设备五花八门,各种Android手机、平板、电视、手表层出不穷,Android电冰箱电饭锅乱入…随着设备、品牌、系统版本、屏幕、分辨率碎片化的不断加深,兼容性测试一直在折磨着测试人员。统计,我们团队中做过兼容性测试的男性有2/3在已经开始谢顶,每做6个月兼容性测试寿命就会缩短半年。
##开源库&项目
1. [TriangleLabelView](https://github.com/shts/TriangleLabelView)
自定义三角标签 View
2. [LuseenBottomNavigation](https://github.com/armcha/LuseenBottomNavigation)
Material Bottom Navigation 实现
3. [BottomNavigation](https://github.com/krpiotrek/BottomNavigation)
Material Bottom Navigation 实现
4. [LivingTabs](https://github.com/saiff35/LivingTabs)
仿 Youtube Gaming Tabs 滑动效果
5. [RxJavaSamples](https://github.com/rengwuxian/RxJavaSamples)
RxJava 和 Retrofit 结合使用的几个最常见使用方式举例
6. [JKeyboardPanelSwitch](https://github.com/Jacksgong/JKeyboardPanelSwitch)
Android键盘面板冲突 布局闪动处理方案
7. [cssdroid](https://github.com/manolovn/cssdroid)
一个可以把 CSS 文件转换成 Android Style 的库
8. [PhoneNumber](https://github.com/xdtianyu/PhoneNumber)
一个获取号码归属地和其他信息(诈骗、骚扰等)的开源库
9. [AndroidTabbedDialog](https://github.com/ashishbhandari/AndroidTabbedDialog)
支持左右滑动选项卡的 Dialog
10. [SuperNova-Emoji](https://github.com/hani-momanii/SuperNova-Emoji)
一个实现了可以渲染 Emoji 的库
11. [BoomMenu](https://github.com/Nightonke/BoomMenu)
可以让你的菜单按钮瞬间爆炸的库
12. [ArcProgressStackView](https://github.com/GIGAMOLE/ArcProgressStackView)
圆弧进度条
13. [AndRouter](https://github.com/campusappcn/AndRouter)
Android路由框架
14. [Android-SpinKit](https://github.com/ybq/Android-SpinKit)
各种 Loading 动画效果
15. [ParallaxViewPager](https://github.com/ybq/ParallaxViewPager)
左右滑动时有视差的效果的 ViewPager
16. [AndroidKeyboardWatcher](https://github.com/AzimoLabs/AndroidKeyboardWatcher)
一个可以监控到软键盘打开关闭的库
17. [BlurLockView](https://github.com/Nightonke/BlurLockView)
毛玻璃效果的解锁界面
18. [AnimatedEditText](https://github.com/alphamu/AnimatedEditText)
可以给 EditText 输入文字时给输入的文字添加各种动画效果的库
19. [Carouselview](https://github.com/sayyam/carouselview)
可以循环切换的 Banner View
20. [Spork-Android](https://github.com/SporkLibrary/Spork-Android)
一个注解库
21. [android-snake-menu](https://github.com/xmuSistone/android-snake-menu)
模仿 Tumblr's 的菜单效果
22. [RoadRunner](https://github.com/glomadrian/RoadRunner)
可以使用 SVG 图片制作 Loading 动画的库
23. [LyricView](https://github.com/markzhai/LyricView)
lrc 歌词显示控件
24. [MDPreference](https://github.com/XhinLiang/MDPreference)
Material Design 风格的 PreferenceFragment
25. [EasingInterpolator](https://github.com/MasayukiSuda/EasingInterpolator)
28 个与众不同动画插值器
##工具
1. [Coverity](http://www.coverity.com/)
静态代码分析工具,它会模拟代码的实际运行情况
2. [macaca](https://github.com/alibaba/macaca)
一套完整的自动化测试解决方案
##视频
1. [内容型App的客户端架构之道](http://www.infoq.com/cn/presentations/content-type-app-client-architecture)
内容型App指的是以呈现内容内主要交互的应用,这样类型的App很多,好的架构设计,可以使得内容型App的研发事半功倍。在豌豆荚我们积累了很久的经验,构建一套基于呈现内容的应用框架,在这个框架上快速搭建出来了豌豆荚,和豌豆荚一览、豌豆荚锁屏(Snaplock)等应用。
2. [StrictMode for enforcing best practices at runtime](http://t.cn/RGDBAK9)
Android 开发者除了编译时的 Lint 检查,在运行时还有另外一种捕获问题的手段——Strict Mode 。Strict Mode 工作在线程和虚拟机级别,除了用于检查性能方面的问题,它还可用于检查文件分享和网络访问。
##设计
1. [得到简单设计方案的过程是复杂的](http://t.cn/RGs6Gz7)
前段时间有件“大事儿”, Facebook Reactions 终于面向全球用户开放 了。之所以说这是件大事是因为这是一个核心体现在设计上的重要项 目,Facebook 的标志性操作 Like 体系从此将步入新的时代。
##技术之外
1. [如何才能找到自己热爱的工作](http://t.cn/RGsiuCb)
根据德勤的调查,80% 的美国人工作是不开心的,找一份自己热爱的工作的确不是一件容易的事。你对自己现在的工作满意吗?对你来说,真的有什么工作是非做不可的吗?如何才能发现自己热爱的工作是什么呢?
2. [Papi酱联手罗辑思维广告拍卖,有10件我想说的事 | 狗熊有话说](http://t.cn/RGDx7G7)
我相信一个很小的网络事件的热传可能是出于偶然,但一个持续高密度出现的网络事件,一定有着精心策划和准备,当然也有认真和努力。
- 前言
- Android开发技术周报 Issue#90
- Android开发技术周报 Issue#89
- Android开发技术周报 Issue#88
- Android开发技术周报 Issue#87
- Android开发技术周报 Issue#86
- Android开发技术周报 Issue#85
- Android开发技术周报 Issue#84
- Android开发技术周报 Issue#83
- Android开发技术周报 Issue#82
- Android开发技术周报 Issue#81
- Android开发技术周报 Issue#80
- Android开发技术周报 Issue#79
- Android开发技术周报 Issue#78
- Android开发技术周报 Issue#77
- Android开发技术周报 Issue#76
- Android开发技术周报 Issue#75
- Android开发技术周报 Issue#74
- Android开发技术周报 Issue#73
- Android开发技术周报 Issue#72
- Android开发技术周报 Issue#71
- Android开发技术周报 Issue#70
- Android开发技术周报 Issue#69
- Android开发技术周报 Issue#68
- Android开发技术周报 Issue#67
- Android开发技术周报 Issue#66
- Android开发技术周报 Issue#65
- Android开发技术周报 Issue#64
- Android开发技术周报 Issue#63
- Android开发技术周报 Issue#62
- Android开发技术周报 Issue#61
- Android开发技术周报 Issue#60
- Android开发技术周报 Issue#59
- Android开发技术周报 Issue#58
- Android开发技术周报 Issue#57
- Android开发技术周报 Issue#56
- Android开发技术周报 Issue#55
- Android开发技术周报 Issue#54
- Android开发技术周报 Issue#53
- Android开发技术周报 Issue#52
- Android开发技术周报 Issue#51
- Android开发技术周报 Issue#50
- Android开发技术周报 Issue#49
- Android开发技术周报 Issue#48
- Android开发技术周报 Issue#47
- Android开发技术周报 Issue#46
- Android开发技术周报 Issue#45
- Android开发技术周报 Issue#44
- Android开发技术周报 Issue#43
- Android开发技术周报 Issue#42
- Android开发技术周报 Issue#41
- Android开发技术周报 Issue#40