移动后端云平台Bmob介绍

对于移动端的独立开发者来说,最痛苦的事情莫过于搭建后台服务器。没有基础的还得从头学起,有技术的又要搭建维护后台,非常麻烦。而移动后端云平台的出现,简直是每个独立开发者的福音,它可以免费提供论文服务器,有数据文件服务,还有社交功能等。国内主流的有友盟、极光推送,Bmob,AVOS Cloud等,下面介绍老少咸宜的Bmob

如何链接到Bmob的服务器开发文档都有,开发文档有没具体介绍的是文件下载功能。文件下载,首先是通过数据查询获得

BmobFile对象 ,然后通过该对象的getFileUrl()方法获得下载链接,最后通过链接下载。下面是一个实现了添加数据、查询数据、文件上传、文件下载、推送功能的例子:

package com.example.bombexample;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONObject;

import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;

import cn.bmob.push.BmobPush;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobInstallation;
import cn.bmob.v3.BmobPushManager;
import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.datatype.BmobFile;
import cn.bmob.v3.listener.FindListener;
import cn.bmob.v3.listener.GetCallback;
import cn.bmob.v3.listener.GetListener;
import cn.bmob.v3.listener.SaveListener;
import cn.bmob.v3.listener.UploadFileListener;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

	private List<User> users=new ArrayList<User>();
	private HttpUtils httpUtils=null;
	BmobFile bmobFile =null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Bmob.initialize(this, "3b728750d1755e56dd680fa76c4a8386");

		  // 使用推送服务时的初始化操作
	    BmobInstallation.getCurrentInstallation(this).save();
	    // 启动推送服务
	    BmobPush.startWork(this, "3b728750d1755e56dd680fa76c4a8386");
	    httpUtils=new HttpUtils();

	}

	// 向服务期添加数据
	public void add(View view)
	{ 

		for(int i=0;i<10;i++)
		{
			User user=new User();
			user.setName("gaigai"+i);
			user.setPassword("hlb"+i);
			users.add(user);
		}

		for(final User user:users)
		{

			user.save(this, new SaveListener() {

				@Override
				public void onSuccess() {

					Toast.makeText(MainActivity.this, "添加数据成功"+user.getObjectId(), Toast.LENGTH_SHORT).show();
				}

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

					Toast.makeText(MainActivity.this, "添加数据失败", Toast.LENGTH_SHORT).show();

				}
			});
		}

	}

	// 查询服务器数据
	public void query(View view)
	{
		BmobQuery<User> query=new BmobQuery<User>();
		query.getObject(this,"f69efc2ca8",new GetListener<User>() {

			@Override
			public void onSuccess(User arg0) {

				Toast.makeText(MainActivity.this,
						arg0.getName()+" "+arg0.getPassword(), Toast.LENGTH_SHORT).show();

			}

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

			}
		});
	}

	// 查询服务器所有数据
	public void queryAll(View view)
	{
		BmobQuery<User> query=new BmobQuery<User>();
		query.findObjects(this, new FindListener<User>() {

			@Override
			public void onSuccess(List<User> arg0) {

				Toast.makeText(MainActivity.this, arg0.size()+"", Toast.LENGTH_SHORT).show();
			}

			@Override
			public void onError(int arg0, String arg1) {
				// TODO Auto-generated method stub

			}
		});

	}

	// 推送功能
	public void data_push(View view)
	{
		BmobPushManager bmobPush = new BmobPushManager(this);
		bmobPush.pushMessageAll("哈哈哈哈.");

	}

	// 文件上传
	public void upload(View v) throws IOException
	{
		InputStream in=getAssets().open("byx.jpg");
		File file=new File(Environment.getExternalStorageDirectory()+"/byx.jpg");
		if(!file.exists())
		{
			file.createNewFile();
		}

		FileOutputStream out=new FileOutputStream(file);
		int len=0;
		byte []buffer=new byte[1024];

		while((len=in.read(buffer))!=-1)
		{
			out.write(buffer, 0, len);
		}

		out.close();
		in.close();
		bmobFile = new BmobFile(file);
		bmobFile.upload(this, new UploadFileListener() {

			@Override
			public void onSuccess() {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this, bmobFile.getFileUrl(MainActivity.this)+"", Toast.LENGTH_SHORT).show();
				Log.i("Url", bmobFile.getFileUrl(MainActivity.this));
			}

			@Override
			public void onFailure(int arg0, String arg1) {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this, "上传文件失败", Toast.LENGTH_SHORT).show();
			}
		});

	}

	// 文件下载

	public void download(View v)
	{
		BmobQuery<Test> query=new BmobQuery<Test>();
		query.getObject(this, "nt7rAAAG", new GetListener<Test>() {

			@Override
			public void onSuccess(Test arg0) {

				arg0.getThumbnail().getFileUrl(MainActivity.this);
				Log.i("url",arg0.getThumbnail().getFileUrl(MainActivity.this));
				downloadPic(arg0.getThumbnail().getFileUrl(MainActivity.this),arg0.getThumbnail().getFilename());
			}

			@Override
			public void onFailure(int arg0, String arg1) {
				// TODO Auto-generated method stub

			}
		});

	}

	public void downloadPic(String url,String filename)
	{
		httpUtils.download(url, Environment.getExternalStorageDirectory()+"/"+filename, new RequestCallBack<File>() {

			@Override
			public void onSuccess(ResponseInfo<File> responseInfo) {
				Log.i("download","文件存储路径"+responseInfo.result.getPath());
			}

			@Override
			public void onFailure(HttpException error, String msg) {
				// TODO Auto-generated method stub

			}
		});
	}
}

