关于第三方云服务平台Bmob是怎样使用的?我们从两个方面来写,一个是传输数据,一个是传输文件。
第一个是关于bmob传输数据的,首先我们在官网http://www.bmob.cn/上面注册我们自己的账号,在这里笔者已经注册好了,并且申请了属于自己的一个应用。
然而重点其实是这个:
我们的目的是拿到这个平台分配给我们的appid 有了这个才能继续下一步的进行。然后我们在eclipse中新建项目,这个应该不用笔者赘述了吧。
第一步,将sdk下载下来,并入eclipse中,在http://www.bmob.cn/downloads这里下载,选择安卓的就行了,然后勇敢的下载下来,并入eclipse中,就是这样:
这个不懂可以去百度,很简单,然后就是初始化了。
第二步,初始化bmob,在MainActivity中,初始化需要APPID,就是刚才注册然后申请的那个,记得把它拷过来,初始化就像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bmob.initialize(MainActivity.this, "267ef22e7f2a44fee01869204b25da3f");
initView();
initListener();
// initData();
}
重要的其实只有这一行
Bmob.initialize(MainActivity.this, "267ef22e7f2a44fee01869204b25da3f"); 第二个参数就是你的APPID,这样就初始化完了。
第三步,进行数据分装,在这里需要建一个bean类,来封装我们的对象属性,就像这样:
public class FeedBack extends BmobObject {
private String name;
private String feedback;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFeedback() {
return feedback;
}
public void setFeedback(String feedback) {
this.feedback = feedback;
}
}
这个bean类是继承bmobobject,其实后面我们知道,这个类就是封装在bmob中数据库的字段。
第四步,进行数据的输入和提交,我给demo加入了两个edittext,也就是对应bean里的两个对象属性,然后进行提交,就像这样:
public void submit(View view) {
String name = mName.getText().toString();
String feedback = mFeedBack.getText().toString();
if (name.equals("") || feedback.equals("")) {
return;
}
FeedBack feedbackobj = new FeedBack();
feedbackobj.setName(name);
feedbackobj.setFeedback(feedback);
feedbackobj.save(MainActivity.this, new SaveListener() {
@Override
public void onSuccess() {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "submit success!", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int arg0, String arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "submit failure!", Toast.LENGTH_SHORT).show();
}
});
}
这里的submit是在xml中直接给按钮的点击方法,所以如果调用成功,则会显示submit success!,然后我们在上传成功后查看bmob的数据浏览,就是这个:
左边点击数据浏览一行,然后出现的右边就是相应的数据表,当然,这里是之后的表,以前的表被笔者删除了,然后点击对应的表,能查看刚才上传的数据以及上传的时间,就像这样:
并且能够进行相关的数据库操作。
然后我们来说一下查询功能:
查询也很简单,创建BmobQuery方法后直接调用查询方法就可以了,比如这样:
public void query(View view) {
BmobQuery<FeedBack> query = new BmobQuery<FeedBack>();
query.findObjects(MainActivity.this, new FindListener<FeedBack>() {
@Override
public void onSuccess(List<FeedBack> feedBacks) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Query");
String str="";
for (FeedBack feedBack : feedBacks) {
str += feedBack.getName() + ":" + feedBack.getFeedback() + "\n";
}
builder.setMessage(str);
builder.create().show();
}
@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
}
});
}
这里是查询所有表中的数据,如果想要查询其中某一个数据怎么办?也很简单,跟其他数据库语言操作一样,在其中加入限制条件就行了,比如这个:
public void queryName(View view) {
String nameQuery = mNameQuery.getText().toString();
if (nameQuery.equals("")) {
return;
}
BmobQuery<FeedBack> query = new BmobQuery<FeedBack>();
query.addWhereEqualTo("name", nameQuery);
query.findObjects(MainActivity.this, new FindListener<FeedBack>() {
@Override
public void onSuccess(List<FeedBack> feedBacks) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Query");
String str="";
for (FeedBack feedBack : feedBacks) {
str += feedBack.getName() + ":" + feedBack.getFeedback() + "\n";
}
builder.setMessage(str);
builder.create().show();
}
@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "用户不存在谢谢", Toast.LENGTH_SHORT).show();
}
});
}
其中加入了一行
query.addWhereEqualTo();这个方法直接限定查找条件,笔者测试成功了。
好了,到这里,bmob平台的基础的上传数据和查询数据都已经说了,不明白的欢迎来评论里讨论哈~