从零开始搭载移动后端服务——Bmob移动后端云服务平台

什么是移动后端服务:

移动后端服务也叫BaaS(后端即服务:Backend as a Service),为移动应用开发者提供整合云后端的边界服务。它为应用开发提供后台的云服务,包括提供数据存储托管环境,也包括提供消息推送等通行后端技术能力。BaaS作为应用开发的新模型,进一步实现专业分工,有助于应用的成本下降和市场的进一步繁荣。

这里给出一些BaaS服务提供商:

后台数据存储1. StackMob Product | StackMob
2. Parse Products
3. AVOS Cloud AVOS Cloud
4. Bmob Bmob移动后端云服务平台
应用数据分析1. 友盟 友盟-专业的移动开发者服务平台
2. TalkingData TalkingData-专业的无线互联网数据服务平台
3. 魔方 魔方-移动应用服务平台
4. AVOS Cloud Analytics 功能 - AVOS Cloud
移动终端测试1.Testin Testin云测
2.班墨云测试 全球首款智能云测试系统
3.DroidPilot Android自动化测试工具DroidPilot
4.摩测 e世博,e世博注册首选平台
应用发布1.一键云 关于我们
2.抓猫网 抓猫移动广告聚合优化平台
消息推送1. 极光推送 JPush极光推送
2. 个推 个推开放平台
3. AVOS Cloud Push 功能 - AVOS Cloud
信息识别1.语义云 首页 (自然语义)
2.慧眼开发平台 http://smarkeye.mongtx.com/ (图像)
3.AngelEyes http://www.angeleyes.it/ (图像)
4.Face++ Face++ 最好的免费人脸识别云服务 (人脸)
5.Face-API http://faceapi.cn/ (人脸)
应用内广告1.掌淘联盟 http://appgo.cn/
2.抓猫网 抓猫移动广告聚合优化平台
未分类1.短信宝 短信宝-为中小网站提供专业的短信服务 (短信开放接口)
2.亲加 亲加 | 移动应用沟通解决方案 (实时语音)

Bmob移动后端云服务平台

接下来主要从注册Bmob账号数据存储(手动导入外部数据),Android端加载Bmob中数据这三个方面介绍Bmob移动后端云服务平台。

1、注册Bmob账号

(1)在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”,在跳转页面填入你的姓名、邮箱、设置密码,确认后到你的邮箱激活Bmob账户,你就可以用Bmob轻松开发应用了。

(2)登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。

2、导入外部数据

Bmob可以存储数据,数据可以通过移动端上传到Bmob平台,也可以通过Bmob网站后台上传外部数据,其中上传外部数据格式仅支持Json数据或者CSV格式数据。

导入外部数据之前需要提前在创建好的应用中创建一个数据表,然后在该数据表中“更多”——“导入数据”,选择要导入的json数据或csv数据,即可导入相关外部数据。

 

常见问题:

(1)浏览器兼容

浏览器必须支持flash,已经安装了flash插件,否则导入数据时“确定”按钮点击不了。(google浏览器如果不行,试试ie浏览器。

(2)Bmob支持导入csv格式和json格式数据

操作:a、xlsx数据或者xls数据在Excel中转成csv格式即可;b、csv格式数据必须为“UTF-8无BOM格式编码”,否则导入的数据或出现乱码情况。可以在notepad++将csv格式数据的编码格式转成“UTF-8无BOM格式编码”,转完后记得点击“保存”如下图:

(3)Bmob中无需提前在数据表中创建要导入数据的相应字段

导入数据时遵循数据表中如果存在同名字段则不重新创建,如果不存在同名字段则创建新列的原则,进行数据导入。

(4)数据导入后,会以邮件的形式提醒是否导入成功,如果导入完发现数据表中还是空的,等收到邮件提醒再刷新数据表,这时你发现数据就已经成功导入了。(邮箱账号则是在创建Bmob账号时存储的账号,邮件提醒会发送到此账号)

导入成功后的数据,如下:

3、Android端加载Bmob中数据

(1)Bmob SDK导入

可以支持自动导入和手动导入两种方式,在这里选择手动导入方式;

下载完使用于Android平台的Bmob SDK后将下图中的jar文件拷贝到创建的Android项目的libs文件下,并将“BmobSDK_3.5.3_20161116”添加到依赖库中(project structure——>dependencies——>File dependency);然后将相关文件夹文件拷贝到新创建的jniLibs文件夹中;

(2)配置Android Manifest.xml,添加相应的应用权限;

<!--允许联网 --> 
<uses-permission android:name="android.permission.INTERNET" /> 
<!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息  --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<!--获取wifi网络状态的信息 --> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<!--获取sd卡写的权限,用于文件上传和下载-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许读取手机状态 用于创建BmobInstallation--> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

(3)初始化BmobSDK

在应用程序启动的Activity的onCreate()方法中初始化Bmob功能。

Bmob.initialize(this, "Your Application ID");

在Bmob创建的Android应用都会有自己唯一的Application ID,可以通过Bmob中创建的Android应用的"设置"——>Application ID查看;

(4)核心功能编码

实体类PlantShow.java:(注意:实体类名必须和Bmob中数据表名一致,声明的变量名和数据表中字段名一致,数据类型也需一致

import cn.bmob.v3.BmobObject;
import cn.bmob.v3.datatype.BmobFile;

public class Plantshow extends BmobObject {
    private Integer keyid;//id编号
    private String id;//id编号
    private String plantname;//植物名称
    private String ladingname;//拉丁名
    private String ke;//科名
    private String shu;//属名
    private String brief;//植物概况
    private String location;//分布位置
    private BmobFile picFile;//植物图片(Bmob中数据表创建一个字段(File类型),上传对应的图片文件)

    public PlantShow(String tableName) {
        super(tableName);
    }

    public PlantShow(Integer keyid, String id, String plantname, String ladingname, String ke, String shu, String brief, String location, BmobFile picFile) {
        this.keyid = keyid;
        this.id = id;
        this.plantname = plantname;
        this.ladingname = ladingname;
        this.ke = ke;
        this.shu = shu;
        this.brief = brief;
        this.location = location;
        this.picFile = picFile;
    }

    public Integer getKeyid() {
        return keyid;
    }

    public void setKeyid(Integer keyid) {
        this.keyid = keyid;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPlantname() {
        return plantname;
    }

    public void setPlantname(String plantname) {
        this.plantname = plantname;
    }

    public String getLadingname() {
        return ladingname;
    }

    public void setLadingname(String ladingname) {
        this.ladingname = ladingname;
    }

    public String getKe() {
        return ke;
    }

    public void setKe(String ke) {
        this.ke = ke;
    }

    public String getShu() {
        return shu;
    }

    public void setShu(String shu) {
        this.shu = shu;
    }

    public String getBrief() {
        return brief;
    }

    public void setBrief(String brief) {
        this.brief = brief;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }
    //返回图片路径,就可以使用图片开源库(Glide、Volly等)基于返回的图片URL进行加载显示。
    public String getPicFile() {
        return picFile.getFileUrl();
    }
}

(5)结果显示

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值