Bmob移動後端雲端服務平台--Android從零開始--(二)android快速入門,bmob--android

來源:互聯網
上載者:User

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


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.