Bmob移動後端雲服務平臺

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> 在清單文件中添加如下的權限

[html]  view plain  copy
  1. <uses-permission android:name="android.permission.INTERNET"/>  
  2. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>  
  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  4. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
  5. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
  6. <uses-permission android:name="android.permission.READ_LOGS"/>  
3> 初始化BmobSDK

在你應用程序啓動的Activity的onCreate()方法中初始化Bmob功能。代碼如下所示:

[html]  view plain  copy
  1. @Override  
  2.  protected void onCreate(Bundle savedInstanceState) {  
  3.       // TODO Auto-generated method stub  
  4.      super.onCreate(savedInstanceState);  
  5.       // 初始化 Bmob SDK  
  6.      // 使用時請將第二個參數Application ID替換成你在Bmob服務器端創建的Application ID  
  7.      Bmob.initialize(this, "Your Application ID");  
  8.  }  
4>創建繼承於BmobObject的實體UserBean

[html]  view plain  copy
  1. package com.example.bmobdemo.bean;  
  2.   
  3. import cn.bmob.v3.BmobObject;  
  4.   
  5. /**  
  6.  *    
  7.  *       
  8.  * 項目名稱:BmobDemo      
  9.  * 類名稱:UserBean      
  10.  * 類描述:    繼承BmobObject的用戶實體類  
  11.  * 創建時間:2014年12月18日 下午10:25:40      
  12.  * 修改人:Administrator      
  13.  * 修改時間:2014年12月18日 下午10:25:40      
  14.  * 修改備註:      
  15.  * @version       
  16.  *  
  17.  */  
  18. public class UserBean extends BmobObject{  
  19.     /**  
  20.      *   
  21.      */  
  22.     private static final long serialVersionUID = 1L;  
  23.     private String loginId;  
  24.     private String userName;  
  25.     private String password;  
  26.     public String getLoginId() {  
  27.         return loginId;  
  28.     }  
  29.     public void setLoginId(String loginId) {  
  30.         this.loginId = loginId;  
  31.     }  
  32.     public String getUserName() {  
  33.         return userName;  
  34.     }  
  35.     public void setUserName(String userName) {  
  36.         this.userName = userName;  
  37.     }  
  38.     public String getPassword() {  
  39.         return password;  
  40.     }  
  41.     public void setPassword(String password) {  
  42.         this.password = password;  
  43.     }  
  44.     @Override  
  45.     public String toString() {  
  46.         return "UserBean [loginId=" + loginId + "userName=" + userName  
  47.                 + ", password=" + password + "]";  
  48.     }  
  49.       
  50.       
  51.       
  52. }  

4>案例效果


Bmob平臺服務器數據


5>相關的佈局文件和清單文件

1.清單文件,AndroidManifest.xml

[html]  view plain  copy
  1. <span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.example.bmobdemo"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     <uses-sdk  
  8.         android:minSdkVersion="17"  
  9.         android:targetSdkVersion="19" />  
  10.   
  11.     <uses-permission android:name="android.permission.INTERNET" />  
  12.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
  13.     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
  14.     <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
  15.     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  
  16.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
  17.     <uses-permission android:name="android.permission.READ_LOGS" />  
  18.   
  19.     <application  
  20.         android:allowBackup="true"  
  21.         android:icon="@drawable/ic_launcher"  
  22.         android:label="@string/app_name"  
  23.         android:theme="@style/AppTheme" >  
  24.         <activity  
  25.             android:name="com.example.bmobdemo.MainActivity"  
  26.             android:label="@string/app_name" >  
  27.             <intent-filter>  
  28.                 <action android:name="android.intent.action.MAIN" />  
  29.   
  30.                 <category android:name="android.intent.category.LAUNCHER" />  
  31.             </intent-filter>  
  32.         </activity>  
  33.     </application>  
  34.   
  35. </manifest></span>  

2.主佈局文件,activity_main.xml

本實例需要一個用戶名的EditText和密碼的EditText,以及註冊和登陸的Button。

