自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 RxJava(六)变换操作符

变换操作符map 对原始Observable的数据进行一个函数操作。flatMap 对原始Observable的数据进行一个函数操作,然后将每一项数据合并,作为自己的数据序列发射,合并的数据顺序可能交错。map 对原始Observable的数据进行一个函数操作。flatMap 对原始Observable的数据进行一个函数操作,然后将每一项数据合并,作为自己的数据序列发射,合并的数据...

2018-11-26 23:17:18 536

原创 RxBinding2(三)Support-V4库和RecyclerView

RxBinding3 之 RecyclerView,DrawerLayout依赖库:implementation 'com.jakewharton.rxbinding3:rxbinding-recyclerview:3.0.0-alpha1'implementation 'com.jakewharton.rxbinding3:rxbinding-drawerlayout:3.0.0-alph...

2018-11-21 22:38:24 1091

原创 RxBinding2(二)MaterialDesign系列

RxBinding3之MaterialDesign系列依赖库implementation 'com.jakewharton.rxbinding3:rxbinding-material:3.0.0-alpha1'支持组件:private void materialDesign(){ RxAppBarLayout.offsetChanges(mAppBarLayout); ...

2018-11-21 21:37:42 1001

原创 RxBinding2源码解析

RxBinding源码解析此处解析一个Click点击事件,其他组件大同小异。RxBinding/rxbinding/src/main/java/com/jakewharton/rxbinding3/view/ViewClickObservable.kt源码1:@file:JvmName("RxView") @file:JvmMultifileClass ...

2018-11-21 20:54:53 443

原创 RxBinding2(一)基础库组件

RxBinding绑定View事件通过RxBinding我们可以将View的事件转化为事件流,然后就可以采用RxJava发射事件流,操作符进行操作。JakeWharton大神开源-项目地址依赖库support支持: implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0 ' implementation 'com.jak...

2018-11-21 20:15:12 2210

原创 ButterKnife注解绑定View/资源/事件

ButterKnife注解ButterKnife提供注解绑定View,资源,事件。不用在写 findViewById(R.id.xxx) ,大大简化了代码。ButterKnife:注解组件,资源,我丢失绑定事件。Retrofit:注解网络请求RxBinding:绑定View事件。RxJava:发射事件,发射流RxPermission:请求权限RxLifecycle:管理生命周期1....

2018-11-18 21:34:56 914

原创 Retrofit2 网络请求框架

Retrofit2一,简介:Retrofit可以将服务端的数据接口 API 转换为在客户端的Java对象,即可进行方法调用,得到希望请求的数据。它采用注解的方式动态生成请求API。1.首先,创建远程请求接口:public interface UsersService{ @GET("users/{id}") Call<ResponseBody&a

2018-11-18 19:38:24 961

原创 RxPermission权限请求

RxPermission权限请求依赖库implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'危险权限 需要用户授权联系人系列 group:android.permission-group.CONTACTS permission:android.permission.WRITE_CONTACTS pe...

2018-11-16 23:34:58 3412

原创 RxLifecycle防内存泄露

RxLifecycle防内存泄露

2018-11-16 22:41:30 416

原创 Andoid 线程池

线程池一,优点:重用线程池中的线程,避免因为线程的创建和销毁带来的开销。能够有效控制线程池的最大并发数,避免线程之间因抢占系统资源而造成阻塞。能够对线程进行简单的管理,比如提供定时执行和间隔执行的功能。二,线程池概念源于Executor,实际的实现是Th’readPoolExecutor,它提供一些配置参数对线程池进行配置。new ThreadPoolExecutor(int co...

2018-11-15 22:17:38 218

原创 RxJava2(五)线程调度器Scheduler

线程调度器SchedulerRxJava是一个为异步编程而实现的库,但异步也存在线程安全问题,比如,那些操作需要在前台线程,那些操作又需要在后台线程等等。而Scheduler就是这样一个线程调度器,可以在线程间来回切换。理想的操作是Observable发射数据流,操作符在后台线程处理数据,Obverser在前台线程接受并响应数据。Scheduler可调度的线程有:· single:定长为1的...

2018-11-11 20:54:54 639

原创 RxJava2(四)创建操作符

创建被观察者的操作符创建操作符:create 从头开始创建一个ObserVable。just 创建一个发射指定值的Observable。from 可以将其他种类对象和数据如:Array,Iterable,Future转换为Observable。repeat 创建一个重复发射原始数据序列的Observable。repeatWhen 当满足某种条件时才重新订阅和发送原始数据。...

2018-11-11 16:18:38 535

原创 Future

FutureJava现在的多线程机制,核心方法run是没有返回值的;如果要得到run方法里面的计算结果,调用mThread.join()保证值返回,必须等待run方法计算完,无论计算过程多么耗时,才会进行下一步。而Future的核心思想是:分别启动方法去计算几个耗时的操作,不需要等待1计算结果返回才去计算2,等2计算结果返回才去计算3,显然不明智。·get方法:获取计算结果(如果还没计算完,...

2018-11-11 14:39:23 273

原创 RxJava2(三)Subject和Processor

一, Subject它既是一个Observable可不断调用onNext发射数据,直到遇到onComplete结束,又是一个Observer可订阅数据。它可以将订阅的数据作为自己的数据发射出去。包含4种类型:AsyncSubject,BehaviorSubject,ReplaySubject,PublishSubject。AsyncSubject观察者/订阅者只会接受到onComplete...

2018-11-11 12:24:19 2124

原创 RxJava2(二)五种被观察者

Observable一简介1.Observable即被观察者,决定什么时候触发事件以及触发怎样的事件。2.Oberver即观察者,他可以在不同的线程中执行任务,极大的简化了并发操作,因为他创建了一个处于待命状态的观察者,可以在某一时刻相应Observable的通知,而不会造成阻塞。3.subscribe() 订阅用户,只有调用此方法才会开始发射数据。其有4个构造方法: subscribe...

2018-11-11 11:06:45 1073

原创 RxJava2(一)完整生命周期

RxJava2 学习笔记之简介###简介:1.RxJava用于通过使用被观察者Obverserable/Flowable序列来构建异步和基于事件的库。2.RxJava支持Java5之后版本,还支持跑在JVM上的各种语言。3.RxJava可以用在Android开发的任何地方,包括App所依赖的底层框架。4.导入依赖:implementation "io.reactivex.rxjava2...

2018-11-09 21:52:17 489

原创 Android IPC进程间通信(七) Binder连接池

Binder管家之Binder连接池IPC进程间通信(四)之AIDL中的AIDL由一个Service进行管理,若是创建10个AIDL业务模块是不是也要创建10个Service来进行管理,那100个呢?显然繁琐,怎么办么,用Binder连接池呀!工作机制:1.每个业务模块创建其AIDL接口并实现此接口生成具有唯一标识的Binder。2.Binder连接池将每个业务模块的Binder统一转发给...

2018-11-08 22:53:42 380

原创 Android IPC进程间通信(六)Socket

网络通信之Socket特点:功能强大,可通过网络传输字节流,支持一对多并发即时通信。不支持RPC。服务端实现:public class SorviceSocket extends Service { private static final String TAG = "SorviceSocket"; private static final int PORT = 5000...

2018-11-07 22:05:15 501

原创 Androi IPC进程间通信(五)ContentProvider

进程间通信之ContentProvider一,介绍1.底层实现也是Binder2.其6个方法除了onCreate方法运行于主线程,其他4个方法由外界回调并运行于Binder线程池。3.注册ContentProvider需要一个属性android:authorities=“XXXXX” 唯一标识ContentProvider,外部应用即可通过它进行访问<?xml version="1...

2018-11-04 22:12:52 250

原创 Android IPC进程间通信(四)AIDL

AIDL-Android接口定义语言一·1.相比于Messenger AIDL可跨进程调用方法。2.支持数据类型:(1) Java 的原生基本类型(int, long, char, boolean, double等)(2)String 和CharSequence(3) ArrayList 和 HashMap ,里面的元素必须是AIDL支持的数据类型; 以上三种类型都不需要导入(imp...

2018-11-04 21:22:39 260

原创 Android IPC进程间通信(三)Binder

进程间通信的介质BinderBinder实现了IBinder接口,是android中跨进程通信的一种方式。是服务端和客户端通信的媒介。Binder的创建:1.创建自定义类Book.java实现Parcelable接口,以实现序列化可反序列化。public class Book implements Parcelable { private int bookId; priv...

2018-11-02 22:06:51 235

Okhttp功能封装

封装的get同步请求,get异步请求,post异步提单,从url下载文件。

2018-10-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除