日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 移動后端云平臺Bmob介紹

移動后端云平臺Bmob介紹

來源:程序員人生   發布時間:2015-06-19 08:25:53 閱讀次數:4975次
    對移動真個獨立開發者來講,最痛苦的事情莫過于搭建后臺服務器。沒有基礎的還得從頭學起,有技術的又要搭建保護后臺,非常麻煩。而移動后端云平臺的出現,簡直是每一個獨立開發者的福音,它可以避免費提供論文服務器,有數據文件服務,還有社交功能等。國內主流的有友盟、極光推送,Bmob,AVOS Cloud等,下面介紹老少咸宜的Bmob

    如何鏈接到Bmob的服務器開發文檔都有,開發文檔有沒具體介紹的是文件下載功能。文件下載,首先是通過數據查詢取得

BmobFile對象 ,然后通過該對象的getFileUrl()方法取得下載鏈接,最后通過鏈接下載。下面是1個實現了添加數據、查詢數據、文件上傳、文件下載、推送功能的例子:

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))!=⑴) { 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


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久三级网 | 亚洲午夜在线视频 | 久久精品福利 | 啪啪资源 | 久久久精品综合 | 久久久亚洲国产 | 日韩精品在线免费 | 国产一卡久久电影永久 | 欧美,日韩,国产在线 | 天天操天天草 | 精品美女一区 | 综合久久一区二区三区 | 亚洲欧美中文日韩在线v日本 | 亚洲一区在线播放 | 黄瓜视频在线免费欧美日韩在线看 | 国产视频在线一区二区 | 丰满少妇高潮惨叫久久久久 | 精品国产青草久久久久96 | 综合视频一区 | 亚洲乱码国产乱码精品精 | 一区二区三区久久久 | 狠狠干香蕉 | 中文av在线播放 | 亚洲综合大片69999 | www.日韩欧美 | 日韩h视频 | 精品久久久久久久久久久久久久久 | 蜜月久综合久久综合国产 | 高清视频一区 | 亚洲欧洲视频在线观看 | 日韩高清电影 | 亚洲欧洲一区二区 | 欧美午夜精品一区二区三区 | 在线视频日韩精品 | 欧美在线一 | 一区二| 亚洲人体视频 | 日本高清视频在线播放 | 欧美国产精品一区二区三区 | 国产精品女 | 国产精品免费视频观看 |