Leancloud-数据存储功能入门
来源:互联网 发布:python躲避子弹的游戏 编辑:程序博客网 时间:2024/05/16 05:28
最近在做一个简单的手机工作计划程序,其中的数据部分使用了Leancloud提供的数据存储功能。整理下其中的一些代码,同大家分享一下。
AVObject
增加一条记录
部分代码如下所示:
private static final String TABLENAME = "Project"; //新建一条记录,数据库表名为Project public 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() { @Override public 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>() { @Override public 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>() { @Override public void done(final AVObject avObject, AVException e) { if (e == null) { avObject.put("tasknum", avObject.getInt("tasknum") + 1); SaveCallback saveCallback = new SaveCallback() { @Override public 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>() { @Override public 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() { @Override public void done(AVException e) { //逻辑处理 } }); } }
0 0
- Leancloud-数据存储功能入门
- Leancloud-数据存储功能入门
- LeanCloud数据存储
- iOS LeanCloud数据存储入门教程
- 使用leancloud实现登录注册,数据存储,即使通讯等功能
- RecyclerView和CardView实现列表功能,用LeanCloud所存储的数据中填充RecyclerView
- leancloud网络存储,个人开发者福利。快速入门
- 一个数据存储使用的 Leancloud、架构采用 MVP 的记账本 APP
- LeanCloud数据更新不同步问题
- LeanCloud
- SharedPreferences 数据存储功能
- 用leancloud的登陆注册功能
- LeanCloud使用入门(android),leancloudandroid
- 【Android入门 十三】数据存储
- Android 入门四(数据存储)
- Android 必知必会 - 极简版 Leancloud 短信验证码功能
- 在 LeanCloud 上模拟事务操作来实现支付功能
- 【使用LeanCloud】在Android中添加一行数据
- HttpClient的超时用法小记
- 淘宝之初:湖畔花园小区里诞生的巨人
- 苹果开发者文档
- 用 win2003 架设共享服务器
- LeetCode 9 - Palindrome Number
- Leancloud-数据存储功能入门
- phpstorm使用过程中遇到奇怪的502 bad gateaway 问题
- logback 常用配置详解(二) <appender>
- Activemq消息确认机制
- 利用oclHashcat破解Microsoft Office 97-03, 2007, 2010, 2013 密码
- JQuery学习笔记
- IOS-同一label显示不同字体颜色
- iOS- 详解文本属性Attributes
- linux c 线程通信和同步