不需要搭后台,通过Bmob轻松制作一个Android APP
来源:原创 时间:2017-11-03 浏览:0 次怎么轻松建立一个效劳器端,制造一款归于自己的app呢?今日我们来一同学习一下!首要我们先来看看它------Bmob。
Bmob 是一个能够开发云存储的移动运用软件,给运用软件快速增加一个安全灵敏的后台办理体系,便利阅读终端保存的各种信息。针对移动运用开发的特性,Bmob还供给了主动推送效劳,能够让移动开发者将信息从效劳器直接推送到运用程序中,然后完结软件的主动更新、信息告诉等效劳。
关于许多Android/iOS个人移动开发者来说,开发一个具有网络功用的运用不是一件简略的事,不只需求购买/租借效劳器,还有必要把握一门比如Java/.net/php这类的效劳器开发言语,每开发一款移动运用程序,就有必要开发保护对应的效劳器程序。这一切关于移动开发者来说,都是一个冗长的噩梦。
怎么让移动开发者从繁琐的机械劳作中摆脱出来,将更多精力投入到移动运用程序的构思研制,然后不断提高产品质量呢?Bmob移动运用云存储途径的诞生就很好地处理了以上难题。
在Bmob途径上,只需注册一个帐号,成功后恳求创立恣意多个数据库,取得对应的Key,下载对应版别的SDK并将其嵌入到移动运用中,便能够调用存取API,进行数据的恣意操作。有了Bmob,您在5分钟内就能够学会怎么开发一个云存储的移动运用软件,给运用软件快速增加一个安全灵敏的后台办理体系,便利您阅读终端保存的各种信息。
是不是很心动啊,废话不多说,我们直接开端吧!
创立运用
首要你需求注册一个Bmob账号,注册成功之后页面是这样的:
你的应该是空白的,点击创立运用:
按操作进行即可,这儿我们挑选开发版免费的。当你创立完运用,点击所创立的运用:
你的应该只要一个数据表_User,我这儿现已创立了两个数据表,我们先翻开设置看一个非常重要的东西:
这个ID必定要留意,很重要,我们持续。页面右下角有一个文档,我们点开找到Android开发文档:
你能够快速阅读一下这儿的快速入门,接下来我们开端导入sdk,首要阐明一点我们运用Android Studio来完结开发作业,在快速入门中你会看到导入sdk的办法,我们优先挑选主动导入。
主动导入
在 Project 的 build.gradle 文件中增加 Bomb 的 maven 库房地址:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
//Bmob的maven库房地址--必填
maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
}
}
依照文档阐明来即可。接着装备AndroidManifest.xml,最终一步比较重要的是就是初始化BmobSDK了。
初始化BombSDK
在你的运用程序发动的 Activity 的 onCreate办法中初始化BombSDK:
package com.bmob.example;
import cn.bmob.v3.Bmob;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//供给以下两种办法进行初始化操作:
//榜首:默许初始化
Bmob.initialize(this, "Your Application ID");
// 注:自v3.5.2开端,数据sdk内部缝合了计算sdk,开发者无需额定集成,传途径参数即可,不传默许没敞开数据计算功用
//Bmob.initialize(this, "Your Application ID","bmob");
//第二:自v3.4.7版别开端,设置BmobConfig,答应设置恳求超时时刻、文件分片上传时每片的巨细、文件的过期时刻(单位为秒),
//BmobConfig config =new BmobConfig.Builder(this)
////设置appkey
//.setApplicationId("Your Application ID")
////恳求超时时刻(单位为秒):默许15s
//.setConnectTimeout(30)
////文件分片上传时每片的巨细(单位字节),默许512*1024
//.setUploadBlockSize(1024*1024)
////文件的过期时刻(单位为秒):默许1800s
//.setFileExpiration(2500)
//.build();
//Bmob.initialize(config);
}
}
当你初始化完结而且上述过程都无误的情况下你就能运用bmob啦,我们来验证一下:
当你随便在一个java类文件中写上bmob的时分就会呈现许多bmob的相关办法了,至此装备bmob现已悉数完结,接下来开端运用bmob吧!
创立数据表
我觉得bmob的一个中心就是数据的运用,就是上传数据,读取数据,也注重说一下这点,首要我们创立一个自己需求的数据表:
public class FoundData extends BmobObject {
private String title;
private String describe;
private String phone;
public void setPhone(String phone) {
this.phone = phone;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public void setTitle(String title) {
this.title = title;
}
public String getPhone() {
return phone;
}
public String getDescribe() {
return describe;
}
public String getTitle() {
return title;
}
}
这儿我依据项目需求创立了一个FoundData数据表,我们创立数据表的时分记住要承继自Bmobject这个类,然后界说相关特点,增加set与get办法,在我们的项目中成功创立数据表之后我们需求在bmob后端操控太增加数据表与之构成对应:
挑选增加表:
这儿挑选自界说,要留意这儿的称号有必要与你在项目里创立的数据表称号如出一辙,增加表完结之后翻开这个表:
由于你是刚创立的所以你的里边只要objectid String这一样,你需求手动增加,我们挑选增加列:
留意列的称号也有必要与你项目中创立的变量称号共同,包含数据类型:
完结上述操作我们就成功创立一个数据表了,接下来我们要点说一下对数据的读取,首要我们需求在数据表中增加相关数据,像这样:
记住增加数据的时分是增加行。然后我们翻开开发文档:
点开开发文档:
这是关于bmob关于android开发的一系列操作,我们需求找到查询数据的办法:
找到查询指定列
这儿给我们供给一个查询指定列的办法,我们看在项目中的具体运用:
//获取数据
public void getData(){
//获取数据
BmobQuerybmobQuery = new BmobQuery();
//不指定查找具体的哪一项则为查找悉数数据
// bmobQuery.addQueryKeys("title");
bmobQuery.findObjects(new FindListener() {
@Override
public void done(Listlist, BmobException e) {
}
});
}
我们需求留意,bmob供给的是查询指定列的办法,就是它能够得到一列的数据,可是我们知道我们的数据并不是只要一列数据,如果我们想查询一切数据该怎么办呢?很简略我们将查询指定列的那段代码去掉就能够查询悉数数据了,留意看我代码的注释。
我一向觉得关于查询得到的数据的处理是一个难点,当你做好了app的界面,再加入网络功用能够读取后台数据,根本上一个简略的app就成了,接下来我们就说说怎么处理得到的数据:
//获取数据
public void getData(){
//获取数据
BmobQuerybmobQuery = new BmobQuery();
//不指定查找具体的哪一项则为查找悉数数据
// bmobQuery.addQueryKeys("title");
bmobQuery.findObjects(new FindListener() {
@Override
public void done(Listlist, BmobException e) {
Toast.makeText(getContext(),"改写成功"+list.size(),Toast.LENGTH_SHORT).show();
/**
* 1.list为得到的数据源
* 2.得到的数据有三项
* 2.1 title
* 2.2 phone
* 2.3 describe
*/
//处理list中的数据,for循环遍历
for(FoundData data : list){
mHashMap = new HashMap<>();
mHashMap.put("title",data.getTitle());
mHashMap.put("phone",data.getPhone());
mHashMap.put("describe",data.getDescribe());
}
List