使用leancloudTAB功能快速开发,上传数据到移动云开发平台
不得不说,目前的云服务器对个人或者小型工程的支持相当不友好,专业名词太多,产品线太复杂,而打电话咨询也无果,经过几天慢慢的梳理对比,最终敲定了这家和腾讯云有合作的leancloud的TAB(Tencent App Builder)。
先说一下自己的需求:需要将自己的结构化数据(传感器采集到的数字)上传到云端,数据量不是很大,但是希望能快速开发,不要有很高的学习成本。如果你和我一样,那TAB也很适合你!
文章图片
腾讯云的合作页面 TAB腾讯云链接:了解产品详情页面失效了,可能是因为16年合作之后就没有维护了。但是经过对比体验,比腾讯云自己的移动开发平台MobileLine要更加友好,文档更加完善。腾讯云移动开发平台太过于年轻,文档不完善,提交工单也没有领域标签,售后工程师也解决不了问题,不知道如何获取密钥)
leancloud的价格方案
文章图片
个人开发够用
TAB刚好符合我的需求:免费快速高效,不需要考虑是使用结构化数据的数据库,像MySQL还是其他(事实上也尝试过,但是这种类型的关系型数据库适合企业TB级的数据量,对于我相当不合适),而非结构化数据像图片,音视频等富媒体又没有如此需求,所以也未采用,这两类组成了云产品的数据库类。而非数据库类的产品,像对象存储OOS,更加适合网盘,遂也弃用。
接下来,介绍一下数据存储是如何实现的:数据存储服务总览 - LeanCloud 文档
文章图片
产品比较成熟,API换的概率,代码重构的概率不大 简而言之呢,就是提供了一个面向对象的API接口,粗暴快速的调用,不用管数据结构和后端,然后就可以在前端云台看到保存在数据库的数据,进行统计清洗等等,和我第一次看到Python的感觉如出一辙!
那有多简单呢,我们这里以安卓为例,假设已经根据文档配置好SDK和密钥(文档非常贴心,会自动把项目的密钥替换到实例代码中),并且测试过网络等。
文章图片
文档写的还是比其他大厂的更加简单易懂的 Hello World 核心代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
// 测试 SDK 是否正常工作的代码
AVObject testObject = new AVObject("TestObject");
【使用leancloudTAB功能快速开发,上传数据到移动云开发平台】testObject.put("words","Hello World!");
testObject.saveInBackground(new SaveCallback() {
@Override
public void done(AVException e) {
if(e == null){
Log.d("saved","success!");
}
}
});
...
}
基本上和安卓就是一样的,实例化对象,通过基本万能的put接口输入,最后上传服务器和检验反馈。
怎么样,是不是觉得很简单?
当然,还是有一些要提前注意:
AVObject 中的 键,必须是由字母、数字或下划线组成的字符串;开发者自定义的键,不能以 __(双下划线)开头。AVObject 中的 值,可以是字符串、数字、布尔值,或是数组和字典。在平台内部,LeanCloud 将数据存储为 JSON,因此所有能被转换成 JSON 的数据类型都可以保存在 LeanCloud 云端。并且,框架还可以处理日期、Bytes 以及文件类型。总结来说,AVObject 中字段允许的类型包括:
+
String 字符串
Number 数字
Boolean 布尔类型
Array 数组
Object 对象
Date 日期
Bytes base64 编码的二进制数据
File 文件
Null 空值
好,最后看看我自己迁移的效果如何:
手机APP
电脑数据库管理
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小