免费的网络存储,简单的操作代码,便利的后台使用。


我这里热烈推荐Bmob
我先上一个文档地址https://docs.bmob.cn/data/Android/a_faststart/doc/index.html#%E6%B3%A8%E5%86%8CBmob%E5%B8%90%E5%8F%B7
这个网站基本上可以说吧Bmob的使用完全说明白了,我这里就给大家总结一下Bmob网络存储的使用(真的很简单)

  1. 首先注册
    www.bmob.cn,在这个网站注册,注册很简单,不用拍身份证照片之类的。

  2. 创建应用获得Application ID
    创建应用也很简单,不用填什么,然后点击开发版字样,再点击应用密钥就可以看到了

  3. SDK导入
    在project的build.gradle里添加

 allprojects {repositories {jcenter()//Bmob的maven仓库地址--必填maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }}}

在module的build.gradle里添加

android {compileSdkVersion 22buildToolsVersion '22.0.1'**兼容Android6.0系统所需,如果这句话报错,可在dependencies标签下使用compile 'cn.bmob.android:http-legacy:1.0'**useLibrary 'org.apache.http.legacy'...
}

还有

 dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])//以下SDK开发者请根据需要自行选择//bmob-sdk:Bmob的android sdk包,包含了Bmob的数据存储、文件等服务,以下是最新的bmob-sdk://3.5.5:请务必查看下面注释[1]compile 'cn.bmob.android:bmob-sdk:3.5.5'//bmob-push:Bmob的推送包compile 'cn.bmob.android:bmob-push:0.8'//bmob-im:Bmob的即时通讯包,注意每个版本的im依赖特定版本的bmob-sdk,具体的依赖关系可查看下面注释[2]compile 'cn.bmob.android:bmob-im:2.0.5@aar'compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'//bmob-sms :Bmob单独为短信服务提供的包compile 'cn.bmob.android:bmob-sms:1.0.1'//如果你想应用能够兼容Android6.0,请添加此依赖(org.apache.http.legacy.jar)compile 'cn.bmob.android:http-legacy:1.0'}

4 添加权限

<!--允许联网 -->
<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" />

5 . 初始化BmobSDK

这个放在Application类里去添加

        //第二:自v3.4.7版本开始,设置BmobConfig,允许设置请求超时时间、文件分片上传时每片的大小、文件的过期时间(单位为秒),BmobConfig config =new BmobConfig.Builder(this)////设置appkey.setApplicationId("55635d865b1609c2afce397d6617b6b8")////请求超时时间(单位为秒):默认15s.setConnectTimeout(15)////文件分片上传时每片的大小(单位字节),默认512*1024//.setUploadBlockSize(1024*1024)////文件的过期时间(单位为秒):默认1800s//.setFileExpiration(2500).build();Bmob.initialize(config);

6 . 增删改查网络数据,并在Bmob的网站的后台查看数据

package zzw.bmobtest;import cn.bmob.v3.BmobObject;/*** Created by ZTH on 17/10/19.*/
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;}
}
package zzw.bmobtest;import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.QueryListener;
import cn.bmob.v3.listener.SaveListener;
import cn.bmob.v3.listener.UpdateListener;public class MainActivity extends AppCompatActivity
{@BindView(R.id.add_btn)Button addBtn;@BindView(R.id.get_btn)Button getBtn;@BindView(R.id.post_btn)Button postBtn;@BindView(R.id.delete_btn)Button deleteBtn;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ButterKnife.bind(this);Log.v("zzwtest", "click");}public void add(){Log.v("zzwtest", "click");Person p2 = new Person();p2.setName("lucky");p2.setAddress("北京海淀");p2.save(new SaveListener<String>(){@Overridepublic void done(String objectId, BmobException e){if (e == null){ToastUtil.showToast("添加数据成功,返回objectId为:" + objectId);}else{ToastUtil.showToast("创建数据失败:" + e.getMessage());}}});}public void get(){//查找Person表里面id为6b6c11c537的数据BmobQuery<Person> bmobQuery = new BmobQuery<Person>();bmobQuery.getObject("165baad5c1", new QueryListener<Person>() {@Overridepublic void done(Person object,BmobException e) {if(e==null){ToastUtil.showToast("查询成功");}else{ToastUtil.showToast("查询失败:" + e.getMessage());}}});}public void post(){//更新Person表里面id为6b6c11c537的数据,address内容更新为“北京朝阳”final Person p2 = new Person();p2.setAddress("北京朝阳");p2.update("165baad5c1", new UpdateListener() {@Overridepublic void done(BmobException e) {if(e==null){ToastUtil.showToast("更新成功:"+p2.getUpdatedAt());}else{ToastUtil.showToast("更新失败:" + e.getMessage());}}});}public void delete(){final Person p2 = new Person();p2.setObjectId("7ee2660250");p2.delete(new UpdateListener() {@Overridepublic void done(BmobException e) {if(e==null){ToastUtil.showToast("删除成功:"+p2.getUpdatedAt());}else{ToastUtil.showToast("删除失败:" + e.getMessage());}}});}@OnClick({R.id.add_btn, R.id.get_btn, R.id.post_btn, R.id.delete_btn})public void onViewClicked(View view){switch (view.getId()){case R.id.add_btn:add();break;case R.id.get_btn:get();break;case R.id.post_btn:post();break;case R.id.delete_btn:delete();break;}}
}

