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

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"
        android: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里面。




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值