Bmob移動後端雲端服務平台--Android從零開始--(二)android快速入門,bmob--android
Bmob移動後端雲端服務平台--Android從零開始--(二)android快速入門
上一篇博文我們簡單介紹何為Bmob移動後端服務平台,以及其相關功能和優勢。本文將利用Bmob快速實現簡單例子,進一步瞭解它的強大之處。
一、準備工作1.註冊Bmob帳號
在網址欄輸入www.bmob.cn或者在百度輸入Bmob進行搜尋,開啟Bmob官網後,點擊右上方的“註冊”,在跳轉頁面填入你的姓名、郵箱、設定密碼,確認後到你的郵箱啟用Bmob賬戶,你就可以用Bmob輕鬆開發應用了。
2.網站後台建立應用
登入帳號進入bmob後台後,點擊後台介面左上方“建立應用”,在彈出框輸入你應用的名稱,然後確認,你就擁有了一個等待開發的應用。
3.擷取應用密鑰和下載SDK
選擇你要開發的應用,點擊該應用下方對應的“應用密鑰”
在跳轉頁面,擷取Application ID,此ID將會在初始化SDK中使用到。
擷取Application ID後,下載SDK,開發人員可以根據自己的需求選擇相應的iOS SDK 或Android SDK,點擊下載即可。
二、代碼實現
需求:本執行個體簡單的實現使用者利用使用者名稱和密碼進行註冊。註冊成功後,利用註冊的資料,進行登陸,操作成功後給出相應的提示。
代碼實現步驟:
1> 引入BmobSDK 架包
將下載的BmobSDK中包含如下的架包引入到Android應用
2> 在資訊清單檔中添加如下的許可權
<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_LOGS"/>
3> 初始化BmobSDK
在你應用程式啟動的Activity的onCreate()方法中初始化Bmob功能。代碼如下所示:
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 初始化 Bmob SDK // 使用時請將第二個參數Application ID替換成你在Bmob伺服器端建立的Application ID Bmob.initialize(this, "Your Application ID"); }4>建立繼承於BmobObject的實體UserBean
package com.example.bmobdemo.bean;import cn.bmob.v3.BmobObject;/** * * * 項目名稱:BmobDemo * 類名稱:UserBean * 類描述: 繼承BmobObject的使用者實體類 * 建立時間:2014年12月18日 下午10:25:40 * 修改人:Administrator * 修改時間:2014年12月18日 下午10:25:40 * 修改備忘: * @version * */public class UserBean extends BmobObject{/** * */private static final long serialVersionUID = 1L;private String loginId;private String userName;private String password;public String getLoginId() {return loginId;}public void setLoginId(String loginId) {this.loginId = loginId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "UserBean [loginId=" + loginId + ", userName=" + userName+ ", password=" + password + "]";}}
4>案例效果
Bmob平台伺服器資料
5>相關的布局檔案和資訊清單檔1.資訊清單檔,AndroidManifest.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.bmobdemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.bmobdemo.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest></span>
2.主布局檔案,activity_main.xml
本執行個體需要一個使用者名稱的EditText和密碼的EditText,以及註冊和登陸的Button。
<span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="使用者名稱:" android:textColor="#FF0000" /> <EditText android:id="@+id/id_login_name_et" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="密碼:" android:textColor="#FF0000" /> <EditText android:id="@+id/id_password_et" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/id_register_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:text="註冊" android:textColor="#0000FF" /> <Button android:id="@+id/id_login_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登陸" android:textColor="#0000FF" /></LinearLayout></span>
5>java實現代碼1.主介面代碼MainActivity.java
package com.example.bmobdemo;import java.util.List;import cn.bmob.v3.Bmob;import cn.bmob.v3.BmobQuery;import cn.bmob.v3.listener.FindListener;import cn.bmob.v3.listener.SaveListener;import com.example.bmobdemo.bean.UserBean;import com.example.bmobdemo.util.ToastUtils;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity implements OnClickListener {// Bmob應用建立建時擷取的Application id,根據自己建立的應用來寫入private static final String BMOB_APPLICATION_ID = "be783fdda4eac8a781a9f80596e98fe0";private Button registerBtn, loginBtn;private EditText loginEt, passwordEt;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/** * 初始化BmobSDK */Bmob.initialize(this, BMOB_APPLICATION_ID);initView();}/** * * 初始化控制項 */private void initView() {registerBtn = (Button) this.findViewById(R.id.id_register_btn);loginBtn = (Button) this.findViewById(R.id.id_login_btn);loginEt = (EditText) this.findViewById(R.id.id_login_name_et);passwordEt = (EditText) this.findViewById(R.id.id_password_et);registerBtn.setOnClickListener(this);loginBtn.setOnClickListener(this);}/** * 註冊 */private void register() {String loginId = loginEt.getText().toString();String password = passwordEt.getText().toString();if (loginId.isEmpty() || password.isEmpty()) {ToastUtils.toast(this, "密碼或帳號不為空白!");return;}final UserBean userBean = new UserBean();userBean.setLoginId(loginId);userBean.setPassword(password);userBean.setUserName("Bmob");/** * 儲存資料到Bmob伺服器 */userBean.save(this, new SaveListener() {@Overridepublic void onSuccess() {ToastUtils.toast(MainActivity.this, userBean.toString()+ " 註冊成功");}@Overridepublic void onFailure(int arg0, String arg1) {ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 註冊失敗");}});}/** * 登陸 */private void login() {String loginId = loginEt.getText().toString();String password = passwordEt.getText().toString();if (loginId.isEmpty() || password.isEmpty()) {ToastUtils.toast(this, "密碼或帳號不為空白!");return;}BmobQuery<UserBean> userQuery = new BmobQuery<UserBean>();// 查詢條件userQuery.addWhereEqualTo("loginId", loginId);userQuery.addWhereEqualTo("password", password);userQuery.findObjects(this, new FindListener<UserBean>() {@Overridepublic void onError(int arg0, String arg1) {ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 登陸失敗");}@Overridepublic void onSuccess(List<UserBean> userList) {if (userList != null && userList.size() > 0)ToastUtils.toast(MainActivity.this, " 登陸成功");else {ToastUtils.toast(MainActivity.this, " 登陸失敗");}}});}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.id_register_btn:register();break;case R.id.id_login_btn:login();break;}}}
2.實體類UserBean
package com.example.bmobdemo.bean;import cn.bmob.v3.BmobObject;/** * * * 項目名稱:BmobDemo * 類名稱:UserBean * 類描述: 繼承BmobObject的使用者實體類 * 建立時間:2014年12月18日 下午10:25:40 * 修改人:Administrator * 修改時間:2014年12月18日 下午10:25:40 * 修改備忘: * @version * */public class UserBean extends BmobObject{/** * */private static final long serialVersionUID = 1L;private String loginId;private String userName;private String password;public String getLoginId() {return loginId;}public void setLoginId(String loginId) {this.loginId = loginId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "UserBean [loginId=" + loginId + ", userName=" + userName+ ", password=" + password + "]";}}
3.工具類ToastUtils.java
package com.example.bmobdemo.util;import android.content.Context;import android.widget.Toast;/** * Toast提示工具類 * createdTime: 2014年12月18日 下午10:55:21 * */public class ToastUtils {public static void toast(Context context,String msg){Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();}public static void toast(Context context,int msgId){Toast.makeText(context, msgId, Toast.LENGTH_SHORT).show();}}
源碼路徑:http://download.csdn.net/detail/a123demi/8283761