Android-Bmob云存储数据

本文介绍了如何在Android中使用Bmob云存储进行数据操作。包括注册Bmob账号、创建应用、下载SDK、集成SDK到Android项目、设置Java Build Path以及创建反馈实体类页面,实现数据的添加和查询功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标效果:

     

根据提示输入name和feedback,点击提交,会提示保存成功,点击查询所有数据,会使用对话框弹出表中所有信息,输入name点击查询单挑数据,可以查询指定数据。


1.首先在bmob.cng官网进行注册,注册后进入后台,点击左上角创建应用。


2.创建好应用后,点击应用名称,选择设置,可以看到四个id。


3.打开下载页面,下载SDK。


4.下载好SDK后解压,会发现有两个文件夹,一个是libs,一个是Demo,libs中的所有文件复制到Android项目libs文件夹中。


5.右击Android项目,选择Properties-Java Build Path-Libraries,点击Add JARs...,加入刚才添加到libs文件夹中的四个jar包。


6.SDK设置完毕,开始编写代码。


7.新建feedback.java页面作为实体类页面,程序运行会在bmob服务器中新建该实体类对应的数据表。

package com.example.bean;

import cn.bmob.v3.BmobObject;

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;
	}
	
}


8.activity_main.xml页面设置输入和查询布局。
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" >

    <Button
        android:id="@+id/QueryOne"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/QueryAll"
        android:layout_alignParentBottom="true"
        android:onClick="queryOneData"
        android:layout_marginBottom="40dp"
        android:text="查询单条记录" />

    <EditText
        android:id="@+id/query_et"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/QueryOne"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="26dp"
        android:hint="name"
        android:ems="10" />

    <Button
        android:id="@+id/submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/query_et"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="93dp"
        android:onClick="submit"
        android:text="提交" />

    <EditText
        android:id="@+id/feedback"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/name"
        android:ems="10"
        android:hint="Feedback"
        android:lines="3" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/QueryAll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/query_et"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="18dp"
        android:onClick="queryData"
        android:text="查询全部记录" />

    <EditText
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:hint="Your Name" />

</RelativeLayout>


9.MainActivity.java页面进行保存和查询数据。
MainActivity.java页面:
package com.example.bmobtest;

import java.util.List;

import com.example.bean.feedback;

import cn.bmob.push.BmobPush;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobInstallation;
import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.listener.FindListener;
import cn.bmob.v3.listener.SaveListener;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import android.app.Activity;
import android.app.AlertDialog;

public class MainActivity extends Activity {

	
	private EditText mName,mFeedback,mQuery;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		Bmob.initialize(this,"8ef8a4752f48682eadb32d3c8c8e398f");   //加载Bmob SDK,参数为bmob服务器中新建应用的Application ID
		mName=(EditText) findViewById(R.id.name);
		mFeedback=(EditText) findViewById(R.id.feedback);
		mQuery=(EditText) findViewById(R.id.query_et);
	}
	
	//提交数据
	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() {
				Toast.makeText(MainActivity.this,"submit success",Toast.LENGTH_SHORT).show();
			}
			
			@Override
			public void onFailure(int arg0, String arg1) {
				Toast.makeText(MainActivity.this,"submit failure",Toast.LENGTH_SHORT).show();
				
			}
		});
	}
	
	//查询所有数据
	public void queryData(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);  //定义dialog,显示查询信息
				builder.setTitle("Query");
				String str="";   //存储查询结果
				for(feedback feed:feedbacks)
					str+=feed.getName()+","+feed.getFeedback()+"\n";
				builder.setMessage(str);
				builder.create().show();
			}
			
			@Override
			public void onError(int arg0, String arg1) {
			}
		});
	}
	
	//查询单条数据
	public void queryOneData(View view){
		String str=mQuery.getText().toString();
		if(str.equals(""))
			return;
		BmobQuery<feedback> query=new BmobQuery<feedback>();
		query.addWhereEqualTo("name",str);   //条件查询,传进去要查询的name
		query.findObjects(MainActivity.this,new FindListener<feedback>() {
			@Override
			public void onSuccess(List<feedback> feedbacks) {
				AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);  //定义dialog,显示查询信息
				builder.setTitle("Query");
				String str="";   //存储查询结果
				for(feedback feed:feedbacks)
					str+=feed.getName()+","+feed.getFeedback()+"\n";
				builder.setMessage(str);
				builder.create().show();
			}
			
			@Override
			public void onError(int arg0, String arg1) {
			}
		});
		
		
	}
}


10.AndroidManifest.xml页面添加以下权限。
<!-- 允许联网 -->
    <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" />


11.打开服务器进入数据库,可以发现新建了一张表,并且数据成功添加。


12.运行就可以显示目标效果了。
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值