
android进阶
文章平均质量分 88
philos3
Android工程师,一个终身学习者,七年就是一辈子,走在践行的路上
展开
-
CoordinatorLayout与Behavior 的使用总结
写在前面Behavior是CoordinatorLayout的一个内部类1public static abstract class Behavior它只定义了一些抽象方法,其中最主要的当属下面两个(与本文相关):12345原创 2016-06-19 22:59:52 · 3409 阅读 · 0 评论 -
Android拾萃 - RxJava2操作符汇总
几种主要的需求: - 直接创建一个Observable(创建操作) - 组合多个Observable(组合操作) - 对Observable发射的数据执行变换操作(变换操作) - 从Observable发射的数据中取特定的值(过滤操作) - 转发Observable的部分值(条件/布尔/过滤操作) - 对Observable发射的数据序列求值(算术/聚合操作)创建操作符原创 2017-10-23 03:28:40 · 940 阅读 · 0 评论 -
Android拾萃 - RxJava操作符列表和响应类型(二)
经过上一篇文章 Android拾萃 - RxJava最简单的入门(一) 的学习,我们对整个流程有了一定的把握。今天我们就来看看操作符。RxJava中提供了大量不同种类,不同场景的Operators(操作符),RxJava的强大性就来自于它所定义的操作符。 操作符让你可以变换、组合、操纵和处理Observable发射的数据。 Rx的操作符让你可以用声明式的风格组合异步操作序列,它拥有回原创 2017-10-21 22:11:33 · 695 阅读 · 0 评论 -
Android拾萃 - 从零打造一个RxJava(搞清楚RxJava代码为什么这么写)
任何框架都是从无到有,都是为了解决问题而产生,那么RxJava是如何产生的呢?RxJava代码的写法,为何如此让人看不懂,回调的参数等等,让小白看了摸不着头脑。接下来的文章,主要是依据NotRxJava懒人专用指南,结合自己的理解,写的一篇更加小白的文章,以帮助我们更好的梳理和理解。Cat 应用程序让我们来创建一个真实世界的例子。我们都知道猫是我们技术发展的引擎,所以就让我们也来创建这么一个用来下载原创 2017-10-21 22:14:10 · 712 阅读 · 0 评论 -
Android拾萃 - RxJava实战(后台执行耗时操作,实时通知 UI 更新)
开源项目 RxJava-Android-Samples,这里一共介绍了十八种RxJava2的使用场景,这一系列文章主要参考该项目进行。我们经常会在后台线程中去做一些耗时的操作,比如去网络取数据,处理的方法有 HandlerThread、Thread、Service、IntentService、AysncTask、AsyncQueryHandler。对于它们的优异,这里就不展开说了,战友们自行Go原创 2017-10-21 22:12:50 · 3626 阅读 · 0 评论 -
Android拾萃 - RxJava5种响应类型的区别和背压(三)
Android拾萃 - RxJava最简单的入门(一) Android拾萃 - RxJava操作符列表和响应类型(二)本文首先会给出ReactiveX的核心操作符列表和对应的文档链接,后面会具体的介绍和实践所有的操作符。如果想实现自己的操作符,可以参考:实现自定义操作符 创建操作 用于创建Observable的操作符 Create — 通过调用观察者的方法从头创建一个Observable原创 2017-10-21 22:12:13 · 630 阅读 · 0 评论 -
Android architecture component架构集成
前言本文档是以demo为例介绍,所以部分内容和解释会在demo里以注释的形式给出。数据库的构建环境配置在app模块的build.gradle添加以下内容: compile 'android.arch.lifecycle:extensions:1.0.0-alpha5' compile 'android.arch.lifecycle:runtime:1.0.0-alpha5' co原创 2017-10-21 22:09:46 · 375 阅读 · 0 评论 -
Android architecture component架构
简介引言谷歌在今年的I/O大会上发布了新的架构库Android architecture component,为了解决开发者遇到的一些常见问题,推荐遵从以下两个原则构建应用: 1. 关注点分离 尽量避免在Activity或Fragment中编写所有的代码,任何不是处理 UI 或操作系统交互的代码都不应该在这些类中。保持它们尽可能的精简可以避免许多与生命周期有关的问题。 2. model驱动UI原创 2017-10-21 22:09:14 · 1251 阅读 · 0 评论 -
Jenkins + Gradle + SonarQube 项目持续集成并分析环境搭建
SonarQube简介SonarQube是一个开源的代码质量管理平台,可以通过插件机制集成不同的测试工具、代码分析工具以及继续集成工具。比如pmdcpd、checkstyle、findbugs、jenkins等。具体的代码分析工具介绍,见http://tianya23.blog.51cto.com/1081650/415146. 但是SonarQube并不是简单的将各种质量检测工具的结果直接展示给原创 2017-10-21 22:08:28 · 3016 阅读 · 0 评论 -
Android拾萃 - RxJava(一)
环境搭建在主项目APP gradle的dependencies {}里添加以下依赖,最新的引用请参考官网RxAndroidcompile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.1.3'趣解rxjavaRxJava也是基于观察者模式来组建自己的程序逻辑的,就是构建被观察者(Observ原创 2017-09-05 02:54:18 · 685 阅读 · 0 评论 -
编译时间太长?跟我学对症下药!
随着项目的不断迭代,项目越来越大,编译时间也是越来越多,特别是多module的项目更是严重,每次编译项目的时候都是痛苦的等待,那么我们怎么去发现项目里面编译时间花费的地方呢?查看Task编译时间通过命令窗口,输入gradlew build –profile 命令,如图 android studio就会进行编译,经过漫长的等待。并在项目的根目录–build–report底下生成一个文件(4),如图原创 2017-08-06 12:18:39 · 4889 阅读 · 0 评论 -
拦截tablayout 点击事件,不触发viewpaper滚动 例如登陆检测等场景
场景描述 app架构是底下有四个tab,点击tab切换fragment,但是产品要求,点击tab之前需要检测是否登陆,如果未登录,直接跳转登陆提示,页面不进行切换首先是架构,我们使用TabLayout + Viewpaper + Fragment 来实现,登录提示,只要拿到TabLayout的Tab 监听它的OnClickListener,可是。。。。转折来的太突然。。。public sta原创 2017-07-02 23:53:39 · 1165 阅读 · 0 评论 -
还在为android图标适配烦恼?字体图标你值得拥有
既然说的是字体图标,那么肯定和android字体有关系。所以,我们先回顾一下基础知识Android 字体设置-Typeface,老司机请略过该部分一、Android 字体设置-Typeface控件的字体设置的两种方式常用的字体类型名称还有:Typeface.DEFAULT //常规字体类型Typeface.DEFAULT_BOLD //黑体字体类型Typeface.MONOSPACE //等宽字体类原创 2017-06-19 00:36:38 · 453 阅读 · 0 评论 -
史上最巧妙自定义tablayout指示器
国际惯例,无图无真相首先我们先过几个概念,老手这个请自行跳过。 Android的View显示在界面上需要三步:测量,定位和绘制。第一步:测量,View的measure方法这个方法用来测量View显示的宽高值。这个宽高值是基于View**自身宽高,再加上父View的约束**得到的。这个约束使用MeasureSpec类传递。@Override protected void onMe原创 2017-06-07 07:38:47 · 7389 阅读 · 1 评论 -
自定义圆环百分占比view (label文字支持自动换行 和设置显示行数)
自定义圆环百分占比view (label文字支持自动换行 和设置显示行数)原创 2017-05-28 15:34:55 · 1638 阅读 · 0 评论 -
Canvas的drawText绘制文本自动换行(支持设置显示最大行数)
Canvas的drawText绘制文本自动换行(支持设置显示最大行数)使用Canvas的drawText绘制文本是不会自动换行的,即使一个很长很长的字符串,drawText也只显示一行,超出部分被隐藏在屏幕之外。可以逐个计算每个字符的宽度,通过一定的算法将字符串分割成多个部分,然后分别调用drawText一部分一部分的显示, 但是这种显示效率会很低。StaticLayout是android中处理文字原创 2017-05-24 00:53:01 · 5082 阅读 · 0 评论 -
Android拾萃 - RxJava2之创建操作符及其demo
Android拾萃 - RxJava2操作符汇总 根据下图,再一次回顾一下前面几章的内容,经典的三步法等内容。 Android拾萃 - RxJava操作符和响应类型(二) 的图片。一、创建操作符列表 名称 解析 just() 将一个或多个对象转换成发射这个或这些对象的一个Observable fromArray() 将一个Iterable, 一个Future, 或者一个原创 2017-10-23 03:29:19 · 510 阅读 · 0 评论