android中bmob云存储,Android中的Bmob移动后端云服务器功能

PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己用servlet作为服务端来实现过滤没有注册过的用户,但是太麻烦,而且不是随时都可以用的。这里介绍一个移动后端云服务器平台bmob,这不仅可以实现云数据库储存,还可以获取手机验证等,随时随地都很轻松,下面写一个小demo,实现一个登陆注册功能,认识增删查改。下面我稍微写一个例子,简单实现注册登录功能。

1:首先到bmob官网,注册一个账号,里面创建一个项目,如图:

6f36f50bd35cf07774c1f913e451e804.png

9477588c14e6fa6a2490287e50ec4c79.png

2:创建一个android项目,(AndroidStudio)

(1):添加依赖:在app下的build.gradle中添加

compile 'cn.bmob.android:bmob-sdk:3.4.6'

compile 'com.squareup.okhttp:okhttp:2.4.0'//CDN文件服务使用okhttp相关包进行文件的上传和下载(必填)

compile 'com.squareup.okio:okio:1.4.0'

sourceSets {

main.jniLibs.srcDirs = ['libs']

}

useLibrary 'org.apache.http.legacy'

位置如图:

f583f78b138ea5ee12efc14b81d70ca1.png

(2)添加权限:

(3):添加maven,到指定的云库

807a49faeebbfc4a099717e7788059b7.png

(4:)初始化:

a7d52fdea1cd816a044b6b092ee173d2.png

Bmob.initialize(this,"你的 应用ID");

3:下面就是代码了

写一个实体类person,

package cn.day1.model;

import cn.bmob.v3.BmobObject;

/**

* Created by CMusketeer on 17/10/22.

*/

public class Person extends BmobObject {

private String name;

private String password;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

写三个布局,分别是注册页面,登录页面,登录成功跳转的页面

activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="cn.day1.bmobtest1.MainActivity">

android:gravity="center"

android:textSize="20dp"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="登录" />

android:id="@+id/id_username"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="username"/>

android:id="@+id/id_userpassword"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="password" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/id_ok"

android:layout_width="0dp"

android:text="登录"

android:layout_height="wrap_content"

android:layout_weight="1"/>

android:id="@+id/id_register"

android:text="注册"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1" />

注册页面:register_layout.xml,先把各页面都写了,后续就好办了。

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="cn.day1.bmobtest1.MainActivity">

android:gravity="center"

android:textSize="20dp"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="注册中心" />

android:id="@+id/id_register_username"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="username"/>

android:id="@+id/id_register_userpassword"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="password" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/id_register_ok"

android:text="注册"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1" />

登录成功页面:success.xml

android:layout_width="match_parent"

android:layout_height="match_parent">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="成功登录"

android:gravity="center"

android:textSize="50dp"/>

注册Activity,RegisterActivity.java  功能:增

这里是一个简单的注册,里面没有加判断,所以,一个号可以重复注册,但是只有唯一ID。

package cn.day1.bmobtest1;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

import cn.bmob.v3.listener.SaveListener;

import cn.day1.model.Person;

/**

* Created by CMusketeer on 17/10/22.

*/

public class RegisterActivity extends Activity {

private TextView register_user;

private TextView register_password;

private Button register_ok;

private Person p2;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.register_layout);

addControl();//加载控件

addRegisterShow();//注册方法

}

private void addRegisterShow() {

register_ok.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

final String rUser=register_user.getText().toString().trim();

String rPassword=register_password.getText().toString().trim();

//判断用户名和密码是否为空,如果为空则不能进去。

if(rUser.length()>0&&rPassword.length()>0){

p2 = new Person();

p2.setName(rUser);

p2.setPassword(rPassword);

//插入方法

p2.save(RegisterActivity.this, new SaveListener() {

@Override

public void onSuccess() {

// TODO Auto-generated method stub

register_password.setText("");

register_user.setText("");

Toast.makeText(RegisterActivity.this, "添加数据成功,返回objectId为:" + p2.getObjectId(), Toast.LENGTH_SHORT).show();

}

@Override

public void onFailure(int code, String msg) {

// TODO Auto-generated method stub

Toast.makeText(RegisterActivity.this, "创建数据失败:" + msg, Toast.LENGTH_SHORT).show();

}

});

}else{

Toast.makeText(RegisterActivity.this, "用户名或者密码不能为空", Toast.LENGTH_SHORT).show();

}

}

});

}

