Android 每日一博

引言:信息大爆炸 + 碎片时间 = 当下状况。阅读过的文章博客如何拓展到自己的知识体系?写笔记,写总结,写感悟,动动手指,动动脑,嚯嚯~~

时间:2016年11月18日起

作者:JustDo23

邮箱:JustDo_23@163.com

背景

先来想想什么事情是你一直坚持做的吧?2106年接近尾声,元旦即将到来,公司组织了一个活动2016年最后的挑战,主要是有些挑战的有些坚持的。同志们当然是气氛活跃,各自提出自己的一个小挑战。有位 Android 猿比较喜欢逛稀土掘金便决定每天一篇博客并将其进行分享。看过第一天的文章便想写点儿东西吧。故有此文。希望自己能坚持不懈看过的文章写写随笔刚把爹~ Just Do

2017年01月01日 [ 周日 ]

元旦了,跨年了,我居然被赶出去了,房子不能住了,打包滚蛋了。找房,找房,找房。嚯嚯~

2016年12月31日 [ 周六 ]

2016, 毕业五年你为何还混得这么惨?

年底了自我总结写了没有,一年到头有什么成长和收获没有。该坚持的坚持没有,该放弃的放弃没有。成功或者失败,嗨皮或者忧伤,生活总是在继续着。保持阳光,保持乐观,轻装上阵,继续拼搏,继续奋斗,奔跑的小蜗牛。

2016年12月30日 [ 周五 ]

增量更新

刚开始做应用程序更新的方法就是服务器放一个版本信息文件,客户端去请求获取服务器上最新的版本信息,客户端本地版本号与服务器最新版本号对比,需要更新则通过连接下载服务器上最新的完整APK后进行覆盖安装。这当然是最简单的做法,但并不是最优的选择。增量更新我之前也只是听说过,并没有仔细的研究,常见的场景应该是应用市场对手机应用的更新吧,新旧两个版本进行对比生成差分包进行更新。

2016年12月29日 [ 周四 ]

如何做好技术调研

你是否做过技术调研呢?可以参考一下的。明确需求,阶段性的进行,调研的反馈。并不是介绍了怎么搜索怎么查找资料,主要是思路,时间合理安排等。

2016年12月28日 [ 周三 ]

Multidex

有没有遇到过Android中的方法是超限问题。记得当初的项目做了一年多,某次升级迭代添加了很多功能和第三方类库就死活不能使用了,一直报方法数超限的错误。最开始的解决方法就是判断是否有包重复依赖了,删除重复的多余的第三方包。后来在Android开发艺术探索一书中看相关介绍,并有相关的解决方法,其实官方文档中也有相关的介绍和说明。这一篇其实是一个系类文章,讲的比较清晰到位。

2016年12月27日 [ 周二 ]

RxPermissions

运行时权限,基于RxJava写的,国外大神写的,星还是很多的。现在感觉RxJava到处都在泛滥了,小哥,你赶紧入门还等撒~

2016年12月26日 [ 周一 ]

菜单开源库装逼大全

一堆炫酷的菜单选择器,光看效果那就只能张着嘴巴流哈喇子,各个项目都附带有源码地址,多看源码才有用。

2016年12月25日 [ 周日 ]

AvatarLabelView

自定义控件,实现右上角或左上角标签的效果,提供的属性和配置比较多,可以方便的扩展为自己想要的形式。源码没有仔细研究,光是看到封装了一个Helper的类,就很想仔细研究下具体的封装和实现方式。看到这效果的时候,想起了当初看一篇文章,用了TextView旋转的方式,感觉思路很新颖。

2016年12月24日 [ 周六 ]

SuperVideoPlayer

超级视频播放器,项目集成了多个依赖,因此实现的功能也比较多,其中比较大是Vitamio了,这个库比较强大,能播本地能播网络,可以控制声音,亮度,快进,快退,全屏等。关于流媒体,接触的并不多,踩过一两个坑。经验甚少。

2016年12月23日 [ 周五 ]

动态换Icon

文章写的很有意思,利用AndroidMainifest中的属性activity-alias以及PackageManager实现了动态的更换应用的图标。看完这篇文章后感觉基础知识还是很重要的,还就是要活学活用。

