不需要搭后臺,通過Bmob輕松制作一個Android APP
來源:原創(chuàng) 時間:2017-11-03 瀏覽:0 次怎么輕松建立一個效勞器端,制造一款歸于自己的app呢?今日我們來一同學習一下!首要我們先來看看它------Bmob。
Bmob 是一個能夠開發(fā)云存儲的移動運用軟件,給運用軟件快速增加一個安全靈敏的后臺辦理體系,便利閱讀終端保存的各種信息。針對移動運用開發(fā)的特性,Bmob還供給了主動推送效勞,能夠讓移動開發(fā)者將信息從效勞器直接推送到運用程序中,然后完結軟件的主動更新、信息告訴等效勞。
關于許多Android/iOS個人移動開發(fā)者來說,開發(fā)一個具有網(wǎng)絡功用的運用不是一件簡略的事,不只需求購買/租借效勞器,還有必要把握一門比如Java/.net/php這類的效勞器開發(fā)言語,每開發(fā)一款移動運用程序,就有必要開發(fā)保護對應的效勞器程序。這一切關于移動開發(fā)者來說,都是一個冗長的噩夢。
怎么讓移動開發(fā)者從繁瑣的機械勞作中擺脫出來,將更多精力投入到移動運用程序的構思研制,然后不斷提高產(chǎn)品質量呢?Bmob移動運用云存儲途徑的誕生就很好地處理了以上難題。
在Bmob途徑上,只需注冊一個帳號,成功后懇求創(chuàng)立恣意多個數(shù)據(jù)庫,取得對應的Key,下載對應版別的SDK并將其嵌入到移動運用中,便能夠調(diào)用存取API,進行數(shù)據(jù)的恣意操作。有了Bmob,您在5分鐘內(nèi)就能夠學會怎么開發(fā)一個云存儲的移動運用軟件,給運用軟件快速增加一個安全靈敏的后臺辦理體系,便利您閱讀終端保存的各種信息。
是不是很心動啊,廢話不多說,我們直接開端吧!
創(chuàng)立運用
首要你需求注冊一個Bmob賬號,注冊成功之后頁面是這樣的:
你的應該是空白的,點擊創(chuàng)立運用:
按操作進行即可,這兒我們挑選開發(fā)版免費的。當你創(chuàng)立完運用,點擊所創(chuàng)立的運用:
你的應該只要一個數(shù)據(jù)表_User,我這兒現(xiàn)已創(chuàng)立了兩個數(shù)據(jù)表,我們先翻開設置看一個非常重要的東西:
這個ID必定要留意,很重要,我們持續(xù)。頁面右下角有一個文檔,我們點開找到Android開發(fā)文檔:
你能夠快速閱讀一下這兒的快速入門,接下來我們開端導入sdk,首要闡明一點我們運用Android Studio來完結開發(fā)作業(yè),在快速入門中你會看到導入sdk的辦法,我們優(yōu)先挑選主動導入。
主動導入
在 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
在你的運用程序發(fā)動的 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開端,數(shù)據(jù)sdk內(nèi)部縫合了計算sdk,開發(fā)者無需額定集成,傳途徑參數(shù)即可,不傳默許沒敞開數(shù)據(jù)計算功用
//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)
////文件分片上傳時每片的巨細(單位字節(jié)),默許512*1024
//.setUploadBlockSize(1024*1024)
////文件的過期時刻(單位為秒):默許1800s
//.setFileExpiration(2500)
//.build();
//Bmob.initialize(config);
}
}
當你初始化完結而且上述過程都無誤的情況下你就能運用bmob啦,我們來驗證一下:
當你隨便在一個java類文件中寫上bmob的時分就會呈現(xiàn)許多bmob的相關辦法了,至此裝備bmob現(xiàn)已悉數(shù)完結,接下來開端運用bmob吧!
創(chuàng)立數(shù)據(jù)表
我覺得bmob的一個中心就是數(shù)據(jù)的運用,就是上傳數(shù)據(jù),讀取數(shù)據(jù),也注重說一下這點,首要我們創(chuàng)立一個自己需求的數(shù)據(jù)表:
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;
}
}
這兒我依據(jù)項目需求創(chuàng)立了一個FoundData數(shù)據(jù)表,我們創(chuàng)立數(shù)據(jù)表的時分記住要承繼自Bmobject這個類,然后界說相關特點,增加set與get辦法,在我們的項目中成功創(chuàng)立數(shù)據(jù)表之后我們需求在bmob后端操控太增加數(shù)據(jù)表與之構成對應:
挑選增加表:
這兒挑選自界說,要留意這兒的稱號有必要與你在項目里創(chuàng)立的數(shù)據(jù)表稱號如出一轍,增加表完結之后翻開這個表:
由于你是剛創(chuàng)立的所以你的里邊只要objectid String這一樣,你需求手動增加,我們挑選增加列:
留意列的稱號也有必要與你項目中創(chuàng)立的變量稱號共同,包含數(shù)據(jù)類型:
完結上述操作我們就成功創(chuàng)立一個數(shù)據(jù)表了,接下來我們要點說一下對數(shù)據(jù)的讀取,首要我們需求在數(shù)據(jù)表中增加相關數(shù)據(jù),像這樣:
記住增加數(shù)據(jù)的時分是增加行。然后我們翻開開發(fā)文檔:
點開開發(fā)文檔:
這是關于bmob關于android開發(fā)的一系列操作,我們需求找到查詢數(shù)據(jù)的辦法:
找到查詢指定列
這兒給我們供給一個查詢指定列的辦法,我們看在項目中的具體運用:
//獲取數(shù)據(jù)
public void getData(){
//獲取數(shù)據(jù)
BmobQuerybmobQuery = new BmobQuery();
//不指定查找具體的哪一項則為查找悉數(shù)數(shù)據(jù)
// bmobQuery.addQueryKeys("title");
bmobQuery.findObjects(new FindListener() {
@Override
public void done(Listlist, BmobException e) {
}
});
}
我們需求留意,bmob供給的是查詢指定列的辦法,就是它能夠得到一列的數(shù)據(jù),可是我們知道我們的數(shù)據(jù)并不是只要一列數(shù)據(jù),如果我們想查詢一切數(shù)據(jù)該怎么辦呢?很簡略我們將查詢指定列的那段代碼去掉就能夠查詢悉數(shù)數(shù)據(jù)了,留意看我代碼的注釋。
我一向覺得關于查詢得到的數(shù)據(jù)的處理是一個難點,當你做好了app的界面,再加入網(wǎng)絡功用能夠讀取后臺數(shù)據(jù),根本上一個簡略的app就成了,接下來我們就說說怎么處理得到的數(shù)據(jù):
//獲取數(shù)據(jù)
public void getData(){
//獲取數(shù)據(jù)
BmobQuerybmobQuery = new BmobQuery();
//不指定查找具體的哪一項則為查找悉數(shù)數(shù)據(jù)
// 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為得到的數(shù)據(jù)源
* 2.得到的數(shù)據(jù)有三項
* 2.1 title
* 2.2 phone
* 2.3 describe
*/
//處理list中的數(shù)據(jù),for循環(huán)遍歷
for(FoundData data : list){
mHashMap = new HashMap<>();
mHashMap.put("title",data.getTitle());
mHashMap.put("phone",data.getPhone());
mHashMap.put("describe",data.getDescribe());
}
List