对Android应用程序中的用户、数据对象和文件执行云存储和查询

Parse 移动 SDK 为 iOS、Android 和 Windows® 应用程序提供了基于云的 API 和服务。Parse SDK 还提供了 JavaScript 和 REST API。使用 Parse API,您可以极快地以最少工作量让您的移动应用程序支持云处理。集成了 Parse API 的移动应用程序可以轻松地在 Parse 云上存储数据对象和文件,发送并侦听推送通知,管理用户,处理地理位置数据,并使用 Twitter 和 Facebook 等社交媒体平台。对于需要扩展的移动应用程序,Parse SDK 可以提供所有灵活的云平台。

本文介绍了面向 Parse 用户、数据对象和文件的核心 Parse API 类。您将学习如何使用访问控制列表 (ACL),以及如何在数据对象上执行 CRUD 操作,还有如何在 Parse 云中存储和检索文件。示例均构建于 Parse SDK for Android 之上。

Parse 仪表板

Parse 仪表板可以帮助开发人员管理应用程序。该仪表板为 API、文件和推送的通知提供了一般指标和应用程序特定的使用指标。通过仪表板可管理应用程序的键和设置。该仪表板还提供了数据浏览器,使开发人员能够浏览(甚至编辑)所存储的 Parse 对象。数据浏览器对于调试非常有用。图 1 是 Parse 仪表板的屏幕截图:

图 1. Parse 仪表板

通过一个应用程序 ID 和客户端 ID 对应用程序进行身份验证。为了获得您的应用程序和客户端 ID,必须通过 Parse 仪表板注册您的应用程序。在您的应用程序上初始化 Parse 库时,会用到这些键。

Parse 数据对象

在 Parse 中,使用 “名称-值” 对的容器 ParseObject 表示数据。ParseObject 可以存储任何与 JSON 兼容的数据,如清单 1 所示:

清单 1. ParseObject 示例

ParseObject myParseObject = new ParseObject("MyObject"); // Class NamemyParseObject.put("name", "C. Enrique Ortiz");myParseObject.put("twitterHandle", "eortiz");myParseObject.put("followers", 123456);

ParseObject 在实例化时被赋予一个 classname(类名称)。在 清单 1 中,类名称是 "MyObject"。类名称与关系数据库中的表名称相似,同一类的 Parse 对象相当于表中的行。

ParseObject 暴露的方法类似于 Java Map 类中的方法,如 put、get 和 remove,以及大量特定于 ParseObject 的其他方法。

ParseObject 名称键 必须是字母数字的,作为一个指导方针,请对名称键使用驼峰式大小写 (camel-casing) 格式。值可以是存储在 JSON 中的任何数据类型,也就是说,可以是数字、字符串、布尔值、数组、JSONObject.NULL、JSONObject 和 JSONArray。ParseObject 所支持的其他数据类型是 Java Date 和 byte[] 数组。ParseObject 还可以包含其他 ParseObject。

清单 2 显示了部分受支持的 ParseObject 值数据类型:

清单 2. ParseObject: 部分支持的值数据类型

// Byte Arraybyte[] byteArray = {1, 2, 3, 4, 5};// A dateDate d = new Date(); // java.util.Date// A numberint number = 21;// A StringString name = "Enrique";// A JSONArray - any mix of JSONObjects, JSONArrays, Strings, Booleans, // Integers, Longs, Doubles, null or NULL.JSONArray jArray = new JSONArray();jArray.put(number);jArray.put(name);// A JSONObject JSONObject jObject = new JSONObject();try { jObject.put("number", number); jObject.put("name", name);} catch (JSONException e) { e.printStackTrace();}// A ParseObjectParseObject pObject = new ParseObject("MyObject"); // Class namepObject.put("myByteArray", byteArray);pObject.put("myDate", d);pObject.put("myString", name);pObject.put("myNumber", number);pObject.put("myJsonArray", jArray);pObject.put("myJsonObject", jObject);pObject.put("myNull", JSONObject.NULL);

清单 2 中的代码创建了一个 ParseObject,它在 Parse 云中被存储为一个对象。然后,许多同一类的 MyObject 被存储为 ParseObject 数据对象的行,可以保存、查询和更新,并能从 Parse 的云存储中删除。甚至可以在应用程序离线时保存数据,Parse 库将数据保存在本地,直到重新建立网络连接。

时间: 2024-12-29 17:43:25

对Android应用程序中的用户、数据对象和文件执行云存储和查询的相关文章

在Android应用程序中使用Internet数据

