Fork me on GitHub
darryrzhong

时光,不会辜负每一个平静努力的人


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

  • 留言板

  • 摄影

  • 音乐

  • 福利

  • 书单

Android RxJava系列三: 与Retrofit2结合使用和封装处理

发表于 2019-07-13 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

本篇文章主要介绍Rxjava与Retrofit结合使用,对Rxjava和Retrofit不熟悉的可以去看我之前的两篇介绍

  • Android RxJava:基础介绍与使用
  • Android RxJava系列二: 常用拓展操作符
  • Android Retrofit 2.5.0使用基础详解

基本使用

定义请求接口

1
2
3
4
5
6
public interface GetRequest_Interface {

@POST("/app/auth/school/list")
Observable<School> postSchool(@Body RequestBody route);//根据学校名获取学校

}

创建 Retrofit接口实例

1
2
3
4
5
6

GetRequest_Interface request = new Retrofit.Builder()
.baseUrl(API.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build().create(GetRequest_Interface.class);

构建请求参数

这里以请求体为Json 字符串为准

1
2
3
4
5
6
HashMap<String, Object> map = new HashMap<>();
map.put(key, value);
Gson gson=new Gson();
String strEntity = gson.toJson(map);
KLog.d("22222222RequestBody"+strEntity);
RequestBody body = RequestBody.create(okhttp3.MediaType.parse("application/json;charset=UTF-8"),strEntity);
阅读全文 »

Android RxJava系列二: 常用拓展操作符

发表于 2019-07-13 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

本篇文章主要介绍Rxjava 2.x的一些常用的操作符,对Rxjava不熟悉的朋友可以先去看下我之前的两篇介绍

  • Android RxJava:基础介绍与使用
  • Android RxJava系列一: 基础常用详解

创建操作符

  • create() 创建一个被观察者
    1
    public static <T> Observable<T> create(ObservableOnSubscribe<T> source)
1
2
3
4
5
6
7
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
e.onNext("This is Observer"); //通过 ObservableEmitter 发射器向观察者发送事件。
e.onComplete();
}
});
阅读全文 »

Android RxJava系列一: 基础常用详解

发表于 2019-07-13 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

本篇主要介绍Rxjava在 Android 项目中的基础使用和常用方法,旨在给对 RxJava 感兴趣的人一些入门的指引.对Rxjava不熟悉的朋友可以去看我之前写的一篇简单介绍 Android RxJava:基础介绍与使用,下面就来我们一起来看看在项目中如何使用 Rxjava 吧!

Rxjava是什么?为什么要用Rxjava?

