前一阶段看徐宜生写的Android群英传里面介绍的搭建云端服务器,那个时候自己不懂,加上有其他的学习,就没有深入,但是这两天找了资料研究了一下,读了官方文档,感觉挺不错的,服务端不用自己搭建了。(听说集成了好多东西,可以聊天、支付、分享、注册什么的)那就自己模拟一下注册登录吧。
环境搭建
第一步:首先去Bmob官网注册自己的账号,创建自己的项目,获取到自己的专属AppLication ID,这个在初始化的时候需要用到的。
注册完成并且创建好项目后,点击设置,就会看到这个,在这里可以获取到用于初始化的AppLication ID
第二步:下载需要的sdk,然后把下载好的sdk里面的BmobSDK_V3.4.5_1111.jar这个文件放到libs目录下面(解压出来的有四个,我这里没有用到其他的三个,有用到的可以一起放到libs目录下),然后右键选择Add library,点击确定即可。这里提供官方集成文档地址,关于集成和介绍,官方写的很详细:http://docs.bmob.cn/android/developdoc/index.html?menukey=develop_doc&key=develop_android
第三步:既然项目已经创建,需要的资源也已经搭建好,开始我们的工作了,我先说下,这里我们需要以下的几个文件,LoginActivity(登录) RegisterActivity(注册) MAinInfoActivity(登录成功返回的信息) User(用户信息bean)
其实很简单,在这里我直接上代码,因为Bmob已经为我们写好了后台,对于数据库的增删改查都已经封装好了,我们只是简单的调用就行(必要的解释我写在注释里面)
User.java:
public class User extends BmobUser {
//这个BmobFile是特有的,我们可以用来上传我们的图片(头像资源)
private BmobFile icon;
public BmobFile getIcon() {
return icon;
}
public void setIcon(BmobFile icon) {
this.icon = icon;
}
}
LoginActivity.java:
package com.example.wuyinlei.mybomb;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobUser;
import cn.bmob.v3.listener.SaveListener;
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private EditText etusername;
private EditText etpassword;
private Button login;
private Button sign;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//这里的AppLication ID 写上自己创建项目得到的那个AppLication ID
Bmob.initialize(this, "Application ID");
initialize();
initView();
}
private void initView() {
}
private void initialize() {
etusername = (EditText) findViewById(R.id.et_username);
etpassword = (EditText) findViewById(R.id.et_password);
login = (Button) findViewById(R.id.login);
login.setOnClickListener(this);
sign = (Button) findViewById(R.id.sign);
sign.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.login:
final String username = etusername.getText().toString();
String password = etpassword.getText().toString();
if (!TextUtils.isEmpty(username) && !TextUtils.isEmpty(password)){
final BmobUser bmobUser = new BmobUser();
bmobUser.setUsername(username);
bmobUser.setPassword(password);
bmobUser.login(LoginActivity.this, new SaveListener() {
@Override
public void onSuccess() {
//获取到当前用户的信息
User user = BmobUser.getCurrentUser(LoginActivity.this,User.class);
Intent intent = new Intent(LoginActivity.this,MainInfoActivity.class);
intent.putExtra("user",use