private void addControl() {

register_user = (TextView) findViewById(R.id.id_register_username);

register_password = (TextView) findViewById(R.id.id_register_userpassword);

register_ok = (Button) findViewById(R.id.id_register_ok);

}

}

登录页面:MainActivity.java   功能:查

package cn.day1.bmobtest1;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

import java.util.List;

import cn.bmob.v3.Bmob;

import cn.bmob.v3.BmobQuery;

import cn.bmob.v3.listener.FindListener;

import cn.day1.model.Person;

public class MainActivity extends AppCompatActivity {

private Person p2;

private TextView lgUser;

private TextView lgPassword;

private Button btn_ok;

private Button btn_rg;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Bmob.initialize(this, "你的 应用id");

setContentView(R.layout.activity_main);

addControl();

addLogin();

}

private void addLogin() {

btn_rg.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(MainActivity.this,RegisterActivity.class);

startActivity(intent);

}

});

btn_ok.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

BmobQuery query=new BmobQuery();

query.findObjects(MainActivity.this,new FindListener(){

String lgU=lgUser.getText().toString().trim();

String lgp=lgPassword.getText().toString().trim();

int panduan=1;

@Override

public void onSuccess(List list) {

for(int i=0;i

String name=list.get(i).getName();

String password=list.get(i).getPassword();

Log.e("user","唯一 id:"+list.get(i).getObjectId()+"----"+name+"---"+password);

if(name.equals(lgU) && password.equals(lgp)){

Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();

panduan=2;

//成功后panduan等于2,则跳出该循环,并且把输入快都清空,跳转到指定页面

lgUser.setText("");

lgPassword.setText("");

Intent intent=new Intent(MainActivity.this,Success.class);

startActivity(intent);

break;

}

}

if(panduan==1){

Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show();

}

}

@Override

public void onError(int i, String s) {

}

});

}

});

}

private void addControl() {

lgUser = (TextView) findViewById(R.id.id_username);

lgPassword = (TextView) findViewById(R.id.id_userpassword);

btn_ok = (Button) findViewById(R.id.id_ok);

btn_rg = (Button) findViewById(R.id.id_register);

}

}

登录成功页面 Success.java

package cn.day1.bmobtest1;

import android.app.Activity;

import android.os.Bundle;

/**

* Created by CMusketeer on 17/10/22.

*/

public class Success extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.success);

}

}

总结:

唯一id的获取可以通过用户名来获取,当用户输入用户名时,只要数据库中用户名和输入的一致,则就可以list.get(i).getObjectId()

处理增删查改

增:

person = new Person();

person.setName(user);

person.setAddress(password);

person.save(new SaveListener() {

@Override

public void done(String s, BmobException e) {

if(e == null){

Toast.makeText(MainActivity.this, "成功", Toast.LENGTH_SHORT).show();

}

else{

}

}

});

Id可以通过查处所有的,从而得到id

id=list.get(i).getObjectId();

person = new Person();

person.delete(id, new UpdateListener() {

@Override

public void done(BmobException e) {

if(e==null){

Log.e("sss","删除成功"); }

}

});

查 :和上面的查不大一样,这也是一种方法

//查询所有,

query.findObjects(new FindListener() {

@Override

public void done(List list, BmobException e) {

}}

//查询单个

query.getObject(id,new listener)

person.setName(“111”);

person.update(id,new UpdateListener() {

@Override

public void done(BmobException e) {

if(e==null){

// Toast.makeText(MainActivity.this, "更改成功", Toast.LENGTH_SHORT).show();

Log.e("sss","更改成功");

}

}

效果图:

f96ff2d1d8b43a6d02db7b7adaf4e780.png

dc2f8a8d66f8f1818a8fcedb370024aa.png

410a22d1e9874646f0cbeaaad8e2b030.png

总结

以上所述是小编给大家介绍的Android中的Bmob移动后端云服务器功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值