Android Google Drive SDK:保存到应用程序文件夹
Android Google Drive SDK: Saving to App Folder
对于我当前的项目,我想允许用户创建一个 sqlite 数据库文件并让他们输入一些内容。然后用户可以选择登录他们的 google 驱动器帐户并上传此文件。之后,在用户进行进一步编辑后,上传新的数据库文件以替换旧文件。最后,如果用户有多个设备,数据库应该从google驱动器下载并替换存储在设备上的现有文件。
目前,我已成功设置Google Drive SDK 身份验证,我可以使用我的帐户登录该应用程序。
我的主要问题是,当我选择按同步按钮时,如何将sqlite 数据库文件上传到APP 文件夹? (该方法应该在用户需要同步时调用)
另外,如何将sqlite数据库文件上传到APP文件夹?
您的问题有点宽泛,但我会尽力为您指明正确的方向。
首先你必须决定是否使用REST Api or GDAA。两者都将完成相同的事情(实际上 GDAA 的功能现在有点窄,但对于您的情况而言就可以了)。
最大的区别在于 GDAA 将为您处理 on-line / off-line 状态,而对于 REST Api,您必须实现某种 non-UI 线程(同步服务)同步。此外,在使用 GDAA 时还必须注意延迟问题。
接下来,上传SQLite数据库的过程和其他任何二进制数据流一样。
抓取 'xxx.db' 文件,制作输出流(或 byte[] 缓冲区)并创建一个带有标题 + mimetype 元数据的 GooDrive 文件,将流推入其内容并发送这是快乐的方式。标准文件夹和应用程序文件夹之间的唯一区别是文件的parent。
您将获得一个 ID,您随后可以使用该 ID 将文件下载到设备。或者您可以使用按元数据搜索(在您的情况下为标题)来获取此 ID。它再次作为输入流出现,您将其转储到设备上的 'xxx.db' 文件中。
你问题的第二部分涉及多个设备。 None 的 API 会通知您有关 GooDrive 的更改,因此您必须实施以下两种策略之一:
1/ 轮询(哎哟),最好是与系统提供的同步间隔同步服务。
2/ GCM 消息广播给感兴趣的设备/用户(不琐碎,但高效......而且性感)。
SO 29030110 and SO 22874657.
中描述了将多个设备与 GDAA 结合使用时必须注意的另一个陷阱。
如果您决定使用 2 个 API,我会为 REST and GDAA 维护基本的 CRUD 实现演示。 GDAADemo 还可以选择使用 app 文件夹。
祝你好运
对于我当前的项目,我想允许用户创建一个 sqlite 数据库文件并让他们输入一些内容。然后用户可以选择登录他们的 google 驱动器帐户并上传此文件。之后,在用户进行进一步编辑后,上传新的数据库文件以替换旧文件。最后,如果用户有多个设备,数据库应该从google驱动器下载并替换存储在设备上的现有文件。
目前,我已成功设置Google Drive SDK 身份验证,我可以使用我的帐户登录该应用程序。
我的主要问题是,当我选择按同步按钮时,如何将sqlite 数据库文件上传到APP 文件夹? (该方法应该在用户需要同步时调用)
另外,如何将sqlite数据库文件上传到APP文件夹?
您的问题有点宽泛,但我会尽力为您指明正确的方向。
首先你必须决定是否使用REST Api or GDAA。两者都将完成相同的事情(实际上 GDAA 的功能现在有点窄,但对于您的情况而言就可以了)。 最大的区别在于 GDAA 将为您处理 on-line / off-line 状态,而对于 REST Api,您必须实现某种 non-UI 线程(同步服务)同步。此外,在使用 GDAA 时还必须注意延迟问题。
接下来,上传SQLite数据库的过程和其他任何二进制数据流一样。
抓取 'xxx.db' 文件,制作输出流(或 byte[] 缓冲区)并创建一个带有标题 + mimetype 元数据的 GooDrive 文件,将流推入其内容并发送这是快乐的方式。标准文件夹和应用程序文件夹之间的唯一区别是文件的parent。
您将获得一个 ID,您随后可以使用该 ID 将文件下载到设备。或者您可以使用按元数据搜索(在您的情况下为标题)来获取此 ID。它再次作为输入流出现,您将其转储到设备上的 'xxx.db' 文件中。
你问题的第二部分涉及多个设备。 None 的 API 会通知您有关 GooDrive 的更改,因此您必须实施以下两种策略之一:
1/ 轮询(哎哟),最好是与系统提供的同步间隔同步服务。
2/ GCM 消息广播给感兴趣的设备/用户(不琐碎,但高效......而且性感)。
SO 29030110 and SO 22874657.
中描述了将多个设备与 GDAA 结合使用时必须注意的另一个陷阱。如果您决定使用 2 个 API,我会为 REST and GDAA 维护基本的 CRUD 实现演示。 GDAADemo 还可以选择使用 app 文件夹。
祝你好运