Android博客周刊第71期
wawa1985
7年前
<h2><strong>新闻</strong></h2> <p><a href="https://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652044328&idx=1&sn=5e083f05f8b93c2312ce04818a2d0c3d&chksm=808d5c6db7fad57b74d8d984d3f49519b5078ac7f63580844a9dd709c9a9995f23cc0d310ff3&mpshare=1&scene=1&srcid=0807HLJ3osArZlVTqEYlDaQJ&pass_ticket=Fl6r91RJAQ5QWS9tLJepTBME3y3mK1MLTs1jCpODJvRMutgI6ytnZ6EPQzD14kmC#rd" rel="nofollow,noindex">1.Android测试支持库1.0现已发布!</a></p> <p>ATSL 1.0 版对现有测试 API 进行了重要更新,不仅添加了许多新功能、还提升了性能和稳定性,同时还修复了若干问题。它可提供齐全的 API,功能与现已弃用的 Android 平台测试 API 相当。此版本还添加了许多我们在 Google I/O 2017 论坛上讨论过的功能,如为 Multiprocess Espresso 和 Android Test Orchestrator 提供原生支持。</p> <p><a href="/misc/goto?guid=4959751241765599615" rel="nofollow,noindex">2.[图]Android O最终版有望在一周内发布</a></p> <p>当时间迈入8月,也就意味着更靠近Android O最终版的发布日期。Google官方表示将会在2017年第3季度发布Android O更新,而根据6月上旬掌握的信息新版本有望在8月上旬(第1周或者第2周)发布。</p> <h2><strong>国外博客</strong></h2> <p><a href="/misc/goto?guid=4959751241895767178" rel="nofollow,noindex">1.Bodymovin to Android</a></p> <p>While Lottie offers a ton of power, it misses out on a lot of the performance benefits of Android’s native vector animation format AnimatedVectorDrawable. I came away wanting the best of both worlds…</p> <p><a href="/misc/goto?guid=4959751242025205837" rel="nofollow,noindex">2.Bringing smooth animation transitions to Android</a></p> <p>Why I wrote the AdditiveAnimation Android library and how it drastically improved the feel of our apps without any significant code changes — simultaneously making all animation-related code shorter, more performant and easier to read.</p> <p><a href="/misc/goto?guid=4959751242145689686" rel="nofollow,noindex">3.Introduction to Physics-based animations in Android</a></p> <p>Based on the force, acceleration or deceleration can be calculated, which can then be used to calculate and update the velocities and values for the animation at each frame.</p> <p><a href="/misc/goto?guid=4959751242262812924" rel="nofollow,noindex">4.How To Learn Android Development</a></p> <p>I have seen most of us asking how to learn Android programming and become a complete android developer . Here, I have tried to cover most of the important things in the Android Development that I have learned the hard way.</p> <p><a href="/misc/goto?guid=4959751242386617304" rel="nofollow,noindex">5.Introducing Supernova</a></p> <p>When it comes to building a mobile application, it is still a painfully slow and cumbersome process. Why create the design and then code it again by hand, when someone worked so hard to make sure all pixels are just right? We said no.</p> <h2><strong>国内博客</strong></h2> <p><a href="/misc/goto?guid=4959751242508075294" rel="nofollow,noindex">1.Android 开发者必知必会的权限管理知识</a></p> <p>提到Android 权限管理,业内人士都知道Google 在Android 6.0时提出了运行时权限管理机制,在Android 6.0之前,所申请的权限只需要在AndroidManifest.xml列举就可以,从而容易导致一些安全隐患,因此,在Android 6.0 时,Google 为了更好的保护用户隐私提出了新的权限管理机制</p> <p><a href="/misc/goto?guid=4959751242611492177" rel="nofollow,noindex">2.Android彻底组件化方案实践</a></p> <p>项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分。在我看来,模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在Android工程中如何实施,目前有两种途径,也是两大流派,一个是组件化,一个是插件化。</p> <p><a href="/misc/goto?guid=4959751242710262142" rel="nofollow,noindex">3.VirtualAPK 资源加载分析</a></p> <p>VitrualAPK 是滴滴开源的一款插件化框架VirtualAPK 地址:https://github.com/didi/VirtualAPK 本篇先从资源下手分析。VirtualAPK的插件资源加载分为两种方式:一种是插件存在一份独立的 Resources 自己使用,一种是COMBINE_RESOURCES模式,将插件的资源全部添加到宿主的 Resources 里。</p> <p><a href="/misc/goto?guid=4959751242805029136" rel="nofollow,noindex">4.如何打造一个 Android 编译时注解框架</a></p> <p>近期笔者开源了一个 Android 编译时注解框架库——Permissions4M,一款处理 android 6.0 运行时权限的库。此库基于鸿洋前辈的 MPermissions 二次开发,目前 Android 中主流的几款编译时处理框架有大名鼎鼎的 Dagger2 和 Butterknife,希望在阅读完笔者的这篇博客和笔者的框架后,能够帮助各位读者更深一步的帮助各位读者了解 Android 编译时注解处理技术</p> <p><a href="/misc/goto?guid=4959751242898793020" rel="nofollow,noindex">5.Android 中基于物理特性的动画简介</a></p> <p>什么是基于物理的动画?这是一种遵循物理学定律的动画形式能够依据加速度和速度去计算和更新每一帧的动画数值当受力平衡时,动画为处于恒定运动或静止状态,和普通动画有什么不一样?</p> <p><a href="/misc/goto?guid=4959751242988272497" rel="nofollow,noindex">6.Android 组件化探索与思考</a></p> <p>开发中,我习惯性会把一个模块的功能放在一个包下,便于查找,但烦于耦合性太高,后期维护太费劲,因此对项目进行组件化拆分势在必行。组件化好处:便于开发,团队成员只关注自己的开发的小模块,降低耦合性,后期维护方便等。</p> <p><a href="/misc/goto?guid=4959751243079333502" rel="nofollow,noindex">7.Android 突破 DEX 文件的 64K 方法数限制</a></p> <p>随着安卓平台的不断发展与壮大,市场上大而全的应用比比皆是,产品需求的变更累积和UI交互的极致追求,除了 resources 文件的俱增,在 Android Project 中依赖的 Library 和 自己写的 Java 代码也会越来越多。</p> <p><a href="/misc/goto?guid=4959751243156987185" rel="nofollow,noindex">8.掌握Android 7.0 新增特性 Quick Settings</a></p> <p>该功能位于下拉的通知面板中,在用户单手指下拉通知面板的时候,Quick Settings区域显示成一个长条,用户可以点击右上角的尖号展开这个区域。Quick Settings提供给用户非常便捷的按钮,用户甚至无需解锁就可以操作这个区域.</p> <p><a href="/misc/goto?guid=4959751243245893845" rel="nofollow,noindex">9.Android ANR问题总结</a></p> <p>在实际情况中,当Android项目的用户量特别大时候,一些细小的问题也会被放大,ANR问题就是一个典型的例子。一些ANR问题只会发生在用户实际使用的情景,当系统资源比较紧张等一些特殊情况下才会遇到,而这些ANR问题有很大一部分是因为我们的代码不合理导致,这就需要我们定位问题,修复问题,并且在以后的代码设计中尽量避免这些不合理。</p> <p><a href="/misc/goto?guid=4959751243323802721" rel="nofollow,noindex">10.Android 生命周期架构组件与 RxJava 完美协作</a></p> <p>Android 的生命周期自上古时代以来就是个噩梦般的存在,很多难以察觉,莫名其妙的 BUG 就与之相关。处理不好,很容易导致内存泄漏和应用崩溃。譬如在 Activity 状态保存(Activity 的 onSaveInstanceState 被框架调用)后执行 Fragment 事务,将会导致崩溃。</p> <p><a href="/misc/goto?guid=4959751243412999687" rel="nofollow,noindex">11.Android完美适配dimens.xml脚本</a></p> <p>相信大家都有适配的经历,而且面对大千世界千奇百怪的安卓手机,适配起来那叫一个蛋疼。所以本人决定研究一下自动化适配的方法,于是乎从dimens文件入手。 什么是dimens文件这里就不详细阐述了,相信大家都知道,不知道的童鞋可以问度娘。 这里我先帮大家再巩固一下像素密度相关知识.</p> <p><a href="/misc/goto?guid=4959751243499397006" rel="nofollow,noindex">12.从零开始打造一个VR视频播放器-VRPlayer源码分析</a></p> <p>VRPlayer是一个本地VR视频播放器,整体使用了 DataBinding,MVVM架构,播放部分基于IJKPlayer,VR渲染部分基于MD360Player4Android,UI上部分使用了Carbon,沉浸式状态栏使用了 StatusBarUtil这个项目,图片加载使用 Glide VRPlayer会扫描你手机中的视频文件,然后你可以找到你要播放的VR视频文件,点击即可播放</p> <p><a href="https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247486145&idx=1&sn=ce9570665adc1609094b5d6e8c780447&chksm=96cdab8ca1ba229a5fb2e1f0894c968769c2093527ba619f1783feca9c63de948b4aaf79d09d&mpshare=1&scene=23&srcid=0802L43UPbt6n4EVGnFCgzzq#rd" rel="nofollow,noindex">13.仿网易云音乐的主题换肤</a></p> <p>今天再给大家带来一篇干货。 Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。这个链接是本次的Demo打包出来的样本SkinChangeDemo(http://download.csdn.net/detail/u012814963/9493559),可以去下载下来先试试效果,皮肤文件需放到存储卡的根目录下。</p> <h2><strong>类库</strong></h2> <h2><a href="/misc/goto?guid=4959751243726140045" rel="nofollow,noindex">1.SmartCropper</a></h2> <p>智能图片裁剪框架。自动识别边框,手动调节选区,使用透视变换裁剪并矫正选区;适用于身份证,名片,文档等照片的裁剪。</p> <p><a href="/misc/goto?guid=4959718466245978923" rel="nofollow,noindex">2.BaseRecyclerViewAdapterHelper</a></p> <p>一个强大的RecyclerAdapter框架</p> <p><a href="/misc/goto?guid=4959751243884123153" rel="nofollow,noindex">3.SmileView</a></p> <p>仿《最美有物》笑脸点赞控件</p> <p><a href="/misc/goto?guid=4959751243996668440" rel="nofollow,noindex">4.Skeleton</a></p> <p>一个预加载页面的类库</p> <p><a href="/misc/goto?guid=4959751244116298307" rel="nofollow,noindex">5.ExpandableLayout</a></p> <p>可伸展、收缩的 LinearLayout</p> <p><a href="/misc/goto?guid=4959751244219911864" rel="nofollow,noindex">6.MultiSnapRecyclerView</a></p> <p>Android library for multiple snapping of RecyclerView</p> <p><a href="/misc/goto?guid=4959751244324048416" rel="nofollow,noindex">7.UberUX</a></p> <p>一款仿Uber的动画的项目</p> <p><a href="/misc/goto?guid=4959751244424898968" rel="nofollow,noindex">8.android_additive_animations</a></p> <p>一款动画库</p> <p><a href="/misc/goto?guid=4959751244517438507" rel="nofollow,noindex">9.CardSearchView</a></p> <p>一款方便集成的搜索框</p> <p><a href="/misc/goto?guid=4959751244600133249" rel="nofollow,noindex">10.JVM-Sandbox</a></p> <p>基于JVM的实时无侵入AOP框架容器</p> <p><a href="/misc/goto?guid=4959751244687509892" rel="nofollow,noindex">11.StatusView</a></p> <p>状态栏一体化,包括随着滑动渐变,透明状态栏</p> <h2><strong>博外话</strong></h2> <p><a href="/misc/goto?guid=4959751244778590236" rel="nofollow,noindex">1.做到这一点,你也可以成为优秀的程序员</a></p> <p>经过一段时间的观察,我发现这上面的所有特质,都可以由一种行为习惯衍生出来,也就是如果你有以下习惯,那么你可能拥有且不限于以上所有的特质观察大多数程序员的行为,朝相反的方向走这句话也可以借用一本书的标题(《少有人走的路》)来描述:少有程序员走的路。是的,这句话的逻辑也很明显,和“优秀的人总是少数一样”</p> <p><a href="https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650997290&idx=1&sn=69e431eaac7eff03d9eedb49dc6c2e43&chksm=bdbefa798ac9736fdbb881b7f521c8aef31630c937aa103023d4134d3fca012132be59251324&mpshare=1&scene=1&srcid=0807IY9pzU5qHlhtEAA8rtZz&pass_ticket=Fl6r91RJAQ5QWS9tLJepTBME3y3mK1MLTs1jCpODJvRMutgI6ytnZ6EPQzD14kmC#rd" rel="nofollow,noindex">2.股权、期权有哪些坑?从技术创业的角度说开去</a></p> <p>我是一名黑客,现在是知道创宇的 CTO 兼 COO,也是兰州大学的课座教授。我的第一家公司是绿盟科技,是从 2000 年开始做的,绿色兵团是绿盟科技前生。2007 年赵伟和我一起创业开始做知道创宇。</p> <p><a href="https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650997289&idx=1&sn=4ad6c54309057bb4211c8a924cfc5cea&chksm=bdbefa7a8ac9736cd18c94a575b8705c0d679cc75855d064a967c61a51c389cb8235805aab1b&mpshare=1&scene=1&srcid=0807ALx1OfHyDubfwsum46sB&pass_ticket=Fl6r91RJAQ5QWS9tLJepTBME3y3mK1MLTs1jCpODJvRMutgI6ytnZ6EPQzD14kmC#rd" rel="nofollow,noindex">3.一个程序员的审美情感</a></p> <p>我们大概都阅读过或听说过类似于编程之美或架构之美或数学之美的著作,那么,代码到底美不美呢?如果是美的,是怎样的美呢?又该怎样理解和欣赏这种美呢?不妨把问题向美学或艺术的稍深层次的内涵稍稍推进一步,姑且把程序员视为艺术家,那么,代码有可能作为他们审美情感 (Aesthetic Emotion) 的对象吗?程序员可以像艺术家那样工作吗?</p> <p> </p> <p>来自:http://www.androidblog.cn/index.php/Index/detail/id/81</p> <p> </p>