-
Notifications
You must be signed in to change notification settings - Fork 27
0 Get Started
jwfing edited this page May 16, 2018
·
22 revisions
LeanCloud Java SDK 主要包含以下几个 library,其层次结构以及平台对应关系如下:
- storage-core:包含所有数据存储的功能,如
- 结构化数据(AVObject)
- 内建账户系统(AVUser)
- 查询(AVQuery)
- 文件存储(AVFile)
- 社交关系(AVFriendship,当前版本暂不提供)
- 朋友圈(AVStatus,当前版本暂不提供)
- 短信(AVSMS)
- 等等
- realtime-sdk:部分依赖 storage-core library,实现了 LiveQuery 以及实时通信功能,如:
- LiveQuery
- AVIMClient
- AVIMConversation 以及多种场景对话
- AVIMMessage 以及多种子类化的多媒体消息
- 等等
- storage-android:是 storage-core 在 Android 平台的定制化实现,接口与 storage-core 完全相同。
- push-android:是 realtime-sdk 在 Android 平台的定制化实现,并且增加 Android 推送相关接口。
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 |
获取 SDK 有多种方式,较为推荐的方式是通过包依赖管理工具下载最新版本。
Example for Maven:
<dependency>
<groupId>cn.leancoud</groupId>
<artifactId>storage-core</artifactId>
<version>5.0.0</version>
</dependency>
and for Ivy:
<dependency org="cn.leancloud" name="storage-core" rev="5.0.0" />
and for SBT:
libraryDependencies += "cn.leancloud" %% "storage-core" % "5.0.0"
and for Gradle:
compile 'cn.leancloud:storage-android:5.0.0'
To check out and build the LeanCloud Java SDK source, issue the following commands:
$ git clone [email protected]:leancloud/java-sdk-all.git
$ cd java-sdk-all/
$ mvn clean install
To build Android SDK source, issue the following commands:
$ cd java-sdk-all/
$ cd android-sdk/
$ ./gradlew clean build
假设已经设置好了 SDK 依赖关系,可以开始功能接入了,我们首先看一下如何进行 SDK 的初始化。
首先进入 控制台 > 设置 > 应用 Key 来获取 App ID 以及 App Key。
在程序执行之初,执行如下代码即可完成初始化:
AVOSCloud.initialize("{your_appId}}","{your_appKey}");
将上述代码中的 App ID 以及 App Key 替换成从控制台复制粘贴的对应的数据即可。
在 Application 类的 onCreate 函数中,加入如下代码:
public class MyLeanCloudApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化参数依次为 this, AppId, AppKey
AVOSCloud.initialize(this,"{your_appId}}","{your_appKey}");
}
}
然后打开 AndroidManifest.xml 文件来配置 SDK 所需要的手机的访问权限以及声明刚才我们创建的 MyLeanCloudApp 类:
<!-- 基础模块(必须加入以下声明)START -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 基础模块 END -->
<application
...
android:name=".MyLeanCloudApp" >
<!-- 实时通信模块、推送(均需要加入以下声明) START -->
<!-- 实时通信模块、推送都要使用 PushService -->
<service android:name="com.avos.avoscloud.PushService"/>
<receiver android:name="com.avos.avoscloud.AVBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_PRESENT"/>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<!-- 实时通信模块、推送 END -->
<!-- 反馈组件(需要加入以下声明)START -->
<activity
android:name="com.avos.avoscloud.feedback.ThreadActivity" >
</activity>
<!-- 反馈组件 END -->
</application>在应用开发阶段,你可以选择开启 SDK 的调试日志(debug log)来方便追踪问题。调试日志开启后,SDK 会把网络请求、错误消息等信息输出到 IDE 的日志窗口,或是浏览器 Console 或是 LeanCloud 控制台的 云引擎日志 中。
// 在 AVOSCloud.initialize 之前调用
AVOSCloud.setLogLevel(AVLogger.Level.DEBUG);// or AVOSCloud.setLogLevel(AVLogger.Level.VERBOSE);
SDK 的初始化方法默认使用中国华北节点,如需切换到 其他可用节点,请参考如下用法:
// 在 AVOSCloud.initialize 之前调用
// 可选的节点有:
// REGION.NorthChina - 华北节点,默认节点
// REGION.EastChina - 华东节点
// REGION.NorthAmerica - 北美节点
AVOSCloud.setRegion(AVOSCloud.REGION.NorthChina);