首先我们要知道Rxjava到底是什么东西?为什么这么多人用它以及它在Android项目中所占的比重.

  • Rxjava到底是什么呢?
    RxJava 在 GitHub 主页上的自我介绍是 : a library for composing asynchronous and event-based programs using observable sequences for the Java VM(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 RxJava ,概括得非常精准。然而对于初学者来说,两个字,不懂.其实说白了,Rxjava就是一个用来实现异步操作的第三方库,而至于其他的拓展功能也只是在实现异步过程中提供了一些辅助功能罢了.所以总结一下就一句话:

Rxjava是一个用来实现异步的、基于事件的第三方库(就把它理解成Android Handler 的升级版就行了)

  • 为什么要用Rxjava?
    这就到我们今天的重头戏了.相信很多初学者都是在以下场景初识Rxjava的

1.201x年你必须知道的几个Android开源库: .......、Rxjava
这是一个基于 Rxjava+Retrofit+mvp+........的demo
Android 工作必回 Rxjava+Retrofit+.......几件套

阅读全文 »

Android RxJava:基础介绍与使用

发表于 2019-03-31 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

  • 官方定义:RxJava是一个反应性扩展的Java VM实现:一个库,用于使用可观察序列组合异步和基于事件的程序
  • 特点: Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。

image.png

功能

  • 基于事件流实现异步操作,等同于 Android中的 AsyncTask 、Handler作用

特点

  • 基于事件流的链式调用
  • 逻辑简洁
  • 实现优雅
  • 使用简单
  • 随着程序逻辑的复杂性提高,依然能够保持代码简洁

原理

  • Rxjava原理 基于 一种扩展的观察者模式

阅读全文 »

Android Fresco图片加载库基础使用详解

发表于 2019-03-31 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍 Fresco开源图片加载库.

简介

Fresco是由Facebook开源的一个图片加载库,Fresco是一个功能强大的系统,用于在Android应用程序中显示图像.

功能介绍以及基础使用

1.配置

  • 在 build.gradle 中配置:

    1
    2
    3
    4
    dependencies {
    // 其他依赖
    compile 'com.facebook.fresco:fresco:0.12.0'
    }
  • 下面的依赖需要根据需求添加:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    dependencies {
    // 在 API < 14 上的机器支持 WebP 时,需要添加
    compile 'com.facebook.fresco:animated-base-support:0.12.0'

    // 支持 GIF 动图,需要添加
    compile 'com.facebook.fresco:animated-gif:0.12.0'

    // 支持 WebP (静态图+动图),需要添加
    compile 'com.facebook.fresco:animated-webp:0.12.0'
    compile 'com.facebook.fresco:webpsupport:0.12.0'

    // 仅支持 WebP 静态图,需要添加
    compile 'com.facebook.fresco:webpsupport:0.12.0'
    }
阅读全文 »

Android Glide图片加载库基础使用详解

发表于 2019-03-31 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍 Glide开源图片加载库.

简介

Glide是由Google开源的一个图片加载库,是一款快速高效的Android开源媒体管理和图像加载框架,它将媒体解码,内存和磁盘缓存以及资源池包装成简单易用的界面.

功能介绍以及基础使用

1.配置

  • 在Project的gradle添加依赖

    1
    2
    3
    4
    repositories {
    mavenCentral()
    google()
    }
  • 在Module的gradle添加依赖

    1
    2
    3
    4
    dependencies {
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
    }
阅读全文 »

Android Picasso 图片加载库基础使用详解

发表于 2019-03-31 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍 Picasso 开源图片加载库.

简介

Picasso中文翻译为’毕加索’,由Square公司开源的一个适用于Android的强大图像下载和缓存库.

功能介绍以及基础使用

1.配置

  • 在gradle添加依赖
1
implementation 'com.squareup.picasso:picasso:2.71828'
  • 添加网络权限
    1
    <uses-permission android:name="android.permission.INTERNET"/>
阅读全文 »

Android常用图片加载库介绍及对比

发表于 2019-03-31 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍几种开发中主流的图片加载框架&以及他们之间的对比优缺点。

Android主流图片加载库

  • Picasso
  • Glide
  • Fresco

介绍& 对比

1.Picasso

Picasso中文翻译为’毕加索’,由Square公司开源的一个适用于Android的强大图像下载和缓存库.

阅读全文 »

Android 进阶学习思维大纲

发表于 2019-03-29 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

随着近几年移动开发越来越成熟,市场对于Android开发人员的要求也越来越高,而对于大多数人来说,也是越来越多的新技术和跨平台框架需要学习,为此大多是人都很迷茫,不知道要学什么,在这里给大家分享一个Android学习进阶的思维大纲,以至于大家对于Android学习树立点方向,少走一点弯路,提高学习效率,节省时间成本.

image.png

大纲地址

  • 觉得Android学习没有方向的可以对照着去学习哟

欢迎关注作者darryrzhong,更多干货等你来拿哟.

阅读全文 »

Android Retrofit 2.5.0使用基础详解

发表于 2019-03-28 | 分类于 Android | | 阅读次数:
字数统计: | 阅读时长 ≈

前言

  • 在Andrroid开发中,网络请求必不可少
  • 而在Android所有网络请求库中,Retrofit是最受开发者欢迎的一个网络请求库

retrofit:2.5.0 官方文档

retrofit:2.5.0 - github

简介

  • Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,底层基于OkHttp.

功能

  • 支持同步/异步网络请求
  • 支持多种数据的解析&序列化格式(Gson、json、XML等等)
  • 通过注解配置网络请求参数
  • 提供对Rxjava的支持
  • 高度解耦,使用方便

对比其他网络请求框架

  • 性能最好,速度最快
  • 高度封装导致扩展性差
  • 简洁易用,代码简化
  • 解耦彻底,职责细分
  • 易与其他框架联用(Rxjava)
阅读全文 »
12345
darryrzhong

darryrzhong

人必有痴,而后有成

49 日志
8 分类
41 标签
RSS
GitHub Weibo Jianshu Juejin
© 2020 darryrzhong
访问人数 人 总访问量 次