项目下载地址:http://download.csdn.net/detail/aehaojiu/8653135

时间: 2024-12-25 19:17:20

移动后端云平台Bmob介绍的相关文章

移动开发利器-Bmob后端云使用体验

转载请注明出处:http://blog.csdn.net/woshizisezise/article/details/51336907 曾经我很苦恼,我相信有很多移动开发者会面临和我一样的境况,那就是我们自己有能力开发一款app,做自己想做的事情,实现自己私下里那一点点梦想,但是移动端的开发离不开后台服务器的数据支持啊,否则就是单机版的app,那你觉得这种应用开发完成后上传到各大应用市场用户的反响好嘛?应该不会吧,现在的时代就是信息的时代,就是数据的时代,我们的用户需要从我们提供的app里面看到

Bmob移动后端云服务平台--Android从零开始--(二)android快速入门

Bmob移动后端云服务平台--Android从零开始--(二)android快速入门 上一篇博文我们简单介绍何为Bmob移动后端服务平台,以及其相关功能和优势.本文将利用Bmob快速实现简单例子,进一步了解它的强大之处. 一.准备工作 1.注册Bmob账号 在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的"注册",在跳转页面填入你的姓名.邮箱.设置密码,确认后到你的邮箱激活Bmob账户,你就可以用Bmob轻松开发应用了. 2.网站后台创

Bmob移动后端云服务平台--Android从零开始--(三)Bmob数据操作((批量)增删改)

Bmob移动后端云服务平台--Android从零开始--(三)Bmob数据操作((批量)增删改) 上篇文章简单的利用Bmob实现了用户注册与登录效果(http://blog.csdn.net/a123demi/article/details/42059621). 在项目中,对数据的操作脱离不了增删改查.Bmob其实也一样,他对数据操作的增删改查做了很好的封装,以及其批量的处理.本文将重点讲解利用Bmob实现Android端与Bmob服务端的数据操作,实现增加.修改.删除以及他们的批量处理. 源码

Bmob移动后端云服务平台--Android从零开始--(一)何为Bmob

Bmob移动后端云服务平台--Android从零开始--(一)何为Bmob 在正式的项目开发中,单客户端不能满足我们的需求,需要实现客户端与服务端的连接.而在编写Android服务端代码时,常常有很多问题困扰这我们.问题就来了,怎么能通过过简单的方式去实现我们复杂的流程呢?Bmob移动后端服务平台给我们创造了一个很好的后端平台.下面就让我们一起来了解和学习Bmob. 官网地址:http://www.bmob.cn/ Android SDK:http://www.bmob.cn/site/sdk

android开发之后端云bmob的使用

由于开发的应用需要搭建服务器和数据库,所以了解了一下网上的后端云服务,初步了解之后选择了国内的bmob,下面就来简单介绍一下它的使用: 1.注册Bmob帐号 在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”,在跳转页面填入你的姓名.邮箱.设置密码,确认后到你的邮箱激活Bmob账户,你就可以用Bmob轻松开发应用了. 2.网站后台创建应用 登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥

氚云平台介绍

氚云平台介绍 一.概述 氚云,自由构建一切应用 1.属于PaaS+SaaS: 2.提供开发与运行业务应用程序的所有功能(包括数据库.业务定制.工作流与审批.数据分析.可编程云逻辑.实时部署)以及丰富的模板SaaS应用(包括CRM.进销存.费控.流程管理等): 3.允许企业个性化或者全新构建具有社交和移动特性的应用程序. 二.功能介绍 1.完善的支撑架构 组织机构,扁平.矩阵等架构全支持 角色权限,功能.数据.字段全控制 SNS,人与人.人与系统全协同 工作流,全业务流程驱动 任务管理,系统工作实

android拓展之使用bmob后端云来实现短信验证码

bmob后端云,这个就不用我说了吧,它在我们安卓开发的过程当中非常重要.具体有哪些服务可以bmob的官网来查询 关于怎么实现短信验证码的方式,其实在bmob的后端云里面已经详细的介绍了的.我在这里最主要的是分享一下经验 1.要想实现短信验证码,必须在bmob的官网上下载短信验证码的sdk,然后导入工程 2.使用SDK,这个sdk可以单独使用,直接初始化就可以使用.那什么是单独使用呢?就是直接初始化这个SDK就可以使用,而不用初始化Bmob A.怎么初始化bmob? 通过调用Bmob.initia

Android使用Bmob移动后端云Restful API需要注意的问题

如果你自己想做一个客户端玩玩,但是又不想去搭建后台服务器,显然Bmob移动后端云是你的最佳选择.官方地址见bmob,文档地址见http://www.bmob.cn/docs.他提供了Android的sdk,同样也提供了Restful Api,但是个人建议Restful Api还是不适合直接在客户端使用,毕竟会暴露一下一些key的信息,但是本篇文章就是在android中使用它的restful api,原因嘛很简单,我想网络层自己控制,不想用它提供的android sdk,对于安全方面,同样给出了这

半年来经销商云平台工作总结-后端

上一篇写到了前端技术,这篇介绍后端. Java Web大都使用SSH框架,因为其开源免费.我们用的是Sping MVC,持久层用的Hibernate.我们用了Spring的最新特性,全部采用注解形式,省去了XML的配置. 数据库,使用的是MySql,关于为什么用它,因为免费的哈哈. 下面讲讲具体的项目架构,因为经历了整个项目的几次大的改造,也算是见证了项目的变迁. 所有项目通过Maven管理,SVN进行版本控制,内网中有自己的Maven 私服,管理Jar包. 我们将项目分成多个模块,每个模块中S