Android博客周刊第78期

   <p><strong>新闻</strong></p>    <h2><a href="/misc/goto?guid=4959755686270839437" rel="nofollow,noindex">1.谷歌终于在新版Android 8.1中带来正确的汉堡emoji表情</a></h2>    <p>据外媒报道,上个月,互联网发现苹果、谷歌等这样的公司不知道如何正确制作一个芝士汉堡,至少在emoji表情上是这样的。这个问题在社交媒体平台上引发了一系列的牢骚抱怨。</p>    <h2><a href="/misc/goto?guid=4959755686364214031" rel="nofollow,noindex">2.新发布的智能手机也不再保证有最新版本的Android</a></h2>    <p>OnePlus 5T和Razer Phone是两个截然不同的设备,但它们都有一个不利因素,那就是它们都将在本月上市销售,而没有安装最新版本的Android。 OnePlus会告诉你,这个问题是由于其严格的测试过程,而Razer提供了一个类似的说法</p>    <p><strong>国外博客</strong></p>    <h2><a href="/misc/goto?guid=4959755686444638631" rel="nofollow,noindex">1.AndroidPub Newsletter Rev. 4</a></h2>    <p>The last weeks were packed with good content as a couple of very interesting conferences took place. Two of them were DroidCon events, one in London and the other one in New York. Keep an eye open for the talks as they all have been recorded!</p>    <h2><a href="/misc/goto?guid=4959755686527516304" rel="nofollow,noindex">2.Multithreading and Kotlin</a></h2>    <p>I’ve been wanting to follow up on my previous blog post, “Approaching Kotlin from Three Angles”, with the multithreading chapter and things have been just getting busier every day</p>    <h2><a href="/misc/goto?guid=4959755439935584867" rel="nofollow,noindex">3.Create a Clean-Code App with Kotlin Coroutines and Android Architecture Components</a></h2>    <p>This is the second blog post about using Kotlin Coroutines and Android Architecture Components in one simple weather app.Please read the first part if you haven’t already</p>    <h2><a href="/misc/goto?guid=4959755686639890163" rel="nofollow,noindex">4.You’re doing MVP wrong</a></h2>    <p>If you work in product management, product development or just in technology or software at all, you’ve probably heard of the term ‘MVP’ or Minimum Viable Product. Everyone is using it these days</p>    <h2><a href="/misc/goto?guid=4959755651422547568" rel="nofollow,noindex">5. 9 RxJava 2 Migration Learnings At Runtastic</a></h2>    <p>The Runtastic team recently migrated their codebase from RxJava v1 to v2. Here are the changes they encountered.</p>    <p><strong>国内博客</strong></p>    <h2><a href="/misc/goto?guid=4959755686751915314" rel="nofollow,noindex">1.壹二APP开发实践回顾总结出40条精要</a></h2>    <p>开发壹二APP,一路上或多或少踩了一些坑,有些是太基础一时忘记,有的是细节没有注意。记录下来方便回忆,有些应该没有解决,有些结论可能不太准确,需要后续研究。没有作具体分类,只是按时间先后记录,所以,显得特别杂乱。</p>    <h2><a href="/misc/goto?guid=4959755686835839823" rel="nofollow,noindex">2.Android Lint增量扫描实战纪要</a></h2>    <p>先来说我为什么要做增量扫描这个事情,毕竟代码扫描已经老生常谈了,业界方案一搜一大堆,有什么好讲的,大部人看到这篇文章的时候肯定这么想吧,但是注意今天我要分享的不是全量扫描,我分享的是从无到有实现增量扫描的过程,有的时候实现一个方案从来不是重点</p>    <h2><a href="/misc/goto?guid=4959755686919661423" rel="nofollow,noindex">3.Android WebView中Java与JavaScript的交互方式与安全策略</a></h2>    <p>Android在加载网页H5时,会用到WebView组件,以实现服务端可配置,灵活定义Action。 这个时候就需要Java与JavaScript进行交互,典型的应用场景就是电商类APP,如京东和淘宝。 WebView支持JavaScript这些交互动作,那么问题来了,我们怎么实现Java编写的安卓程序与JavaScript编写的网页进行交互呢</p>    <h2><a href="/misc/goto?guid=4959755687007354823" rel="nofollow,noindex">4.Android 反编译利器,jadx 的高级技巧</a></h2>    <p>今天介绍一个非常好用的 Android 反编译的工具 jadx 。jadx 的功能非常的强大,对我而言,基本上满足日常反编译需求。jadx 优点: 图形化的界面。 拖拽式的操作。 反编译输出 Java 代码。 导出 Gradle 工程。</p>    <h2><a href="/misc/goto?guid=4959755687092430965" rel="nofollow,noindex">5.APP加固技术历程及未来级别方案:虚机源码保护</a></h2>    <p>传统App加固技术,前后经历了四代技术变更,保护级别每一代都有所提升,但其固有的安全缺陷和兼容性问题始终未能得到解决。而下一代加固技术—虚机源码保护,适用代码类型更广泛,App保护级别更高,兼容性更强,堪称未来级别的保护方案。</p>    <h2><a href="/misc/goto?guid=4959755687171762420" rel="nofollow,noindex">6.RxJava2.0实用操作符总结及原理简析</a></h2>    <p>大概从2015年开始,RxJava1.0开始快速流行起来,短短两年时间,RxJava在Android开发中已经算是无人不知无人不晓了,加之它与Retrofit等流行框架的完美结合,已经成为Android项目开发的必备利器。随手记作为一个大型项目,引入三方框架一直比较慎重,但也从今年初开始,正式引入了RxJava2.0</p>    <h2><a href="/misc/goto?guid=4959755687262233416" rel="nofollow,noindex">7.Java 形参与实参</a></h2>    <p>完美实现交换。但是请注意,这是一道面试题,要的就是考验一些知识点。所以还是老老实实的实现swap方法吧。 有的同学可能会想,Integer 是一个包装类型,是对Int的装箱和拆箱操作。其实也是一个对象。既然是对象,直接更改对象的引用不就行了?</p>    <h2><a href="/misc/goto?guid=4959755687341202669" rel="nofollow,noindex">8.一次触摸,Android到底干了啥</a></h2>    <p>当我们在写带有UI的程序的时候,如果想获取输入事件,仅仅是写一个回调函数,比如(onKeyEvent,onTouchEvent….),输入事件有可能来自按键的,来自触摸的,也有来自键盘的,其实软键盘也是一种独立的输入事件。那么为什么我能通过回调函数获取这些输入事件呢?系统是如何精确的让程序获得输入事件并去响应的呢?</p>    <h2><a href="/misc/goto?guid=4959755687426263334" rel="nofollow,noindex">9.短视频SDK架构设计实践</a></h2>    <p>图 1 所示是短视频及直播的发展史,众所周知,2016 年是直播元年,在这期间诞生了很多直播平台,比如熊猫、映客、斗鱼等;而在 2017 年,短视频的火爆程度并不亚于直播,可能大家都以为短视频是从 2017 年开始火爆起来的,但其实早在 2015 年就已经诞生出快手、秒拍、美拍等短视频 APP。</p>    <h2><a href="/misc/goto?guid=4959755687509681807" rel="nofollow,noindex">10.热修复——深入浅出原理与实现</a></h2>    <p>热修复无疑是这2年较火的新技术,是作为安卓工程师必学的技能之一。在热修复出现之前,一个已经上线的app中如果出现了bug,即使是一个非常小的bug,不及时更新的话有可能存在风险,若要及时更新就得将app重新打包发布到应用市场后</p>    <p><strong>类库</strong></p>    <h2><a href="/misc/goto?guid=4959755687594389466" rel="nofollow,noindex">1.Battery-Metrics</a></h2>    <p>用于检测电池系统相关指标</p>    <h2><a href="/misc/goto?guid=4959755687676620071" rel="nofollow,noindex">2.MyLittleCanvas</a></h2>    <p>一个好用的canvas封装</p>    <h2><a href="/misc/goto?guid=4959749409617019607" rel="nofollow,noindex">3.Matisse</a></h2>    <p>一个图片视频选择器</p>    <h2><a href="/misc/goto?guid=4959751022240071998" rel="nofollow,noindex">4.Orin</a></h2>    <p>Tunzo's material design music player</p>    <h2><a href="/misc/goto?guid=4959755687817382952" rel="nofollow,noindex">5.ServiceKeep</a></h2>    <p>Android Service保活模块(5.0以下使用c来fork进程轮训监听,5.0以上使用KeepPushAliveJobSchedulerService来保活进程)</p>    <h2><a href="/misc/goto?guid=4959755687912710829" rel="nofollow,noindex">6.AnimatedPieView</a></h2>    <p>自定义可用的圆圈图表</p>    <h2><a href="/misc/goto?guid=4959755687999128478" rel="nofollow,noindex">7.NewFastFrame</a></h2>    <p>终极组件化框架项目方案</p>    <h2><a href="/misc/goto?guid=4959755688079326804" rel="nofollow,noindex">8.AndroidFileManage</a></h2>    <p>文件管理器</p>    <h2><a href="/misc/goto?guid=4959755688167117863" rel="nofollow,noindex">9.simpleC</a></h2>    <p>Android平台上的C语言开发工具</p>    <h2><a href="/misc/goto?guid=4959755688248990656" rel="nofollow,noindex">10.android-titlebar</a></h2>    <p>通用,功能全面的自定义标题栏,支持沉浸式标题栏,颜色渐变</p>    <h2><a href="/misc/goto?guid=4959755688332466539" rel="nofollow,noindex">11.ProportionView</a></h2>    <p>比例缩放viewgroup</p>    <h2><a href="/misc/goto?guid=4959755688415171152" rel="nofollow,noindex">12.Glin</a></h2>    <p>一款灵活支持中间件的Java&Android动态代理网络框架</p>    <p><strong>博外话</strong></p>    <h2><a href="/misc/goto?guid=4959755688502926496" rel="nofollow,noindex">1.程序员 30 岁前,该如何规划自己的职业发展?</a></h2>    <p>有读者问我职业规划这个话题,姑且今天好好谈谈,因为我一直认为这个话题对职场工作人士非常重要,今天我就来聊聊程序员的职业规划。在回答这个问题之前,我得先给大家解释下为什么职业规划很重要.</p>    <h2><a href="/misc/goto?guid=4959755688585317963" rel="nofollow,noindex">2.何召卫博士:我在阿里干了三年的总结</a></h2>    <p>程序员节,也恰恰是我在阿里工作满3年的时候,借此机会盘点一下自己近3年来的工作,也为自己后续发展把把关。个人的眼界和思考总是有限的,特别是对于研究和技术领域来说,知道得越多,其实就会知道自己有多无知,从而对未知心生敬畏,并因未知的广阔而兴奋。</p>    <p> </p>    <p>来自:http://www.androidblog.cn/index.php/Index/detail/id/88</p>    <p> </p>