Skip to content
Jang Rush edited this page Aug 1, 2019 · 21 revisions

LeanCloud Java SDK 包含 LeanCloud 平台全部功能的客户端接口,适用于 Java 和 Android 两个平台。

SDK 中所有 API 接口与 LeanCloud 云端交互严格遵循 LeanCloud REST API 规范,并且全部采用了 RxJava 风格来设计。

前提与背景知识

了解如下背景知识,会帮助你更好地理解本 SDK:

为什么我们要新推一个 SDK

老版本 SDK相比,该版本 SDK 主要的改进点有:

一份代码,支持多个平台

老版本 SDK 因为历史原因,Android 平台和纯 Java 平台(在云引擎中使用)是两套完全分开的代码,接口不统一,维护也比较困难。新的 SDK 则对此进行了修改,使用一套代码来适配多个平台。 例如:

  • 对于 Java 开发者来说,只需要依赖
    <dependency>
      <groupId>cn.leancloud</groupId>
      <artifactId>storage-core</artifactId>
      <version>{currentVersion}</version>
    </dependency>
  • 对于 Android 开发者来说,只需要依赖
    implementation ("cn.leancloud:storage-android:{currentVersion}") {
        exclude group: 'com.alibaba', module: 'fastjson'
        exclude group: 'org.ligboy.retrofit2', module: 'converter-fastjson'
    }
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
    implementation 'com.alibaba:fastjson:1.1.70.android'
    implementation "org.ligboy.retrofit2:converter-fastjson-android:2.1.0"

{currentVersion} 指当前最新版本,可以从maven central repository查询获得。 storage-android 会自动依赖至 storage-core

Reactive API

老版本 SDK 所有的网络请求都是通过 Callback 方式实现的,在有多次前后依赖的请求时会导致代码嵌套层级过多,影响阅读,同时在 Java 开发环境下这种异步的方式也不友好。故而新版本 SDK 完全基于 RxJava 来构建,满足函数式编程要求,可以非常方便地支持这种扩展。

例如:

AVObject post = new AVObject("Post");
post.put("content", "LeanCloud 服务不错");
post.saveInBackground().map(new Function<AVObject, AVObject>() {
	  public AVObject apply(AVObject object) throws Exception {
	  	// return something.
	  	return null;
	  };
	}).subscribe(new Action1<>() {
	});
}

该如何使用新 SDK

请看下一章:Get Started