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

来源:互联网 发布:最新小说网盘搜索 知乎 编辑:程序博客网 时间:2024/05/01 02:25

什么是移动后端服务:

移动后端服务也叫BaaS(后端即服务:Backend as a Service),为移动应用开发者提供整合云后端的边界服务。它为应用开发提供后台的云服务,包括提供数据存储托管环境,也包括提供消息推送等通行后端技术能力。BaaS作为应用开发的新模型,进一步实现专业分工,有助于应用的成本下降和市场的进一步繁荣。
这里给出一些BaaS服务提供商:后台数据存储1. StackMob Product | StackMob2. Parse Products3. AVOS Cloud AVOS Cloud4. Bmob Bmob移动后端云服务平台应用数据分析1. 友盟 友盟-专业的移动开发者服务平台2. TalkingData TalkingData-专业的无线互联网数据服务平台3. 魔方 魔方-移动应用服务平台4. AVOS Cloud Analytics 功能 - AVOS Cloud移动终端测试1.Testin Testin云测2.班墨云测试 全球首款智能云测试系统3.DroidPilot Android自动化测试工具DroidPilot4.摩测 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)结果显示


阅读全文
0 0