您的位置:首页 > 移动开发 > Android开发

使用Bmob ---数据服务(提交数据,查询数据)

2015-12-27 16:53 696 查看
1.在Bmob官方网站的下载界面中,选择下载AndroidSDK,将下载的zip压缩包进行解压,得到bmobPush_版本号.jar,然后将它放在你项目根目录下的"libs"目录中。

2.在您的应用程序AndroidManifest.xml文件中添加相应的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_LOGS" />


3.初始化BmobSDK,在应用程序启动的Activity的onCreate()方法中初始化Bmob功能。代码如下所示:

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// 初始化 Bmob SDK
// 使用时请将第二个参数Application ID替换成你在Bmob服务器端创建的Application ID
Bmob.initialize(this, "Your Application ID");
}
}


4.新建一个Feedback.java文件。
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;
}

}


5.开始写布局文件activity_main.xml,这里已经写好了上传和查询/查询全部的控件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="19dp"
android:ems="10" />

<EditText
android:id="@+id/feedback"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
and
4000
roid:layout_below="@+id/name"
android:ems="10"
android:lines="2" >

<requestFocus />
</EditText>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button"
android:layout_alignBottom="@+id/button"
android:layout_alignParentRight="true"
android:layout_marginRight="44dp"
android:onClick="Query"
android:text="Query All" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/feedback"
android:layout_marginLeft="58dp"
android:layout_marginTop="20dp"
android:onClick="Submit"
android:text="Submit" />

<EditText
android:id="@+id/query_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button"
android:layout_marginLeft="15dp"
android:layout_marginTop="53dp"
android:ems="10" />

<Button
android:id="@+id/query_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/query_et"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:onClick="QueryFeedback"
android:text="Query FeedBack" />

</RelativeLayout>


6.开始写MainActivity.java,所有的操作都是基于JavaBean,即BmobObject。

public class MainActivity extends Activity {
private EditText mName;
private EditText mFeedback;
private EditText mQuery;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bmob.initialize(this, "0f83bf800fee187180e4191c4daecd68");
mName = (EditText) findViewById(R.id.name);
mFeedback = (EditText) findViewById(R.id.feedback);
mQuery = (EditText) findViewById(R.id.query_et);
}
<span style="white-space:pre">	</span>//查询某行数据
public void QueryFeedback(View view) {
String str = mQuery.getText().toString();
if (str.equals("")) {
return;
}

BmobQuery<Feedback> query = new BmobQuery<Feedback>();
query.addWhereEqualTo("name", str);//传进字段名和需要的查询的名字
query.findObjects(MainActivity.this, new FindListener<Feedback>() {

@Override
public void onError(int arg0, String arg1) {

}

@Override
public void onSuccess(List<Feedback> feedbacks) {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("");
String str="";
for (Feedback feedback : feedbacks) {
str+=feedback.getFeedback()+"\n";
}
builder.setMessage(str);
builder.create().show();
}
});
}
<span style="white-space:pre">	</span>//查询所有数据
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) {
AlertDialog.Builder builder = new AlertDialog.Builder(
MainActivity.this);
builder.setTitle("");
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

}
});
}
<span style="white-space:pre">	</span>//提交数据
public void Submit(View view) {
String name = mName.getText().toString();
String feedback = mFeedback.getText().toString();
if (name.equals("") || feedback.equals("")) {
return;
}
Feedback fb = new Feedback();
fb.setName(name);
fb.setFeedback(feedback);
fb.save(MainActivity.this, new SaveListener() {

@Override
public void onSuccess() {
Toast.makeText(MainActivity.this, "提交成功", Toast.LENGTH_SHORT)
.show();
}

@Override
public void onFailure(int arg0, String arg1) {
Toast.makeText(MainActivity.this, "提交失败", Toast.LENGTH_SHORT)
.show();
}
});
}
}

在上述代码的提交数据模块中,JavaBean调用了set方法,并将相应的值传递给对象,然后通过调用BmobObject的save()方法来讲相应的值提交给服务器。同时,通过saveListener()返回两个回调方法,成功和失败。

在查询模块中,点击查询按钮后,通过调用BmobQuery对象中的findObjects()方法查询所有的数据,在查询成功后,系统回调onSuccess()方法,将查询结果赋值到feedbacks参数中。其中,在这个查询结果中,遍历feedbacks,取出Name和Feedback,显示在Dialog里面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Bmob