Android Bmob后端云—数据库、服务器!

Bmob后端云—数据库、服务器!

Bmob后端云简介获取应用密钥SDK导入配置AndroidManifest.xml数据库案例

简介

对于很多Android/ios/wp个人移动开发者来说,开发一个具有网络功能的应用不是一件容易的事,不仅需要购买/租赁服务器,还必须掌握一门诸如Java/.net/php这类的服务器开发语言,每开发一款移动应用程序,就必须开发维护对应的服务器程序。这一切对于移动开发者来说,都是一个冗长的噩梦。如何让移动开发者从繁琐的机械劳动中解脱出来,将更多精力投入到移动应用程序的创意研发,从而不断提升产品质量呢?Bmob移动应用云存储平台的诞生就很好地解决了以上难题。在Bmob平台上,您只需注册一个帐号,成功后申请创建任意多个数据库,获得对应的Key,下载对应版本的SDK并将其嵌入到移动应用中,便可以调用存取API,进行数据的任意操作。有了Bmob,您在5分钟内就可以学会如何开发一个云存储的移动应用软件,给应用软件快速添加一个安全灵活的后台管理系统,方便您浏览终端保存的各种信息。

获取应用密钥

1、注册Bmob账号,百度搜索进入官网注册即可。
2、进入我的控制台创建应用,输入名称和选择应用类型即可
Android Bmob后端云—数据库、服务器!
3、获取应用的密钥,点击进入刚创建的应用,点击设置,即可看到appID
Android Bmob后端云—数据库、服务器!
Android Bmob后端云—数据库、服务器!

Application ID:SDK初始化必须用到此密钥
REST API Key:REST API请求中HTTP头部信息必须附带密钥之一
Secret Key:是SDK安全密钥,不可泄漏,在云函数测试云函数时需要用到
Master Key:超级权限Key。应用开发或调试的时候可以使用该密钥进行各种权限的操作,此密钥不可泄漏

SDK导入

以Android studio为例
1、在 Project 的 build.gradle 文件中添加 Bmob的maven仓库地址,记得点击’Sync Now

maven {url 'https://dl.bintray.com/chaozhouzhang/maven' }

Android Bmob后端云—数据库、服务器!
2、在app的build.gradle文件中添加依赖文件,记得点击’Sync Now

android {    useLibrary 'org.apache.http.legacy'}

导入sdk和相关工具 如okhttp3是链接网络 gson是json格式解析的工具,之后等待下载完成

dependencies {
implementation 'cn.bmob.android:bmob-sdk:3.7.8'
implementation "io.reactivex.rxjava2:rxjava:2.2.8"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.squareup.okhttp3:okhttp:3.14.1'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'com.google.code.gson:gson:2.8.5' }

Android Bmob后端云—数据库、服务器!
配置需要细心,如配置不成功,百度其错误信息,很大可能为其他的配置问题。

配置AndroidManifest.xml

添加如下配置

<!--允许联网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--获取wifi网络状态的信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--获取sd卡写的权限,用于文件上传和下载-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许读取手机状态 用于创建BmobInstallation-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Android Bmob后端云—数据库、服务器!
之后再添加

<application>
···
<provider
android:name="cn.bmob.v3.util.BmobContentProvider"
android:authorities="你的应用包名.BmobContentProvider">
</provider>
···
</application>

Android Bmob后端云—数据库、服务器!

数据库案例

User类继承BmobObject 会在Bmob中建立一个名为User的表
有username和password其余为自动生成

Android Bmob后端云—数据库、服务器!

import cn.bmob.v3.BmobObject;

public class User extends BmobObject {
private String username;
private String password;

public String getName() {
return username;
}

public void setName(String name) {
this.username = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}

LoginActivity实现功能

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.QueryListener;
import cn.bmob.v3.listener.SaveListener;
import cn.bmob.v3.listener.UpdateListener;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private EditText Username;
private EditText Passwors;
private TextView Delete;
private Button Login;
private Button Add;
private String mobjectId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Bmob.initialize(this,"cee31a21a023cdb9*************"); //初始化
Username = findViewById(R.id.et_username);
Passwors = findViewById(R.id.et_password);
Delete = findViewById(R.id.tv_delete);
Login = findViewById(R.id.bt_login);
Add = findViewById(R.id.bt_add);
Username.setOnClickListener(this);
Passwors.setOnClickListener(this);
Delete.setOnClickListener(this);
Login.setOnClickListener(this);
Add.setOnClickListener(this);

}

@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.bt_login:
find(mobjectId);
break;
case R.id.tv_delete:
remove(mobjectId);
break;
case R.id.bt_add:
add();
break;
}
}
//增
private void add() {
User user = new User();
user.setName(Username.getText().toString());
user.setPassword(Passwors.getText().toString());
user.save(new SaveListener<String>() {
@Override
public void done(String objectId,BmobException e) {
if(e==null){
mobjectId = objectId;
Toast.makeText(LoginActivity.this,"注册成功!",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(LoginActivity.this,"注册失败!",Toast.LENGTH_LONG).show();
}
}
});
}
//删
private void remove(String objectId) {
User user = new User();
user.setObjectId(objectId);
user.delete(new UpdateListener() {

@Override
public void done(BmobException e) {
if(e==null){
Toast.makeText(LoginActivity.this,"删除成功!",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(LoginActivity.this,"删除失败!",Toast.LENGTH_LONG).show();
}
}

});
}

//查
private void find(String objectId) {
BmobQuery<User> bmobQuery = new BmobQuery<User>();
bmobQuery.getObject(objectId, new QueryListener<User>() {
@Override
public void done(User user, BmobException e) {
//假如能找到,异常为空
if (e == null && user.getPassword().equals(Passwors.getText().toString())){
Toast.makeText(LoginActivity.this,"登陆成功!",Toast.LENGTH_LONG).show();
}
//假如找不到,抛出异常
else Toast.makeText(LoginActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
}
});
}
}

简单的布局

<?xml version="1.0" encoding="utf-8"?>

<EditText
android:id="@+id/et_username"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:hint="username"
/>
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="password"
/>
<TextView
android:id="@+id/tv_delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注销"
android:gravity="end"
/>
<Button

android:id="@+id/bt_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:text="登录"
android:background="#5168E4"
/>
<Button
android:id="@+id/bt_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="注册"
android:background="#5168E4"
android:layout_marginTop="5dp"
/>

Android Bmob后端云—数据库、服务器!
实现效果图
Android Bmob后端云—数据库、服务器!

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Android Bmob后端云—数据库、服务器!

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Android Bmob后端云—数据库、服务器!
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