您的位置:首页 > 其它

Bmob的简单应用 --- HelloWorld

2016-06-07 15:59 519 查看
后端的问题的确很令Android开发者烦恼,Bmob后端云提供的解决方案不错,加上最近要做关于后端的,先写个Demo试下.

Bmob SDK配置

关于注册之类的就不说了,直接去官网吧,从SDK的配置开始看.

使用工具 : Android Studio

Bmob版本 : v3.4.7

先引入Maven 仓库,在AllProject中

allprojects {
repositories {
jcenter()
maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
}
}


配置依赖

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
// v3.4.7只要配置这个就可以,之前版本需要okhttp
compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'
}


声明权限

<!--允许联网 -->
<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" />


MainActivity 中初始化Bmob

// 初始化Bomb(使用默认的方式)
Bmob.initialize(this, "887fb8cdafa392424a938a99673a2088"); // 你的App ID


还有另外一种配置方式

* 自v3.4.7版本开始,设置BmobConfig,允许设置请求超时时间、文件分片上传时每片的大小、文件的过期时间(单位为秒),*

BmobConfig config =new BmobConfig.Builder(this)
//设置appkey
.setApplicationId("Your Application ID")
//请求超时时间(单位为秒):默认15s
.setConnectTimeout(30)
//文件分片上传时每片的大小(单位字节),默认512*1024
.setUploadBlockSize(1024*1024)
//文件的过期时间(单位为秒):默认1800s
.setFileExpiration(2500)
.build();
Bmob.initialize(config);


创建一个JavaBean

public class Person extends BmobObject {
private String name;
private String address;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}


插入和查找数据

查找数据根据ObjectId进行

完整的Activity

public class MainActivity extends AppCompatActivity {

private TextView mTvState;
private TextView mTvResult;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTvState = (TextView) findViewById(R.id.id_tv_state);
mTvResult = (TextView) findViewById(R.id.id_tv_result);
// 初始化Bomb(使用默认的方式)
Bmob.initialize(this, "887fb8cdafa392424a938a99673a2088");
// 添加一个数据
final Person p = new Person();
p.setName("yangtr");
p.setAddress("hebust");
// 添加Person
p.save(this, new SaveListener() {
@Override
public void onSuccess() {
mTvState.setText("添加数据成功,返回objectId为:" + p.getObjectId());

}

@Override
public void onFailure(int i, String s) {
mTvState.setText("数据添加失败 MSG:" + s);
}
});

// 查询操作
final BmobQuery<Person> bmob = new BmobQuery<>();
bmob.getObject(this, "76b77745d6", new GetListener<Person>() {
@Override
public void onSuccess(Person person) {

mTvResult.setText("查询成功"+person.getName());
}

@Override
public void onFailure(int i, String s) {
mTvResult.setText("查询失败");
}
});
}
}


其他操作

其他操作与上面类似,使用update 更新,delete删除等,都可以通过回调方法实现相应的处理.

Bmob后端会插入数据



实现效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: