Bmob後端雲
- 一、增
- 二、删
- 三、改
- 四、查
記錄一下bmob後端雲資料庫在android上的簡單使用
官方文檔:http://doc.bmob.cn/data/android/
先在bmob官網建立一個表用于增删改查
字段 name age sex
建立android項目,聲明權限:
<!--允許聯網 -->
<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" />
導入sdk:
1、在 Project 的 build.gradle 檔案中添加 Bmob的maven倉庫位址:
allprojects {
repositories {
google()
jcenter()
//Bmob的maven倉庫位址
maven {url 'https://dl.bintray.com/chaozhouzhang/maven' }
}
}
2、在app的build.gradle檔案中添加依賴檔案:
android {
useLibrary 'org.apache.http.legacy'
}
dependencies {
implementation 'cn.bmob.android:bmob-sdk:3.7.8'
implementation "io.reactivex.rxjava2:rxjava:2.2.8"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.squareup.okhttp3:okhttp:3.14.1'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'com.google.code.gson:gson:2.8.5'
}
配置ContentProvider:
<application>
···
<provider
android:name="cn.bmob.v3.util.BmobContentProvider"
android:authorities="你的應用包名.BmobContentProvider">
</provider>
···
</application>
初始化:
在自定義Application類中初始化 bmob sdk
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Bmob.initialize(this, "你的Application ID");
}
}
在布局中建立四個按鈕,在點選事件中分别進行增删改查:
一、增
//new一個student對象
mStudent = new Student("小李",22,"男");
//添加資料
mAddBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//調用對象的save()方法添加資料到背景
student.save(new SaveListener<String>() {
@Override
public void done(String objectId, BmobException e) {
//結果回調
if(e==null){
Log.d("MyBmob", "建立資料成功" + objectId);
}else{
Log.d("MyBmob", "失敗:" + e.getMessage() + "," + e.getErrorCode());
}
}
});
}
});
二、删
//删除資料
mDeleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Student student = new Student();
student.setObjectId("3ec6889c45");
student.delete(new UpdateListener() {
@Override
public void done(BmobException e) {
//結果回調
if(e==null){
Log.d("MyBmob", "删除成功");
}else{
Log.d("MyBmob", "删除失敗:" + e.getMessage() + "," + e.getErrorCode());
}
}
});
}
});
三、改
//更新資料
mUpdateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mStudent.setAge(23);
mStudent.update("3ec6889c45", new UpdateListener() {
@Override
public void done(BmobException e) {
//結果回調
if(e==null){
Log.d("MyBmob", "更新成功");
}else{
Log.d("MyBmob", "更新失敗:" + e.getMessage() + "," + e.getErrorCode());
}
}
});
}
});
四、查
//查詢資料
mQueryBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
BmobQuery<Student> bmobQuery = new BmobQuery<Student>();
bmobQuery.getObject("3ec6889c45", new QueryListener<Student>() {
@Override
public void done(Student student, BmobException e) {
//結果回調
if(e==null){
mTextView.setText(student.toString());
}else{
Log.d("MyBmob", "查詢失敗:" + e.getMessage());
}
}
});
}
});