常用缩略词 Ajax: Asynchronous JavaScript + XML API:应用程序编程接口 CSV:逗号分隔值 CSS:层叠样式表 DOM:文档对象模型 HTML:超文本标记语言 HTTP:超文本传输协议 IDL:接口 描述语言 JSON:Javascript 对象标识 SAX:XML 简单 API SDK:软件开发包 UI:用户界面 URL:统一资源定位符 XML:可扩展标记语言 3G:第三代手机技术标准 Android 应用程序必须访问位于 Internet 上的数据,而

在.net应用程序中使用用户控件

程序|控件 在.net应用程序中使用用户控件 郑佐2004-11-30 做过asp.net的人都知道开发的时候使用用户控件很方便,为功能模块化提供了相当大的灵活性.令人高兴的是开发Windows窗体也可以使用用户控件.这里我们来看看为用户控件添加属性和事件,并实现把消息发送到父容器.本文主要是为没有使用过用户控件的朋友提供一些参考. 用户控件的实现比较简单,直接从System.Windows.Forms.UserControl. public class UserControl1 : Syste

广告-在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序

问题描述 在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序 大家好,我现在遇到这样的情况,我目前做的是一个android积分墙的项目,用户通过我的这个项目app做任务下载一个广告,当用户进入到我们的下载广告的apk 后,玩了一段时间后(玩了一段时间才会给积分),点击后退,当前的 广告apk 是退出了,同时我们的项目也退出了(原本我们的项目逻辑是不会退出的),回到了桌面......我们自己测试的时候并没有出现这样的情况,但是用户遇到了,并且用户反馈再次重启手机的时候,再

一起数据库中过期用户数据堆积问题的排查过程

[文章摘要] 对于使用数据库来存放大量用户的软件来说,过期数据的清理机制需要慎重设计.如果设计不当,则会导致数据的误删除或清理不完全. 本文对某数据清理模块因参数配置不当而导致的过期用户数据堆积问题进行了详细的分析,为相关软件问题的分析及解决提供了有益的参考.   一.问题描述 在某软件系统中,为了让不同种类的用户享受对应的服务,引入了一个信箱服务等级的概念,即不同服务等级的用户具有不同的权限."一分钱,一分货",对于运营商来说,高服务等级的用户收取高的资费,提供高质量的服务. 为了维

如何使用C#实现网易博客中圈子用户数据的采集

新浪博客,网易博客,都是博客中的佼佼者,其中网易提供的圈子信息,更胜一筹,使得一般用户能够通过访问圈子进入相关的群组,或者获取相关圈子用户的信息等,以实现各种精准营销的目的.虽然新浪遮遮掩掩不提供圈子的相关信息,相对而言,网易博客提供圈子,能够使得更多的人.更多的程序支持,推高博客的知名度及实用性.网易博客可以通过地址http://q.163.com/ 访问,它是经过两级分类的,如下所示.    点击分类进入即可查看到每个子分类都有很多圈子,圈子累死QQ的群组,是某一兴趣团体的博客,里面收集很多

为什么c程序中创建了数据文件,再次打开源代码运行时数据没了?

问题描述 为什么c程序中创建了数据文件,再次打开源代码运行时数据没了? 为什么c程序中创建了数据文件,再次打开源代码运行时数据没了? http://blog.csdn.net/hackbuteer1/article/details/6573488# 就是这个通讯录的代码,在里面创建通讯录后,再次打开运行显示通讯录时就提示通讯录为空. 解决方案 写入文件是否错误,用winhex或者ultraedit看看写文件本身有没有写对. 如果没有,就是写的问题,如果对的,那么就是读的问题.再具体调试有问题的程

从android应用程序中连接网站

问题描述 从android应用程序中连接网站 我开发一个简单的android程序,当点击程序主页的"开始"按钮时,重新定向到一个指定的网站(比如google).我设置了开始按钮的 @id 是 'bStart'. 要在下面的方法中加什么代码呢? start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method

数据库-android sqlite 查询表中一组不相关数据

问题描述 android sqlite 查询表中一组不相关数据 比如我现在有一个book表,里面有一组001~100id的数据,我现在想实现随便输入一组id{003,005,006,009,056...},从表中查询出这组数据,请问这个的sqlite语句怎么写,新手入门,求大神帮忙!!! 解决方案 select * from book where id='003 or id='005'或者select * from book where id in('003''005')

android在程序中调用另一个apk行不行?

问题描述 android在程序中调用另一个apk行不行? android在程序中调用另一个apk行不行?如果行,请问怎么实现? 解决方案 参考:http://www.cnblogs.com/winxiang/archive/2012/05/04/2482883.html 解决方案二: http://www.cnblogs.com/winxiang/archive/2012/05/04/2482883.html 解决方案三: 可以,看你想实现什么功能了. 解决方案四: 这个很容易 利用Intent