天天看點

Bmob的簡單應用 --- HelloWorld

後端的問題的确很令Android開發者煩惱,Bmob後端雲提供的解決方案不錯,加上最近要做關于後端的,先寫個Demo試下.

Bmob SDK配置

關于注冊之類的就不說了,直接去官網吧,從SDK的配置開始看.

使用工具 : Android Studio

Bmob版本 : v3.4.7

先引入Maven 倉庫,在AllProject中

allprojects {
    repositories {
        jcenter()
        maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
    }
}
           

配置依賴

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    // v3.4.7隻要配置這個就可以,之前版本需要okhttp
    compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'
}
           

聲明權限

<!--允許聯網 -->
    <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" />
           

MainActivity 中初始化Bmob

// 初始化Bomb(使用預設的方式)
        Bmob.initialize(this, "887fb8cdafa392424a938a99673a2088"); // 你的App ID
           

還有另外一種配置方式

* 自v3.4.7版本開始,設定BmobConfig,允許設定請求逾時時間、檔案分片上傳時每片的大小、檔案的過期時間(機關為秒),*

BmobConfig config =new BmobConfig.Builder(this)
       //設定appkey
       .setApplicationId("Your Application ID")
       //請求逾時時間(機關為秒):預設s
       .setConnectTimeout()
       //檔案分片上傳時每片的大小(機關位元組),預設*
       .setUploadBlockSize(*)
       //檔案的過期時間(機關為秒):預設s
       .setFileExpiration()
       .build();
       Bmob.initialize(config);
           

建立一個JavaBean

public class Person extends BmobObject {
    private String name;
    private String address;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}
           

插入和查找資料

查找資料根據ObjectId進行

完整的Activity

public class MainActivity extends AppCompatActivity {

    private TextView mTvState;
    private TextView mTvResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTvState = (TextView) findViewById(R.id.id_tv_state);
        mTvResult = (TextView) findViewById(R.id.id_tv_result);
        // 初始化Bomb(使用預設的方式)
        Bmob.initialize(this, "887fb8cdafa392424a938a99673a2088");
        // 添加一個資料
        final Person p = new Person();
        p.setName("yangtr");
        p.setAddress("hebust");
        // 添加Person
        p.save(this, new SaveListener() {
            @Override
            public void onSuccess() {
                mTvState.setText("添加資料成功,傳回objectId為:" + p.getObjectId());

            }

            @Override
            public void onFailure(int i, String s) {
                mTvState.setText("資料添加失敗 MSG:" + s);
            }
        });

        // 查詢操作
        final BmobQuery<Person> bmob = new BmobQuery<>();
        bmob.getObject(this, "76b77745d6", new GetListener<Person>() {
            @Override
            public void onSuccess(Person person) {

                mTvResult.setText("查詢成功"+person.getName());
            }

            @Override
            public void onFailure(int i, String s) {
                mTvResult.setText("查詢失敗");
            }
        });
    }
}
           

其他操作

其他操作與上面類似,使用update 更新,delete删除等,都可以通過回調方法實作相應的處理.

Bmob後端會插入資料

Bmob的簡單應用 --- HelloWorld

實作效果

Bmob的簡單應用 --- HelloWorld