Bmob是一款国内的后端云服务,其提供了丰富的 SDK、 RESTful API 接口以及一系列的云函数托管服务,尤其适合中小型企业或个人开发者快速构建移动应用后端服务。下面,本文将从原理和详细介绍两个方面来介绍 Bmob 的安卓开发文档。
一、Bmob 的原理
Bmob 的原理就是通过云服务将用户的数据存储于云端,并提供相应的 API 接口让客户端进行调用,达到快速构建后台服务的目的。Bmob 提供了丰富的云服务,其中最常用的是数据存储服务。
1. 数据存储服务
Bmob 数据存储服务的数据结构全部由后台自动生成,Android 客户端可以直接使用提供的 SDK 与 Bmob 后台进行数据的增、删、改、查。Bmob 后台表现的就像是一个数据库,我们可以创建多个表存储不同的数据。
2. 用户服务
Bmob 用户服务将用户的登录、注册、重置密码等功能都封装好了,可以方便的集成到应用中,并且支持第三方平台的登录,比如微信、QQ、微博等,方便开发者集成。
3. 文件存储服务
Bmob 文件存储服务可以为开发者存储 app 相关的所有文件,包括用户头像、用户上传的文件等。
4. 云函数
Bmob 云函数可以让开发者编写一段 JavaScript 代码上传到后端,后端执行代码并返回结果给客户端。比如可以在前端写一段监听事件,比如计算一个数据值,再将这段计算代码上传到 Bmob 后端执行,避免了频繁请求,增加了前端性能。
二、Bmob 的详细介绍
接下来,为了让大家更好的理解 Bmob 的使用方法,我们将从如何在 Android 项目中初始化 Bmob SDK、如何使用数据存储、用户服务、上传文件、调用云函数等四方面进行详细介绍。
1. 初始化 Bmob SDK
在项目中引入 Bmob SDK 之前,需要准备一下数据:
- Bmob 应用 ID: 在 Bmob 后台创建应用后返回的应用 ID,在此处填入即可进行初始化。
- 云函数调用服务 URL: 在 Bmob 后台云函数部署完成后,提供的 URL,在此处填入即可进行云函数的调用。
Bmob SDK 的初始化有两种方式,一种是全局初始化,另外一种是单独初始化。首先我们来看全局初始化的方式,在 Application 中添加以下代码:
```
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); Bmob.initialize(this, "Your Bmob App ID"); } }
```
单独初始化,Bmob SDK 的单独初始化在每个类中初始化,比如初始化用户服务时,则需要在每个需要用到用户服务的 Activity 中都进行一次单独初始化。具体如下:
```
BmobUser bmobUser = new BmobUser();
bmobUser.setUsername("username");
bmobUser.setPassword("password");
bmobUser.login(new SaveListener
```
2. 数据存储
Bmob 提供了丰富的 API 接口,其中包括存储数据、根据条件查询数据、数据修改和数据删除等。以下是数据库新增和查询操作的例子:
```
// 新增数据 Person person = new Person();
person.setName("Bmob");
person.setAge(3);
person.setSex("男");
person.save(new SaveListener
// 根据条件查询数据 BmobQuery
bmobQuery.addWhereEqualTo("name","Bmob");
bmobQuery.findObjects(new FindListener
```
3. 用户服务
Bmob 用户服务包括用户登录、用户注册、用户退出登录、用户重置密码、第三方登录等。以下是登录注册和退出登录的例子:
```
// 用户登录操作 BmobUser bmobUser = new BmobUser();
bmobUser.setUsername("username");
bmobUser.setPassword("password");
bmobUser.login(new SaveListener
// 用户注册操作 BmobUser bmobUser = new BmobUser();
bmobUser.setUsername("username");
bmobUser.setPassword("password");
bmobUser.signUp(new SaveListener
// 用户退出登录操作 BmobUser.logOut();
```
4. 文件存储
Bmob 文件存储服务可以处理从设备上传文件到云端,从云端下载文件到设备,文件的删除和信息的获取四个操作。以下是上传和下载文件的例子:
// 上传文件操作 BmobFile bmobFile = new BmobFile(newFile("test.png"));
bmobFile.uploadblock(new UploadFileListener() { @Override public void done(BmobException e) { if (e == null) { // 上传成功 返回 URL } else { // 上传失败 } } });
// 下载文件操作 BmobFile bmobFile = new BmobFile("test.png", "", "File URL"); bmobFile.download(new DownloadFileListener() { @Override public void onStart() { } @Override public void done(String savePath, BmobException e) { if (e == null) { // 下载成功 } else { // 下载失败 } } });
5. 云函数
Bmob 的云函数基于 JavaScript 编写,可以用来实现客户端不能或难以实现或者带来性能问题的操作。以下是一个云函数的例子:
```
Bmob.functions("calculateScore").execute(new FunctionCallback
```
到此,我们已经对 Bmob 的安卓开发文档有了详细了解。总之,Bmob 的使用非常简单,让开发人员可以在后端与前端的开发过程中大大降低服务开发难度,开发者可以把更多的关注放到实现业务功能上,而无需过多关注服务端的技术实现。