最近在做一个简单的手机工作计划程序,其中的数据部分使用了Leancloud提供的数据存储功能。整理下其中的一些代码,同大家分享一下。

AVObject

增加一条记录

部分代码如下所示:

    private static final String TABLENAME = "Project";//新建一条记录,数据库表名为Projectpublic static void createProject(String name) {final AVObject object = new AVObject(TABLENAME);object.put("name", name);object.put("createdate", new Date().getTime());object.put("createaccount", user.getUsername());object.put("createname", user.getString("name"));object.put("membernum", 0);object.put("tasknum", 0);object.put("state", 1);SaveCallback callback = new SaveCallback() {@Overridepublic void done(AVException e) {postInfo(object, e);}};saveProject(object, callback);}
  • 该条记录会出现在Project表中
  • SaveCallback 为保存成功之后的异步回调, 当done(AVException e) 中的e为null时,表示保存成功

查询一条记录

    /**** 根据id查询记录*/private static void getProject(String id, GetCallback callback) {AVQuery<AVObject> query = new AVQuery<AVObject>(TABLENAME);query.getInBackground(id, callback);}
  • GetCallback 为查询成功后的异步回调,需要实现的方法为done(AVObject avObject, AVException e)

查询多条记录

     /**** 得到多条记录,按照创建时间排序*/public static void getAllProject() {AVQuery<AVObject> query = new AVQuery<>(TABLENAME);query.orderByDescending("createAt");query.findInBackground(new FindCallback<AVObject>() {@Overridepublic void done(List<AVObject> list, AVException e) {postInfoList(list, e);}});}
  • FindCallback为查询成功后的异步回调,需要实现的方法为done(List< AVObject > list, AVException e)

