当前位置: 代码迷 >> Android >> Android之Bmob腾挪云服务(一)
  详细解决方案

Android之Bmob腾挪云服务(一)

热度:90   发布时间:2016-04-28 01:06:10.0
Android之Bmob移动云服务(一)

没有口水与汗水,就没有成功的泪水。


本讲内容:Bmob移动云服务


一、Bmob的使用步骤

1在你的项目根目录下创建"libs"目录,将下载的BmobSDK文件中的两个.jar文件放入该目录下。

对于Eclipse工程,请参照下面的步骤添加jar包:

1. 选择你的工程,单击鼠标右键选择“Properties”项

2. 在弹出的窗口中选择“Java Build Path”项

3. 在右侧的主窗体中选择“Libraries”选项卡

4. 点击“Add JARs…”按钮

5. 选择你拷贝到libs目录下的Bmob.jar文件

6. 点击“OK”完成


2、在您的应用程序中添加相应的权限:

  <!-- Bmob SDK权限 -->    <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、在你的应用程序启动的ActivityonCreate()方法中初始化Bmob功能

 // 初始化 Bmob SDK ,并将第二个参数appKey替换成你在Bmob服务器端创建的应用key    Bmob.initialize(this, "14fcb34593937578a18862a1b33f29a1");



示例一:Bmob 增删改查

  

运行应用程序后,一个新的对象类Person将会传送到我们的服务器,并在您的应用表中创建Person数据表,它在Bmob服务器端应该是这样展示的:

下面是res/layout/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"    android:background="@drawable/bg" >    <EditText        android:id="@+id/id_name"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:gravity="center"        android:hint="input name" />    <EditText        android:id="@+id/id_address"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/id_name"        android:layout_marginTop="20dp"        android:gravity="center"        android:hint="input address"        android:lines="2" />    <Button        android:id="@+id/id_submit"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/id_address"        android:layout_centerHorizontal="true"        android:layout_marginTop="20dp"        android:minWidth="100dp"        android:onClick="submit"        android:text="Submit" />    <Button        android:id="@+id/id_queryAll"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/id_submit"        android:layout_centerHorizontal="true"        android:layout_marginTop="20dp"        android:minWidth="100dp"        android:onClick="queryAll"        android:text="Query all" />    <EditText        android:id="@+id/id_queryName"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/id_queryAll"        android:layout_marginTop="20dp"        android:gravity="center"        android:hint="input name"        android:minWidth="200dp" />    <Button        android:id="@+id/id_queryPerson"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_below="@id/id_queryAll"        android:layout_marginTop="20dp"        android:minWidth="150dp"        android:onClick="queryPerson"        android:text="Query person" />    <EditText        android:id="@+id/id_updateAddress"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/id_queryPerson"        android:layout_marginTop="20dp"        android:gravity="center"        android:hint="input address"        android:minWidth="200dp" />    <Button        android:id="@+id/id_update"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_below="@id/id_queryPerson"        android:layout_marginTop="20dp"        android:minWidth="150dp"        android:onClick="update"        android:text="Update" />    <Button        android:id="@+id/id_delete"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/id_update"        android:layout_centerHorizontal="true"        android:layout_marginTop="20dp"        android:minWidth="100dp"        android:onClick="delete"        android:text="Delete" /></RelativeLayout>


下面是Person.java文件:(创建JavaBean)

/** * 使用Bmob存储数据(需extends BmobObject) Person 对应一张表 name 对应表中的字段名 address *  * @author Administrator * */public class Person extends BmobObject {	private String name;	private String address;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getAddress() {		return address;	}	public void setAddress(String address) {		this.address = address;	}}


下面是MainActivity.java主界面文件:

public class MainActivity extends Activity {	private EditText mName;	private EditText mAddress;	private EditText mQueryName;	private EditText mUpdateAddress;	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		 // 初始化 Bmob SDK ,并将第二个参数appKey替换成你在Bmob服务器端创建的应用key		Bmob.initialize(this, "14fcb34593937578a18862a1b33f29a1");				mName=(EditText) findViewById(R.id.id_name);		mAddress=(EditText) findViewById(R.id.id_address);		mQueryName=(EditText) findViewById(R.id.id_queryName);		mUpdateAddress=(EditText) findViewById(R.id.id_updateAddress);	}		/**	 * 添加数据	 * 通过Person对象提交数据到云服务中保存数据	 */	public void submit(View v){		String name=mName.getText().toString();		String address=mAddress.getText().toString();		if(name.equals("")||address.equals("")){			return;		}		//保存数据		Person p=new Person();		//传入Feedback对象(相当于在表中新增一条数据)		p.setName(name);		p.setAddress(address);		p.save(MainActivity.this,new SaveListener() {			public void onSuccess() {				Toast.makeText(MainActivity.this, "submit success", Toast.LENGTH_LONG).show();			}						public void onFailure(int code, String msg) {				Toast.makeText(MainActivity.this, "submit failure", Toast.LENGTH_LONG).show();			}		});	}		/**	 * 查询所有数据	 * @param v	 */	public void queryAll(View v){		BmobQuery<Person> query=new BmobQuery<Person>();		query.findObjects(MainActivity.this, new FindListener<Person>() {			public void onSuccess(List<Person> persons) {				AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);				builder.setTitle("Query");				String str="";				for(Person person : persons){					str+=person.getName()+":"+person.getAddress()+"\n";				}				builder.setMessage(str);				builder.create().show();			}						public void onError(int code, String msg) {							}		});	}		/**	 * 查询单条数据	 * @param v	 */	public void queryPerson(View v){		String str=mQueryName.getText().toString();		if(str.equals("")){			return;		}		BmobQuery<Person> query=new BmobQuery<Person>();		query.addWhereEqualTo("name", str);//增加条件		query.findObjects(MainActivity.this, new FindListener<Person>() {			public void onSuccess(List<Person> persons) {				AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);				builder.setTitle("Query");				String str="";				for(Person person : persons){					str+=person.getName()+":"+person.getAddress()+"\n";				}				builder.setMessage(str);				builder.create().show();			}						public void onError(int code, String msg) {							}		});	}		/**	 * 修改数据	 */	public void update(View v){		String str=mUpdateAddress.getText().toString();		if(str.equals("")){			return;		}				//更新Person表里面id为bce7d5e372的数据		Person p=new Person();		p.setAddress(str);		p.update(this, "bce7d5e372", new UpdateListener() {			public void onSuccess() {				Toast.makeText(MainActivity.this, "update success", Toast.LENGTH_LONG).show();			}						public void onFailure(int code, String msg) {				Toast.makeText(MainActivity.this, "update failure", Toast.LENGTH_LONG).show();			}		});	}		/**	 * 删除数据	 * @param v	 */	public void delete(View v){		Person p=new Person();		p.setObjectId("bce7d5e372");		p.delete(MainActivity.this, new DeleteListener() {			public void onSuccess() {				Toast.makeText(MainActivity.this, "delete success", Toast.LENGTH_LONG).show();			}						public void onFailure(int code, String msg) {				Toast.makeText(MainActivity.this, "update failure", Toast.LENGTH_LONG).show();			}		});	}	}


在AndroidMainfest.xml文件

<!-- Bmob SDK权限 -->    <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" />



Take your time and enjoy it 要原码的、路过的、学习过的请留个言,顶个呗~~
  相关解决方案