2016年12月22日 [ 周四 ]

Android Jenkins+Git+Gradle持续集成-实在太详细

作为一名Android程序员,项目上线及上线前需要打包测试及发布各个应用市场,这一操作流程你是怎么处理的呢?是不是都在本地AS中进行本地打包,然后使用adb指令挨个手机进行安装呢?有没有想过将代码提交到服务器后利用服务器进行多渠道打包呢?有没有听说过CI持续集成 呢?在服务器中搭建Jenkins来实现服务自动打包。这是一篇简单的教程。

2016年12月21日 [ 周三 ]

Dagger2学习资料

依赖注入框架接触过么有。其实我没接触过,目前项目中有相关的引入使用,这是我找到的一个学习Dagger2的好资源。

2016年12月20日 [ 周二 ]

Android高仿秒拍热榜的卡片滑动和左右飞出效果–SwipeCardsView

并没有太多的原理讲解,貌似是对某个库的修改而来,源码地址SwipeCardsView自定义控件的学习需要抓点紧了。这种效果暂时没有用到,留着吧。

2016年12月19日 [ 周一 ]

使用广播监听网络变化

当用户的手机网络出现变化的时候应用能智能进行相应状态的界面更新,自定义广播去监听系统网络变化时候发出的action然后做出相应的改变。使用时在Application中进行注册,同时有网络状态和网络断开两个接口回调,星不多但是封装可以进行参考一下。还有一些是配合使用Service进行监听的方法。

2016年12月18日 [ 周日 ]

rxAdapter

全英文的文章,我擦。这个大体浏览了一下,涉及的东西比较多,有DatabindingRxJava等等。主要的功能其实就省略了写Adapter的代码。主要针对RecyclerView使用。

2016年12月17日 [ 周六 ]

RxDownload

基于RxJava打造的下载工具, 支持多线程下载和断点续传, 智能判断是否支持断点续传等功能。感觉很牛逼。

2016年12月16日 [ 周五 ]

RxJavaSamples

可能是东半球最全的RxJava使用场景小结

原文和github两个地址,库里边主要是RxJava常见的使用场景,案例等。库外边就是大量的相关链接,大量的学习资源,从中找一个切入点进行入门吧。

2016年12月15日 [ 周四 ]

直接拿去用!每个App都会用到的LoadingLayout

相关的文章有分享过一次的,往下继续阅读就会看到,但是这一篇的实现方式和之前接触的似乎是有些区别的,打开两个的github地址,这一个有360多个星,上一个只有39星。这一篇没有讲解具体的实现原理,只是简单介绍了如何进行使用,虽然没有动手敲Demo仍旧能感觉到这个使用并不是很方便,需要在自己的xml布局上套上一个自定义的布局。

2016年12月14日 [ 周三 ]

App瘦身最佳实践

绝对干货。首先对APK进行了解剖,了解APK的各个组成部分,有不少APK分析工具的知识,也有不少资源压缩更换使用的技巧,代码资源等打包混淆成熟工具的推荐等等。在对APK的剖析结果上,针对各个模块进行相应的瘦身处理。涉及到了很多的优化技巧,干货多多。好文~~

2016年12月13日 [ 周二 ]

Rxjava +Retrofit 你需要掌握的几个技巧,Retrofit缓存,统一对有无网络处理, 异常处理,返回结果问题

当下比较流行的开发框架,必须收藏。并不是教学文章,而是一些技巧和细节类型的问题。很明显是在开发使用过程中的经验总结,如果要入门还需要看一些别的教程或者入门级文章。

2016年12月12日 [ 周一 ]

在android 6.0动态权限问题无法获取READ_PHONE_STATE权限的SecurityException的问题

这是在开发过程中遇到的一个问题,当targetSdkVersion 23的时候获取手机的DeviceId的时候,没有判断是否具有权限直接获取就或报错。关于动态权限处理已经不是什么新鲜东西了,整体流程大致就是检测权限,没有就提示申请权限,否则直接退出。在github上已经有多宽比较不错的封装了,另外文末也给出了一些链接方便查看学习使用。