修改单条记录

    public static void addTasknum(String id) {GetCallback getCallback = new GetCallback<AVObject>() {@Overridepublic void done(final AVObject avObject, AVException e) {if (e == null) {avObject.put("tasknum", avObject.getInt("tasknum") + 1);SaveCallback saveCallback = new SaveCallback() {@Overridepublic void done(AVException e) {if (e != null) {//异常处理}}};//更新后获取最新值avObject.setFetchWhenSave(true);avObject.saveInBackground(saveCallback);} else {//异常处理}}};getProject(id, getCallback);}
  • 先根据id查询得到单条记录对象
  • 更新该对象的某个数值,随后保存,SaveCallback 为保存成功之后的异步回调
  • avObject.setFetchWhenSave(true);表示当更新成功后,avObject的各个字段为最新值

AVUser

除了普通对象AVObject以外,还提供了AVUser对象,用以实现简单的用户系统,额外的功能如下所示

注册

    /**** 创建一个用户账户*/public static void createUser(final String account, final String password, String Email, String name) {final AVUser user = new AVUser();user.setUsername(account);user.setPassword(password);user.setEmail(Email);user.put("name", name);user.signUpInBackground(new SignUpCallback() {public void done(AVException e) {//逻辑处理}});}
  • AVUser支持的信息除了自定义的字段外,还有Username(帐号)、Password(密码)和Email(邮箱)
  • SignUpCallback为注册成功之后的异步回调操作

登录

  /**** 登录*/public static void Login(String account, String password) {AVUser.logInInBackground(account, password, new LogInCallback<AVUser>() {@Overridepublic void done(AVUser user, AVException e) {//逻辑处理}});}
  • LogInCallback为登录成功的异步回调
  • account、password分别对应用户的帐号和密码

得到当前登录的用户对象

     /**** 得到当前用户** @return 当前用户*/public static AVUser getCurrentUser() {AVUser currentUser = AVUser.getCurrentUser();return currentUser;}

注销

 public static void logOut() {AVUser.logOut();}

修改密码

/**** 修改密码*/public static void changePwd(String old_password, String new_password) {AVUser user = getCurrentUser();if (user != null) {user.updatePasswordInBackground(old_password, new_password, new UpdatePasswordCallback() {@Overridepublic void done(AVException e) {//逻辑处理}});}}

Leancloud-数据存储功能入门相关推荐

  1. Unity学习 — Unity与LeanCloud数据存储

    Unity 使用LeanCloud存取数据 一:LeanCloud 介绍 二:LeanCloud 特点 1:数据存储,替代传统数据库的高效云端存储 2:云引擎+云缓存 3:即时通讯 4:游戏解决方案 ...

  2. android LeanCloud 数据存储

    目录 对象 1. 保存到云 2. 获取云对象 (查询) 3. 云同步本地对象 4. 更新云对象 5.更新云对象中的数组,原子操作 6. 删除云对象 7. 批量 [存(改),更新,删] 云对象 8. 后 ...

  3. vsphere添加数据存储_vsphere入门之数据存储与vMotion迁移技术

    vSphere基础物理架构中存储是一个非常关键的部分,没有好的存储,虚拟化也就没有了存在的价值,并且它能够决定其性能的高低和一些高级功能(如vMotion).本篇博客主要介绍vSphere中的存储和v ...

  4. LeanCloud数据存储

    在LeanCloud官网登陆后创建应用获取ID和key.下载android sdk的几个jar包. 导入到安卓工程的libs目录下.创建一个类继承Application.重写oncreate方法,定义 ...

  5. GeoMesa-空间数据存储引擎入门学习手册

    GeoMesa-空间数据存储引擎 geomesa简介.架构体系.数据存储.spark等 第一部分:GeoMesa简介 GeoMesa是一款开源的基于分布式计算系统的⾯面向海海量量时空数据查询与分析的⼯ ...

  6. 5G NGC — UDR 统一数据存储库,UDSF 非结构化数据存储功能

    目录 文章目录 目录 计算与存储分离 增强网络执行效率 增强网元容灾冗余 UDR 与 UDSF UDR UDSF 计算与存储分离 增强网络执行效率 在 4G EPC 中,用户签约信息被存储在 HSS ...

  7. android app数据存储,基于Android开发的APP数据存储研究

    谢原武+龙文 摘要: 作为一个完整的应用程序,数据存储操作是必不可少的.Android系统一共提供了四种数据存储方式分别为File文件存储.Shared Preferences存储.ContentPr ...

  8. 使用jQuery的基于DOM的数据存储和检索

    jQuery库是轻量级的(缩小/压缩后约为25KB),符合CSS3和跨浏览器. 它提供了丰富的API集,包括遍历和操作HTML文档对象模型(DOM),处理事件,并提供了使用异步JavaScript和X ...

  9. GML数据存储技术的研究与实现

    1.引言 随着GML(Geography Markup Language,地理标记语言)技术的日臻成熟,GML技术在GIS领域的应用得到广泛的推广,并且很多GIS软件商开始在他们设计的软件产品中增加了 ...

最新文章

  1. Linux下的内存对齐函数
  2. 计算机设备记录人耳感知不到的声音,现代教育技术考试复习资料新
  3. 关于C# Span的一些实践
  4. 智能对话引擎:两天快速打造疫情问答机器人
  5. python可视化报表制作教程_如何使用Python快速制作可视化报表
  6. 解决 pathForResource 返回 nil的问题
  7. linux 命令行 文件管理器,CLEX - 集成命令提示符、“多才多艺”的命令行文件管理器...
  8. js 倒计时 php,2种简单的js倒计时实现方法
  9. 数据库面试题---原理
  10. SwiftUI 教程
  11. 计算机英语中级职称题库,职称计算机考试题库(中级职称需要考计算机吗)
  12. 「 OptiTrack」搭建动作视觉运动捕捉系统教程
  13. Fixed Gear DIY整车配色 JavaScript版制作过程
  14. 支付宝接口 设置支付宝订单的超时时间为15分钟
  15. 【Proteus仿真】步进电机转速数码管显示
  16. 苹果cmsV10仿B站风格视频影视电影网站源码
  17. 做好企业微信运营,为什么要使用微盛·企微管家?
  18. JavaScript弹出框
  19. R软件的rattle安装指南
  20. 提升“软实力”门槛,今年Gartner超融合软件魔力象限有点“魔性”啊

热门文章

  1. 腾讯we大会~2017
  2. 【活动回顾】BSV区块链协会参加「We Are Developers」世界大会
  3. 腾讯无线网服务器,腾讯服务器的IP地址是什么?
  4. VCS专题之功能及其命令(二)
  5. ddos压力测试工具推荐
  6. 全国计算机access考试题型,计算机access考试题型
  7. 梁静茹《我好吗?-太阳如常升起2019》3D音效[wav]
  8. 互信息介绍及MATLAB代码实现
  9. 【图片】机器学习--名画风格 neural-style
  10. 9 月份 GitHub 上出现了哪些热门开源项目?