Android Weekly #248 安卓开发周刊 中文版

OPEN编辑 2年前
   <h2><strong>文章 & 教程</strong></h2>    <p><a href="/misc/goto?guid=4959741320721806917">为什么您的应用程序崩溃 </a>(jeroenmols.com)</p>    <p>太多次,我看到开发人员试图避免崩溃的代价。 实际上,有时你想让你的应用程序崩溃。 Jeroen Mols解释了为什么,并提供一些实用的提示。</p>    <p><a href="/misc/goto?guid=4959741320812412121">两个ID问题</a>(tech.trello.com)</p>    <p>Dan Lew在Trello Android应用程序中开发离线模式时遇到了一个令人惊讶的棘手问题:处理标识符。</p>    <p><a href="/misc/goto?guid=4959741320890790714">保留Dagger组件 </a>(medium.com)</p>    <p>这里有一种方法,在涉及使用Dagger的配置更改中保留应用程序组件。</p>    <p><a href="/misc/goto?guid=4959741320983771168">知识的负担</a>(medium.com)</p>    <p>共享知识是专业软件工程师的标志。 如果你有独特的知识,对公司至关重要,作为一个专业,你的责任,分享它。</p>    <p><a href="/misc/goto?guid=4959741321070433776">通过Dagger改进 Realm 迁移 </a>(www.adavis.info)</p>    <p>Annyce Davis总是在寻找机会来改善她的代码,她意识到,通过Dagger 2可以显着改进Realm中处理迁移的推荐方法</p>    <p><a href="/misc/goto?guid=4959741321155948632">如何成为一个Mock-Star… </a>(medium.com)</p>    <p>在Garima Jain的这篇文章中,你将学习如何嘲笑对象......直到你是一个“Mock-Star”。</p>    <p><a href="/misc/goto?guid=4959741321239167207">使用MapOverlayLayout制作动画 </a>(www.thedroidsonroids.com)</p>    <p>在Mariusz Brona的四部分系列的第二部分中,您将学习如何在Google地图上为标记设置动画。</p>    <p><a href="/misc/goto?guid=4959741321318839708">尝试告诉我们什么是Activities单元测试第二部</a>(www.philosophicalhacker.com)</p>    <p>在本系列的第二部分中,哲学黑客展示了如何使用Activity和Fragments作为构建块,使我们的代码难以测试,并表明我们的单元测试失败告诉我们,我们的目标类具有低凝聚力。</p>    <p><a href="/misc/goto?guid=4959741321426421872">JUnit 5: DisplayName </a>(blog.stylingandroid.com)</p>    <p>JUnit 5提供了一个@DisplayName注释,我们可以在我们的测试中使用。 我们添加到此注释的文本是测试运行器将在测试报告中显示的内容。 Mark Allison展示了这一点如何有用。</p>    <p><a href="/misc/goto?guid=4959741321504095242">精彩的RxJava 2结构Single和Completable </a>(medium.com)</p>    <p>你应该考虑使用两个精彩的RxJava 2结构,称为Single和Completable。 Valentin Hinov分享了一些如何使用它们的例子。</p>    <p><a href="/misc/goto?guid=4959741321596095752">Android中的自定义FindBugs探测器 </a>(rhye.org)</p>    <p>有两种工具可以将编译(ish)时间代码检查提升到更高级别 —— Android Lint和FindBugs项目。这里更详细地介绍FindBugs,以及它如何能帮助甚至超出了Lint提供的东西.</p>    <p><a href="/misc/goto?guid=4959741321681038096">静态代码分析工具 </a>(medium.com)</p>    <p>Dmytro Danylyk继续研究他关于最佳项目设置的系列,这一次显示了如何使用静态代码分析工具早期捕获的问题。</p>    <p><a href="/misc/goto?guid=4959741321762057589">同步失败处理</a>(tech.trello.com)</p>    <p>第三部分是Dan Lew的Trello Android离线系列。这一次是介绍关于他们如何同步处理错误的。</p>    <h2><strong>设计</strong></h2>    <p><a href="/misc/goto?guid=4959741321843564992">LottieFiles </a>(www.lottiefiles.com)</p>    <p>免费高品质Lottie动画文件</p>    <p><a href="/misc/goto?guid=4959741321932012659">Google Material Design </a>(medium.com)</p>    <p>Nick Butcher是Google设计关系团队的一员,帮助设计师了解或应用Material Design,设计Progressive Web App,或者让他们了解Android的设计,Nick和他的团队可以帮助。</p>    <h2><strong>库 & 代码</strong></h2>    <p><a href="/misc/goto?guid=4959741322016148290">DiscreteScrollView </a>(github.com)</p>    <p>基于RecyclerView的可滚动列表的实现,其中当前项目居中并且可以使用滑动来改变其位置。(类似于ViewPager)</p>    <p><a href="/misc/goto?guid=4959741322101681293">SimpleRatingBar </a>(github.com)</p>    <p>SimpleRatingBar允许我们创建一个在项目之间留有余量的RatingBar。</p>    <p><a href="/misc/goto?guid=4959741322189744734">InstaCropper </a>(github.com)</p>    <p>裁剪图像的视图,类似于Instagram的裁剪。</p>    <p><a href="/misc/goto?guid=4959741322269453936">GuildWars2_APIViewer </a>(github.com)</p>    <p>Guild Wars 2 API查看器利用Dagger 2,Databinding,Retrofit 2和RxJava 2,与MVVM架构相结合。</p>    <p><a href="/misc/goto?guid=4959741322356346585">here-be-dragons </a>(github.com)</p>    <p>here-be-dragons是一个Intellij / Android Studio插件,这个插件让你通过@SideEffect解释你的非纯码的Java方式,并且在调用它们时会在左边栏中显示一个小龙图标。</p>    <p><a href="/misc/goto?guid=4958986816673841735">RoboGif </a>(github.com)</p>    <p>一个小的实用程序将Android设备屏幕录制到优化的GIF中去,以便您可以将其粘贴到GitHub或着一个相似的服务。</p>    <p><a href="/misc/goto?guid=4959741322480505715">service-tree </a>(github.com)</p>    <p>一个树在其节点中为给定的键提供存储服务,并允许遍历它们。</p>    <h2><strong>视频 & 博客</strong></h2>    <p><a href="/misc/goto?guid=4959741322564545929">SOLID原则</a>(www.油Tube.com)</p>    <p>Tamas Losonczi介绍了SOLID原则的乐趣,它帮助增加开发人员利用一个项目驱动编程语言的能力。</p>    <p><a href="/misc/goto?guid=4959741322645463948">使用Paco Estevez进行函数编程语言</a>(github.com)</p>    <p>在这一集中,Artem&Hannes与Paco Estevez谈论了函数编程语言,以及他如何在他的Android应用程序中应用函数编程语言。</p>    <p><a href="https://www.油Tube.com/watch?v=HTphunkW_ew&t=535s">开发一个watch face & Android Wear 2.0 </a>(www.油Tube.com)</p>    <p>Ondrej Komarek展示了如何为watch face添加复杂功能,并讨论了如何使当前的Android Wear应用与最新版本兼容。</p>    <p><a href="https://www.油Tube.com/watch?v=gZ1p9nE_gPQ&feature=youtu.be">开发提示&技巧</a>(www.油Tube.com)</p>    <p>Lukas Hermannt谈到了如何通过选择正确的布局或使用矢量图像而不是光栅图像来加速应用程序。他还讨论了如何使APK输出更小,这要求APK需要更少的兆字节。</p>    <h2><strong>事件</strong></h2>    <p><a href="/misc/goto?guid=4959741322919956900">Droidcon波士顿特价门票</a>(www.eventbrite.com)</p>    <p>时间有限,Android Weekly为波士顿第一个Droidcon - 2017年4月10 - 11日@Calderwood Pavilion提供特价$ 100的门票。在它们买完之前前,赶紧抢购。</p>    <p><a href="/misc/goto?guid=4959741323014636537">获取第9张MobileCamp</a>(mobilecamp.de)</p>    <p>德国最大的围绕手机主题的游戏开放了免费门票的注册。所以赶快注册吧! MobileCamp在4月29日至30日在德累斯顿举行。多达300个开发人员,创新者,早期采用者和用户将会聚集在一起分享他们的知识.</p>    <p> </p>    <p> </p>    <p>英文原文:<a href="/misc/goto?guid=4958822866262869795">Android Weekly #248</a></p>    <p>中文翻译:<a href="http://www.open-open.com/lib/view/open1489407434309.html">深度开源</a></p>    <p>译者:木槿 校对:OPEN编辑</p>    <p>本译文仅用于学习和交流,转载请注明文章译者、出处、和本文链接</p>    <p>我们遵照 CC 协议,如有侵犯到您的权益,请联系我们</p>