使用Bmob ---数据服务(提交数据,查询数据)
2015-12-27 16:53
696 查看
1.在Bmob官方网站的下载界面中,选择下载AndroidSDK,将下载的zip压缩包进行解压,得到bmobPush_版本号.jar,然后将它放在你项目根目录下的"libs"目录中。
2.在您的应用程序AndroidManifest.xml文件中添加相应的权限:
3.初始化BmobSDK,在应用程序启动的Activity的onCreate()方法中初始化Bmob功能。代码如下所示:
4.新建一个Feedback.java文件。
5.开始写布局文件activity_main.xml,这里已经写好了上传和查询/查询全部的控件。
6.开始写MainActivity.java,所有的操作都是基于JavaBean,即BmobObject。
在上述代码的提交数据模块中,JavaBean调用了set方法,并将相应的值传递给对象,然后通过调用BmobObject的save()方法来讲相应的值提交给服务器。同时,通过saveListener()返回两个回调方法,成功和失败。
在查询模块中,点击查询按钮后,通过调用BmobQuery对象中的findObjects()方法查询所有的数据,在查询成功后,系统回调onSuccess()方法,将查询结果赋值到feedbacks参数中。其中,在这个查询结果中,遍历feedbacks,取出Name和Feedback,显示在Dialog里面。
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里面。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories