Skip to content
jwfing edited this page May 16, 2018 · 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>1.x.y</version>
    </dependency>
  • 对于 Android 开发者来说,只需要依赖
compile "cn.leancloud:android-storage:1.x.y"

android-storage 会自动依赖至 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

模块依赖关系

Java SDK 一共包含如下几个模块:

目录 模块名 适用平台 依赖关系
./core storage-core,存储核心 library java 无,它是 LeanCloud 最核心的 library
./realtime realtime-sdk,LiveQuery 与实时通讯核心 library java storage-core
./leanengine-sdk leanengine-sdk,云引擎 library java storage-core
./android-sdk/storage-sdk storage-android,Android 存储 library Android storage-core
./android-sdk/push-sdk realtime-android,Android 推送、LiveQuery、实时通讯 library Android storage-android, realtime-core

如何使用

请看下一章:Get Started