[html]  view plain  copy
  1. <span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <LinearLayout  
  8.         android:layout_width="match_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_marginBottom="20dp"  
  11.         android:orientation="horizontal" >  
  12.   
  13.         <TextView  
  14.             android:layout_width="wrap_content"  
  15.             android:layout_height="wrap_content"  
  16.             android:layout_marginRight="10dp"  
  17.             android:text="用戶名:"  
  18.             android:textColor="#FF0000" />  
  19.   
  20.         <EditText  
  21.             android:id="@+id/id_login_name_et"  
  22.             android:layout_width="match_parent"  
  23.             android:layout_height="wrap_content" />  
  24.     </LinearLayout>  
  25.   
  26.     <LinearLayout  
  27.         android:layout_width="match_parent"  
  28.         android:layout_height="wrap_content"  
  29.         android:layout_marginBottom="20dp"  
  30.         android:orientation="horizontal" >  
  31.   
  32.         <TextView  
  33.             android:layout_width="wrap_content"  
  34.             android:layout_height="wrap_content"  
  35.             android:layout_marginRight="10dp"  
  36.             android:text="密碼:"  
  37.             android:textColor="#FF0000" />  
  38.   
  39.         <EditText  
  40.             android:id="@+id/id_password_et"  
  41.             android:layout_width="match_parent"  
  42.             android:layout_height="wrap_content" />  
  43.     </LinearLayout>  
  44.   
  45.     <Button  
  46.         android:id="@+id/id_register_btn"  
  47.         android:layout_width="match_parent"  
  48.         android:layout_height="wrap_content"  
  49.         android:layout_marginBottom="10dp"  
  50.         android:text="註冊"  
  51.         android:textColor="#0000FF" />  
  52.   
  53.     <Button  
  54.         android:id="@+id/id_login_btn"  
  55.         android:layout_width="match_parent"  
  56.         android:layout_height="wrap_content"  
  57.         android:text="登陸"  
  58.         android:textColor="#0000FF" />  
  59.   
  60. </LinearLayout></span>  


5>java實現代碼

1.主界面代碼MainActivity.java