里面的objectId很重要,是唯一标识符,我们应该本地建立数据库去保存它,然后在Bmob的后台去查看数据

真的很简单是不是,而且Bmob还有其他的高级用法,在一开始说的文档里有说明,可以自己去深入研究,这里也就做个推荐。

Android Bmob--免费的网络存储的使用相关推荐

  1. Android 小项目之--数据存储【Network】(附源码)

    将数据保存发送到电子邮件中备份,首要前提应该先在模拟器中设置好电子邮件帐户,设置如下: 第一步,启动模拟器,打开"菜单",选择"电子邮件"项,填写相应帐号和密码 ...

  2. android 之SharedPreferences,SDCard以及网络存储

    android 之数据存储分类: A.Shared Preferences:存储私有的数据以键值对的形式 B.内部存储:在设备的内存中存储私有数据 C.外部存储:在外部设备(手机SDCard等)存储共 ...

  3. Android基础知识(二十一):Android五大存储之文件存储、Content Provider存储和网络存储

    Android基础知识(二十一):Android五大存储之文件存储.Content Provider存储和网络存储 一.Android存储--持久化技术 数据持久化是指将那些内存中的瞬时数据保存到存储 ...

  4. Android应用开发:网络编程-2

    网络编程 Java基础:网络编程 Uri.URL.UriMatcher.ContentUris详解 Android应用开发:网络编程1 Android应用开发:网络编程2 1. 使用HttpClien ...

  5. 基于Android的3G手机网络摄像机客户端软件设计

    深入研究了MJPEG视频压缩算法,阐述了算法实现过程,并设计出基于Android操作系统的3G手机网络摄像机客户端软件.本系统通过实地安装与测试达到了预期效果,突破了传统网络摄像机客户端固定地域的限制 ...

  6. 基于Android 移动端的网络视频探索系统【100010403】

    基于移动端的网络视频探索系统 1 引言 1.1 研究背景 智能手机用户在 2015 年占全:人数比例超过百分之十,在 2016 年的时候手机用户超过 20 亿,中国占百分之三十左右.现如今,全:的智能 ...

  7. 无线路由器媒体服务器怎么用,TP-LINK无线路由器网络存储共享的使用方法有哪些...

    TP-LINK无线路由器是国内很多用户的选择,其设备性价比极高,今天小编就给大家介绍下TP-LINK无线路由器网络存储共享的使用方法有哪些,请大家仔细往下看. TP-LINK无线路由器网络存储共享的使 ...

  8. 网络存储技术 期中大作业

    目录 1.HCIA 存储技术趋势与智能存储组件 2. 拟化与网络存储技术:虚拟化技术.Qemu-KVM 第一节 HCIA 存储技术趋势与智能存储组件 一.HCIA 存储技术趋势 1.存储技术趋势:存储 ...

  9. 西部数据 MyCloud 网络存储存在 RCE 漏洞

    西部数据(Western Digital)的MyCloud系列近日被曝出了RCE 漏洞,由于西部数据公司在2015年停止支持的一条产品线存在漏洞,以及此前未知的零日漏洞,过去一个月里,无数客户的MyB ...

最新文章

  1. R语言ggplot2可视化、使用axis.ticks.length函数设置坐标轴间隔标签竖线的长度、并设置坐标轴间隔标签在图像内部(刻度标记放置在图像内部)
  2. 网易java二面_网易Java开发面试:一面+二面+三面以及 面试经验总结
  3. powerdesigner使用vba脚本创建物理模型的表和列
  4. printf函数的格式修饰符
  5. rabbitmq实现秒杀中订单流量削峰
  6. Windows Mobile和Wince(Windows Embedded CE )下使用.NET Compact Framework下注册表导出工具的开发...
  7. 数组不能将数值传给int_[day day go]数组
  8. Eclipse学习笔记
  9. 解决Intel Edison 已连接Wifi但无法上网问题
  10. SOLO代码踩过的各种坑
  11. python爬虫——爬取小说
  12. 好用的网页操作自动化软件
  13. 喜报|Authing 入选 CNCF Landscape 云原生技术图谱
  14. 磁链Ψ、磁通φ、磁势F
  15. 《Python与硬件项目案例》— 基于Python与指纹模块AS608的指纹识别签到考勤系统(下篇)(期末大作业、课程设计、毕业设计、结课项目)
  16. 计算机专业发展基金申报书,计算机科学与技术学院大学生科技创新基金项目申报书.doc...
  17. 最受程序员欢迎的 20 本书!
  18. Maltego 学习与使用
  19. 迅捷fw150服务器无响应,Fast迅捷FW150RM无线路由器Client客户端模式怎么设置
  20. 设计模式-单一职责原则-实践运用

热门文章

  1. NLP必读圣经《自然语言处理综述》2020最新版免费分享
  2. 工业物联网中的操作技术攻击检测系统
  3. 金仓kingbase数据库设置自增长
  4. 分享一款自带工作流引擎的NodeJS全栈框架,接单快手、创业神器
  5. 深度学习新的采样方式和损失函数--论文笔记
  6. 菜鸟学习----前端vue.js学习01
  7. 新版标准日本语初级_第十五课
  8. 【安全用妆周】2021年全国化妆品安全科普宣传周网络知识竞赛开启
  9. Goldbach`s Conjecture(数论)素数筛
  10. 动画 ui - 收藏集 - 掘金