Chrome Custom Tabs最佳实践
距离Google发布Chrome Custom Tabs已经一年,Twitter、Medium等国外App早已支持了这个功能,但遗憾的是国内App鲜有支持。这篇文章以官方开发文档和示例源码为基础,加上自己的理解,希望能帮助读者快速掌握Chrome Custom Tabs的用法。为什么要用Chrome Custom Tabs?当App需要打开一个网站时,开发者面临两种选择:默认浏览器或WebView。这两种选择都有不足。从App跳转到浏览器是一个非常重的切换,并且浏览器无法自定义;而WebView无法与浏览器共享cookies等数据,并且需要开发者处理非常多的场景。
Android测试驱动开发(TDD)
什么是TDD?测试驱动开发(TDD)是由敏捷开发派生而来,它描述的是这样一种开发流程:1. 添加测试用例,每一个功能点的添加,开发者都必须对它进行详细地分析,然后快速地、有针对地书写测试代码。它和正常的开发流程不同的是,开发者需要在开发每一个功能点之前,仔细想清楚需求,先用测试用例描述出功能点的需求与异常情况。2. 测试不通过,此时我们需要跑一遍测试,我们没有写任何功能的代码之前,新增的测试用例肯定会失败 ,因为我们没有实现功能细节。3. 添加代码,针对我们写下的测试用例,完善代码。注意,在此阶段,你的所有目标就是让代码通过步骤(1)加入的测试用例。你不应该添加跟步骤(1)所加入的测试中无关的代码。4. 重复动作当所有的测试用例都能运行通过时,你若要应该再增加、改变功能,必须从步骤(1)开始重新进行。5. 代码优化
Android 应用进程启动流程
在 Android 中每一个应用程序都被设计为单独的进程,应用程序也可以根据自己的需要去决定是否需要启用多个进程,不过总而言之都与其他应用程序和系统服务是相互独立的。从解耦和系统稳定性的角度上看都应该运行在不同的进程上,毕竟不能因为应用程序的崩溃就影响到其他应用进程或者系统服务进程。应用进程不同于其他 Android 系统中的守护进程,当内存不够的时候,某些应用进程可能会被系统回收掉,因而应用进程也是有其生命周期的,更多信息参考 Android Developer 官网对于 Process 的教程 。Android 应用组件不一定要运行在单独的进程上,也可以运行在多个进程上,通过对 Android 组件指定运行的进程 android:process,即可让其运行在其他线程上。
Android 进程保活招式大全
Android 系统将尽量长时间地保持应用进程,但为了新建进程或运行更重要的进程,最终需要清除旧进程来回收内存。 为了确定保留或终止哪些进程,系统会根据进程中正在运行的组件以及这些组件的状态,将每个进程放入“重要性层次结构”中。 必要时,系统会首先消除重要性最低的进程,然后是清除重要性稍低一级的进程,依此类推,以回收系统资源。
Android编译时注解框架系列1-什么是编译时注解
Android编译时注解框架从入门到项目实践。该系列将通过5篇博客一步步教你打造一个属于自己的编译时注解框架,并在之后开源出基于APT的编译时注解框架。提到注解,普遍都会有两种态度:黑科技、低性能。而使用注解往往可以实现用非常少的代码作出匪夷所思的事情,比如这些框架:ButterKnife、Retrofit。但一直被人诟病的是,运行时注解会因为java反射而引起较为严重的性能问题…
Android Studio 掌握这些调试技巧,Debug能力不能再高啦
Debug断点跟踪调试是软件开发过程中分析代码、解决BUG的一个重要手段,不同IDE下的Debug工具的使用有所不同,但提供的调试功能一定是应有尽有。很多程序员的Debug能力都停留在基本的单步执行、断点跳跃上,殊不知还有很多鲜为人知但非常方便的调试技巧。本文就以Android Studio工具为例,展示一些一般人不知道的Debug调试技巧,掌握这些,你也算是Debug调试大师了。
ContentProvider简介
Content Provider属于Android四大组件之一,相比较而言,它更侧重于共享数据。Android的数据存储方式有以下几种:Shared Preferences、网络存储、文件存储、数据库。但是一般情况下这些数据都是在单独一个应用中使用,数据和文件在不同应用程序之间的共享也比较复杂,而Content Provider则正好比较擅长这个,如果需要共享给其他应用,那么我们就可以通过Content Provider来实现了。
Android权限机制,你真的了解吗?
Android是目前最流行的智能手机软件平台之一,在智能移动终端如火如荼发展的同时,其安全态势也日益严峻。有调查表明,恶意软件的数量在持续的上升,Google在Android安全机制上面也做了很多工作,并且一直在持续的更新,其Android的安全模型由3个部分组成:Linux安全机制、Android本地库及运行环境安全与Android特有的安全机制
技术的正宗与野路子
“九阴神抓”本是《九阴真经》中的上乘武功,但当初梅超风夫妇由于拿到的《九阴真经》不完整,学不到里面的内功心法,硬是把这门上乘武功练到了邪路上,于是就成了“九阴白骨爪”。周芷若为求速成,也练就了这门邪功。但黄衫女子乃出身武林名门(相传是杨过和小龙女的后人),自然修炼的是正宗的《九阴真经》。虽然武功路数与周芷若本同属一脉,但更加“醇真深厚”,自然也更胜一筹。这是金庸武侠中“正宗”武功胜过“野路子”的一个典型案例。那么,这是否能够说明,“正宗”一定强于“野路子”呢?
Chateau
一个可以让你在任何 Android App 里添加聊天功能的 framework
Jgraph
图表控件
AssemblyAdapter ( By Flyge )
一个Adapter扩展库,有了它你就不用再写Adapter了。其支持组合式使用多Item、支持添加header和footer并且还自带加载更多功能
Cuboid-Circle-Button
圆形按钮,并且支持 Ripple Effect 效果
ScrollableLayout
Add a headview for any view and supports sticking the navigator on the top when ItemView scrolls.
GuideView ( By binIoter )
最最轻量级的新手引导库,能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导提示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展
StickerView
A view which can add sticker and zoom,drag,delete it
android-passcodeview
A custom view with keyboard and character display to be used for authentication
HeiPermission ( By forJrking )
Android M 动态权限解决方案
AnySoftKeyboard
一个支持多语言的开源键盘应用
android-adDialog
一个简单,强大的广告活动弹窗控件
OpenSLMediaPlayer
Re-implementation of Android's MediaPlayer and audio effect classes based on OpenSL ES APIs.
CameraFilter
实时相机滤镜
java-string-similarity
实现各种字符串相似性和距离的算法:Levenshtein,Jaro-winkler,语法,Q-Gram,Jaccard指数,最长公共子序列,余弦相似性
Endoscope
Endoscope lets you to stream live video between android devices over Wi-Fi!
redux-java
The java version of Redux : a predictable state container for java apps.
Gadget
The ultimate code-checking machine
lewis
Android Lint 扩展,
apk-decompiler
Android APK Decompiler
干货!如何体现配色的高级感?
想要体现出高端的感觉,针对不同的行业、不同的对象所采用的表现方法是不同的。想要向男性与女性展现出高价格?或者是高级品却没能体现出高品质?针对各种各样的情况必须有不同的应对,这里是从各个行业种类找的参考。
服务号与瑞士军刀
图说美剧硅谷-看创业历程 ( By Alex Q )
欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 4.0
如果你觉得Android开发技术周报对您有所帮助,请考虑对本周报捐赠支持。支持我把Android开发技术周报做的更好,帮助更多的人,金额随意,您的捐赠将用于支付服务器和邮件推送服务的费用。去捐赠