博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bmob移动后端云服务平台--Android从零開始--(二)android高速入门
阅读量:7098 次
发布时间:2019-06-28

本文共 7988 字,大约阅读时间需要 26 分钟。

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

上一篇博文我们简介何为Bmob移动后端服务平台,以及其相关功能和优势。

本文将利用Bmob高速实现简单样例,进一步了解它的强大之处。

一、准备工作

1.注冊Bmob账号

在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后。点击右上角的“注冊”,在跳转页面填入你的姓名、邮箱、设置password,确认后到你的邮箱激活Bmob账户。你就能够用Bmob轻松开发应用了。

2.站点后台创建应用

登录账号进入bmob后台后,点击后台界面左上角“创建应用”。在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。

3.获取应用密钥和下载SDK

选择你要开发的应用,点击该应用下方相应的“应用密钥”

在跳转页面。获取Application ID,此ID将会在初始化SDK中使用到。

获取Application ID后。下载SDK。开发人员能够依据自己的需求选择对应的iOS SDK 或Android SDK,点击下载就可以。

二、代码实现

需求:本实例简单的实现用户利用username和password进行注冊。

注冊成功后。利用注冊的数据,进行登陆,操作成功后给出对应的提示。

代码实现步骤:

1> 引入BmobSDK 架包

将下载的BmobSDK中包括例如以下的架包引入到Android应用

2> 在清单文件里加入例如以下的权限

3> 初始化BmobSDK

在你应用程序启动的Activity的onCreate()方法中初始化Bmob功能。

代码例如以下所看到的:

@Override    protected void onCreate(Bundle savedInstanceState) {         // TODO Auto-generated method stub        super.onCreate(savedInstanceState);         // 初始化 Bmob SDK        // 使用时请将第二个參数Application ID替换成你在Bmobserver端创建的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平台server数据

5>相关的布局文件和清单文件

1.清单文件,AndroidManifest.xml

> <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

本实例须要一个username的EditText和password的EditText,以及注冊和登陆的Button。

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");		/**		 * 保存数据到Bmobserver		 */		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
userQuery = new BmobQuery
(); // 查询条件 userQuery.addWhereEqualTo("loginId", loginId); userQuery.addWhereEqualTo("password", password); userQuery.findObjects(this, new FindListener
() { @Override public void onError(int arg0, String arg1) { ToastUtils.toast(MainActivity.this, arg0 + "," + arg1 + " 登陆失败"); } @Override public void onSuccess(List
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();	}	}

源代码路径:

你可能感兴趣的文章
Spring IOC源码跟踪记录-基于XML
查看>>
运维笔记:zabbix的运用(1)安装过程
查看>>
第05课:服务注册与发现
查看>>
面试经验
查看>>
centos7安装node并升级
查看>>
用java做网站,java连接数据库并查询输出到页面
查看>>
jQuery-Ajax请求Json数据并加载在前端页面,附视频教程讲解!
查看>>
图像处理 - ImageMagick 简单介绍与案例
查看>>
Hadoop(一)Hadoop的介绍和安装前准备
查看>>
如何把百度网盘下载速度提高 100 倍,我推荐这个下载工具
查看>>
CentOS RabbitMQ安装
查看>>
小程序内置组件swiper,circular(衔接)使用小技巧
查看>>
JVM垃圾回收机制
查看>>
node结合swig渲染摸板实现前后端不分离
查看>>
聊聊springcloud的featuresEndpoint
查看>>
厉害了,蚂蚁金服!创造了中国自己的数据库OceanBase(下)
查看>>
require源码阅读
查看>>
事务 - Saga模式
查看>>
segmentfault APP改版之后超级不好用
查看>>
【GIT】常见使用GIT的出现的问题 - 进阶篇
查看>>