[html]  view plain  copy
  1. package com.example.bmobdemo;  
  2.   
  3. import java.util.List;  
  4.   
  5. import cn.bmob.v3.Bmob;  
  6. import cn.bmob.v3.BmobQuery;  
  7. import cn.bmob.v3.listener.FindListener;  
  8. import cn.bmob.v3.listener.SaveListener;  
  9.   
  10. import com.example.bmobdemo.bean.UserBean;  
  11. import com.example.bmobdemo.util.ToastUtils;  
  12.   
  13. import android.app.Activity;  
  14. import android.os.Bundle;  
  15. import android.view.View;  
  16. import android.view.View.OnClickListener;  
  17. import android.widget.Button;  
  18. import android.widget.EditText;  
  19.   
  20. public class MainActivity extends Activity implements OnClickListener {  
  21.   
  22.     // Bmob應用創建建時獲取的Application id,根據自己創建的應用來寫入  
  23.     private static final String BMOB_APPLICATION_ID = "be783fdda4eac8a781a9f80596e98fe0";  
  24.     private Button registerBtn, loginBtn;  
  25.     private EditText loginEt, passwordEt;  
  26.   
  27.     @Override  
  28.     protected void onCreate(Bundle savedInstanceState) {  
  29.         super.onCreate(savedInstanceState);  
  30.         setContentView(R.layout.activity_main);  
  31.   
  32.         /**  
  33.          * 初始化BmobSDK  
  34.          */  
  35.         Bmob.initialize(this, BMOB_APPLICATION_ID);  
  36.         initView();  
  37.     }  
  38.   
  39.     /**  
  40.      *   
  41.      * 初始化控件  
  42.      */  
  43.     private void initView() {  
  44.         registerBtn = (Button) this.findViewById(R.id.id_register_btn);  
  45.         loginBtn = (Button) this.findViewById(R.id.id_login_btn);  
  46.         loginEt = (EditText) this.findViewById(R.id.id_login_name_et);  
  47.         passwordEt = (EditText) this.findViewById(R.id.id_password_et);  
  48.   
  49.         registerBtn.setOnClickListener(this);  
  50.         loginBtn.setOnClickListener(this);  
  51.   
  52.     }  
  53.   
  54.     /**  
  55.      * 註冊  
  56.      */  
  57.     private void register() {  
  58.         String loginId = loginEt.getText().toString();  
  59.         String password = passwordEt.getText().toString();  
  60.         if (loginId.isEmpty() || password.isEmpty()) {  
  61.             ToastUtils.toast(this, "密碼或賬號不爲空!");  
  62.             return;  
  63.         }  
  64.   
  65.         final UserBean userBean = new UserBean();  
  66.         userBean.setLoginId(loginId);  
  67.         userBean.setPassword(password);  
  68.         userBean.setUserName("Bmob");  
  69.         /**  
  70.          * 保存數據到Bmob服務器  
  71.          */  
  72.         userBean.save(this, new SaveListener() {  
  73.   
  74.             @Override  
  75.             public void onSuccess() {  
  76.                 ToastUtils.toast(MainActivity.this, userBean.toString()  
  77.                         + " 註冊成功");  
  78.             }  
  79.   
  80.             @Override  
  81.             public void onFailure(int arg0, String arg1) {  
  82.                 ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 註冊失敗");  
  83.             }  
  84.         });  
  85.   
  86.     }  
  87.   
  88.     /**  
  89.      * 登陸  
  90.      */  
  91.     private void login() {  
  92.         String loginId = loginEt.getText().toString();  
  93.         String password = passwordEt.getText().toString();  
  94.         if (loginId.isEmpty() || password.isEmpty()) {  
  95.             ToastUtils.toast(this, "密碼或賬號不爲空!");  
  96.             return;  
  97.         }  
  98.   
  99.         BmobQuery<UserBean> userQuery = new BmobQuery<UserBean>();  
  100.   
  101.         // 查詢條件  
  102.         userQuery.addWhereEqualTo("loginId", loginId);  
  103.         userQuery.addWhereEqualTo("password", password);  
  104.   
  105.         userQuery.findObjects(this, new FindListener<UserBean>() {  
  106.   
  107.             @Override  
  108.             public void onError(int arg0, String arg1) {  
  109.                 ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 登陸失敗");  
  110.             }  
  111.   
  112.             @Override  
  113.             public void onSuccess(List<UserBean> userList) {  
  114.                 if (userList != null && userList.size() > 0)  
  115. &nbsx!important; margin-bottom:0px!important; padding:0px 3px 0px 10px!important">         userQuery.addWhereEqualTo("loginId", loginId);  
  116.         userQuery.addWhereEqualTo("password", password);  
  117.   
  118.         userQuery.findObjects(this, new FindListener<UserBean>() {  
  119.   
  120.             @Override  
  121.             public void onError(int arg0, String arg1) {  
  122.                 ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 登陸失敗");  
  123.             }  
  124.   
  125.             @Override  
  126.             public void onSuccess(List<UserBean> userList) {  
  127.                 if (userList != null && userList.size() > 0)  
  128.                     ToastUtils.toast(MainActivity.this, " 登陸成功");  
  129.                 else {  
  130.             }  
  131.   
  132.             @Override  
  133.             public void onSuccess(List<UserBean> userList) {  
  134.                 if (userList != null && userList.size() > 0)  
  135.                     ToastUtils.toast(MainActivity.this, " 登陸成功");  
  136.                 else {  
  137.                     ToastUtils.toast(MainActivity.this, " 登陸失敗");  
  138.                 }  
  139.             }  
  140.         });  
  141.     }  
  142.   
  143.     @Override  
  144.     public void onClx; padding:0px; border:none; color:rgb(0,0,0); background-color:inherit">            public void onSuccess(List<UserBean> userList) {  
相關文章
相關標籤/搜索