您的位置:首页 > 移动开发 > Android开发

Bmob移动后端云服务平台--Android从零开始--(二)android快速入门

2014-12-22 10:10 701 查看

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;
}
@Override
public 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;

@Override
protected 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() {

@Override
public void onSuccess() {
ToastUtils.toast(MainActivity.this, userBean.toString()
+ " 注册成功");
}

@Override
public 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>() {

@Override
public void onError(int arg0, String arg1) {
ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 登陆失败");
}

@Override
public void onSuccess(List<UserBean> userList) {
if (userList != null && userList.size() > 0)
ToastUtils.toast(MainActivity.this, " 登陆成功");
else {
ToastUtils.toast(MainActivity.this, " 登陆失败");
}
}
});
}

@Override
public 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;
}
@Override
public 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