2016年12月11日 [ 周日 ]

Gradle for Android 系列:为什么 Gradle 这么火

首先,我们要了解一下Android应用程序的构建过程,其次,来了解一下构建工具的发展历史以及Gradle的发展。接着学习Gradle中的相关概念:项目任务构建生命周期Gradle Wrapper等等。正如作者所说,文章是泛泛而谈,不过还是可以帮助我们对Gradle有一个简单的了解的。

2016年12月10日 [ 周六 ]

使用Picasso来实现圆形头像

网络图片加载框架其实有多个可以供我们选择,我使用最多的是Android-Universal-Image-Loader其中有很方便的显示圆角图片的方法。这篇主要使用Picasso中对外提供的图形处理接口Transformation,在获取到原图之后对图形进行压缩和裁剪操作。对图形的压缩逻辑和方法并不是最好的,只能作为一个 Demo 去使用,对图形的的裁剪主要利用了canvaspaintsetXfermode()PorterDuffXfermode类似取两张图片的交并集操作,这个在学习自定义控件的时候有所接触,还是比较不错的。显示圆角图片:压缩,裁剪,显示的思路。

2016年12月09日 [ 周五 ]

如何提升你的面试机会?

找工作写简历投简历面试准备面试等通知,呵呵,想要找个理想的工作真的好蓝。资历浅经验少技术差紧张嘴巴笨,嚯嚯,身边真的出现朋友因为找不到工作回家的情况,那就越发的悲催了。年轻人还是不要太浮躁,沉下心来认真总结学习,提高自身实力才是真的。想当初七八月份的时候在Boss直聘上就是一堆的假简历,其实干两天活儿一个人技术水平就基本显露无疑了,只赶脚假的简历诚信有问题。写简历还是多沉淀,多自我总结,简单常用的就不用放上去,项目中的职责才是重点,写项目经验站在面试官的角度,面试官并不会在乎也不知你写的项目是个什么东西。投简历无望,还是多找内推来的快些。

2016年12月08日 [ 周四 ]

在线看Android系统源码,相见恨晚的几种方案

嚯嚯,自从开始学 Android 以来查看源码这项神技能掌握的可真不咋地。源码才是真正的好老师,要在这条路上继续走下去,阅读源码是必不可少的,其实很多源码里都有相关的注释,不过都是英文的,实在是无力吐槽这渣渣的英语水平了。文中提到三种方式,力推源码网站http://androidxref.com需要科学上网,还有一个是 Chrome 的插件Android SDK Search随手装了一个试试,在浏览官方 API 的时候可以直接跳转Google Git中的源码,用起来很方便。AndroidXRef的搜索选项比较多,各个的功能不大相同,学习了。

2016年12月07日 [ 周三 ]

XDroid 轻量级的Android快速开发框架

快速开发框架这种东西在我看来类似提前抽象好公共的基类BaseActivityBaseFragmentUtils等之类的工具来帮助开发者快速的搭建起一个全新的 App,类似的快速开发框架之前也见过一些比如AndBase等等。如果看看这些框架的源码还是有很多好处的,只是感觉应该很少有人会选择直接使用。

android-common

LiteCommon是一系列通用类、辅助类、工具类的集合。工具类集合,仔细看看源码还是能学到东西的。

2016年12月06日 [ 周二 ]

2015年校招面试经历

总会在不经意之间看到别人的面试经历之类的文章,看看别人想想自己,嚯嚯~~只能说革命尚未成功,同志仍需努力呀。每天的时间不能白白浪费掉,做好工作的同时还是要多学习,多看文章,多动手写代码。还是上学好,每天的课程,还有老师给讲,出来都要靠自己了,还是多学多看找准方向,继续奔跑吧。

2016年12月05日 [ 周一 ]

Android开源音乐播放器之高仿云音乐黑胶唱片

关于自定义控件的,实现了音乐播放过程中的唱片效果,总体来看,其中应该是绘制了几张图片,同时添加了动画实现了最终的效果,这是一个系列文章,实现音乐播放器。具体的源码并没有深入阅读,不过感觉总体写的不错,学习自定义控件,音频播放可以参考。

2016年12月04日 [ 周日 ]

TextView实战之你真的懂我么?

并不是直接拿官方文档中的内容进行说明,写了很多比较实用的技巧。字体加粗部分想起当初发现在xml 布局中直接使用属性设置后,英语会加粗,中文不会加粗,所以需要代码中使用 paint进行加粗显示。一个文本中有各种颜色是字或者有的字体大有的字体小,则使用 SpannableString 进行实现,另外同一个SpannableString对象只能使用一次。还有就是显示 HTML 字符串等。

2016年12月03日 [ 周六 ]

AndroidCommon

一个第三库里边有很多工具类

AndroidUtilCode

大量的工具类

android-training-course-in-chinese

Android官方培训课程中文版

2016年12月02日 [ 周五 ]

拉升App颜值

一个第三库的收集整理,目前共有3篇文章,挨个看过,后两篇主要是和图片相关的。不要重复造轮子,感觉自己还不太会造轮子哩,呵呵。图片压缩,屏幕截图,图片缩放显示,图片裁剪,轮播,图片多选等等。

2016年12月01日 [ 周四 ]

7个最佳的Android模拟器

还记得刚才开始学习 Android 的使用使用 2G 内存的 Windows 笔记本,没有现成的 Android 手机就用 Eclipse 和原生的模拟器进行学习,那时候真叫一个卡,再后来就用到了 Genymotion 模拟器,那个速度提升感觉像是坐火箭,嚯嚯~~再往后就一直使用真机进行开发,很少使用模拟器了。大约半年前在 Windows10 系统上没有成功安装 Genymotion 就放弃了,接触到夜神模拟器还是挺快的。然后还有一款非模拟器Vysor可以将手机屏幕映像至电脑,电脑进行手机控制,这是一款Chrome浏览器插件,推荐给我们测试妹子了。

这个一篇是外文翻译文章,所以主要都是国外的一些模拟器推荐,文末有几篇推荐文章,可以看看。看完这篇文章,一不小心发现慕课手记还是有一些干货的嘛。

2016年11月30日 [ 周三 ]

介绍一下页面状态管理类PageStateManager,我实在看不下去你们直接用Layout

一看到开头就想起之前项目中使用最多的就是给 ListView 设置 empty 来实现数据为空的界面。这样写确实挺繁琐的,文中介绍用代码来插入一层Framelayout来管理页面状态,而不是自己手写到xml这种方式确实是高明很多。封装主要基于基于张鸿洋LoadingAndRetryManager有改进。还是自己动手实践一下才会有感触。

2016年11月29日 [ 周二 ]

RichText不知这货从哪里找的地址。Github 最新地址

一个富文本显示TextView第三方库。这个没啥好说的了。

2016年11月28日 [ 周一 ]

支持 TextView 默认支持的所有标签,支持自定义,取代安卓默认的 Html.TagHandler

在印象中 TextView 显示HTML 应该是很简单用tv.setText(Html.fromHtml(html));就可以了;Html.TagHandler这个东西还真没有接触过,所以文章看的云里雾里的。简单百度后fromHtml方法其实是有多个方法重载的。如果有需要支持自定义标签的可以参考下。

2016年11月27日 [ 周日 ]

AndroidStudio——Freeline的使用

蚂蚁金服旗下蚂蚁聚宝团队开发的加快编译速度,提高效率的编译方案;内部有参考 Facebook 开源工具 buck ;可以在 Android Studio 中安装插件进行使用。想当初 AS 刚刚推出的时候,在低端电脑上很是吃内存,编译一个 Demo 都得费老大劲儿了,使用 Eclipse 也就嗖一下子的事情。Google 推出了instant-run 需要 AS 配合5.0以上版本手机进行使用。我现在插上手机第一次编译项目还是需要3分钟时间,看来需要学习下对 gradle 进行配置来提高效率了。

Freeline源码Freeline原理两个官方链接

这篇文章不仅有简单介绍,还有填坑介绍,不错~~并没有手动时间,嚯嚯…

2016年11月26日 [ 周六 ]

Android实践之ScrollView中滑动冲突处理

在自定义控件和事件分发方面,我的经验技术和知识还是很欠缺的,这一篇使用了 onTouchListener 的思想进行了多个嵌套布局之间事件分发问题的解决,我硬着头皮看了很久,仍然不能顺利的看完。现有的经验就是在重写 ListView 和 GridView 来实现高度重新测量从而达到嵌套正常的效果。另外就是在 ScrollView 中嵌套使用 ListView 会出现界面不会显示顶部,ListView 抢占焦点而是界面下滑顶部信息无法显示的情况。解决方法是在顶部控件中添加获取焦点的熟悉android:focusableInTouchMode="true"android:focusable="true"如果无法达到效果就在代码中取消 ListView 的焦点listview.setFocusable(false);在xml 中设置 ListView 属相是没有效果的。

2016年11月25日 [ 周五 ]

Andromeda OS 来了,Android 再见?

并不涉及技术知识,所以比较轻松的文章,主要解释 Android 最近是否会被淘汰的问题。另外就是关于找工作的问题。今年的行情就不多说了,找工作并不容易,大多数公司都在招3年甚至5年工作经验的人。所以,还是尽可能的多学习,多动手,多积累。

Just Do it .

2016年11月24日 [ 周四 ]

关于RxJava最友好的文章

关于RxJava有些公司有些人都已经用烂了,我却还没有在实践中尝试,很早就想学习这块儿了,没有做好计划导致好多东西都没学会。还记得几个月前看一篇讲解文章,硬着头皮愣只看了一半。此文作者貌似计划出一个系列的文集,后期可以关注关注。

找个机会还是得在学一下这玩意儿,并将所有看过的文章进行一个汇总。

2016年11月23日 [ 周三 ]

设计模式的几大原则

哇哦~这文章看起来还是有些费劲的。从码农工程师必经之路软件设计离不开六大原则。很多人写出来的代码不规范或者不清晰还有就是充斥着面向过程的气味,我也不咋地,原因:不知道规则,不能很好的运用,没有在实战中体会到优点单一原则里氏替换原则依赖倒置原则接口隔离原则迪米特原则开闭原则

类的复杂性降低,从而�可读性提高,从而更容易维护。加强对继承多态的应用,子类可以扩展父类的功能,但不能改变父类的原有功能。抽象不应该依赖细节,细节应该依赖于抽象;针对接口编程,不要针对实现编程。高层模块依赖底层模块,让它们都依赖抽象,从而一处更改不用担心其他受影响,还可以很容易被复用。

理解起来比较费劲,那就多看几遍,多理解几遍。23中设计模式有空了可以研究研究,设计模式在面试中出现的频率还是很高的。不能只停留在表面的理解,多动手实践,深入理解。

2016年11月22日 [ 周二 ]

adapter 使用butterknife的简单封装

内容不长我看了两遍,第一遍粗略看了然没有理解,第二遍细读,要是有个 Demo 就更好理解了。封装万能适配器是为了帮助我们节省时间提高效率。一直用的是张鸿洋封装的针对ListView,感觉很好用,后来发现又添加了关于RecycleView的封装,https://github.com/hongyangAndroid/baseAdapter可以去看看。

当初的学习地址:慕课网Android-打造万能适配器博客Android 快速开发系列 打造万能的ListView GridView 适配器

2016年11月21日 [ 周一 ]

HTTP cookies 详解

项目中使用到了cookie但是我之前并没有接触过相关的开发。对于cookie了解只是停留在学生时代。这篇文章是国内大神翻译国外文章,简单讲述了cookie的由来,然后对cookie进行了一个剖析,对cookie中的各个字段进行了讲解。机密敏感信息绝对不能存放在cookie中,因为它的整套机制是不安全的。对于cookie的维护,更新需要使用相同发消息头进行覆盖,否则会新建。对于 cookie 的失效,在 cookie 内部有相应的时间设置,每次更新不用修改时间。cookie 会被浏览器自动删除,因而管理 cookie 显得十分重要。最后,讲了一些关于cookie限制条件等相关的内容。

文章与平台无关,只是针对cookie的讲解,文章比较老,但是讲到知识还是很有用的。算是有了概括的了解,结合到 Android 中使用,还需要看些别的文章。

2016年11月20日 [ 周日 ]

Android屏幕适配姿势

文章首先讲了 Android 的碎片化,接着讲了官方的一些基础概念dpdpisp等等。文中提到的当前图标可以只用一套的xhdpi这个我也是去年接触到,用起来感觉还是很舒服的,相信大多数公司的设计图都只出 iOS 版的。再接着就是使用布局参数wrap_contentmatch_parentlayout_weight;对于weight使用和计算大家都应该了解一下。接着就是使用多个layout布局或者dimen尺寸进行适配。

目前适配应该比较成熟,自己总结过,其实和文中的适配相似,先考虑使用dpsp等单位然后考虑weight等布局参数,再者.9dimen等。文章中有很多链接值得一看。最后推上自己的当前学习的资源,慕课网凯子哥视频Android-屏幕适配全攻略及博客地址Android屏幕适配全攻略(最权威的官方适配指导)

2016年11月19日 [ 周六 ]

Android App 优化之消除卡顿

这一篇是作者系列文集中的其中之一。不知你是否了解过 Android 几秒刷新的16ms原则,为什么是16ms,因为Android设定的刷新率是60FPS(Frame Per Second),也就是每秒60帧的刷新率,约合16ms刷新一次。丢帧就会感受到卡顿Overdraw过度绘制,以及调试查看,取消 Window的背景等方式。频繁的GC操作以及出现的原因等等。还有就是提到两个工具Hierarchy ViewerTraceview

简单明了,通俗易懂,好文。可以看看所有文章Android App性能优化

2016年11月18日 [ 周五 ]

一个平凡人的职场经历

只是忽然就想到自己也是没有好学历没有好背景,普通二本软件工程。13年开始被各方面灌输 Android 的火爆,也有幸接触到相关的环境配置,简单代码等等,那时候学习真是各种懵逼状态,因而没有坚持;一晃就14年大四了,什么都不会怎么找工作,于是决心认真学一把。找了一套毕向东的 Java 视频课,边看边敲,边看边做笔记,这套课程基本看了有80%之后就开始看张泽华的一套 Android 入门课程。看完后才感觉有一个清晰的知识体系,有了一定基础。虽然当初很辛苦,但现在还是觉得当初没坚持看完挺可惜。

年末来到北京,各种找工作各种心塞,计划房租到期后便打包滚蛋。某天上午我正在面试,同学来电话让去他们公司面试,下午便去了虽然简历都没了,Android 开发就一个人也就是我老大。面试环节我表明自己项目经验少,基础知识还算扎实,毕竟刚学完没多久,接着就是一系列基础知识问答了,面试就算是过了。公司小总共就10多个人,工资自然不会高,但包住。想想要和同学一起工作,想想自己刚出来就是学习阶段,便入职了。

公司都是90后,交流无障碍,刚入职就天天加班,好在大家一起上下班。白天工作,晚上回家学习,半年时间各方面都有所提升,工作干起来也是得心应手。毕业了转正了,Android 又来了新同事,不加班了,压力小了,学习的状态也松懈了,晃晃悠悠半年就过去了。16年年初 Android 组开始搞革命,老大走了,又一个走了,我开始承担全部任务,开新项目,招新人,带着一起开发。起初还是很有收获的,慢慢的就开始迷茫浮躁了,担心自己的未来,好像跳出来去别的地方看看,总想进家大厂,跟一帮牛人学习。上个月裸辞换了一份工作,感觉还是在独立开发,虽然并不十分的好但整天压力山大。现在每天想的就,干好工作,学习,总结,进步。

总体来说工作也2年多了,心态还是要端正了,好的心态好的身体,继续学习继续进步。虽然现在学的写的东西都比较基础,但是有总是比没有的强,多给自己正面的鼓励。酒要一口一口地喝,路要一步一步走,步子迈得太大,会扯着蛋。

    原文作者:JustDo23
    原文地址: https://www.jianshu.com/p/d4b935ed88f3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