Android 使用 Google 工作表进行编程

Android Programming With Google Sheets

早上好 Whosebug 社区,

我一直在开发一个 Android 应用程序,目前 运行 遇到了一堆问题。

场景: 我需要将数据推送和拉取到 Google Spreadsheet,但问题是,此应用程序只能部署到大约 10-15 个 10 英寸的平板电脑。现在,该应用程序是供技术人员使用的估算应用程序,但是当技术人员外出时,他们将没有数据连接,因为平板电脑只有 WiFi。该应用程序唯一能够连接的时间是他们早上在办公室见面并同步应用程序时,以确保数据可以通过 Google Drive 和 [= 同步到 Google Sheets 30=].

所以我想做的是采用初始传播sheet,将其转换为 sqlite 数据库并让应用程序从设备本地填充数据字段,然后在估计完成时,以某种方式将应用程序中检索到的数据转回 Google Spreadsheet 并保存到设备中。 (这可能吗?如果可以,我在哪里可以找到有关将数据从 sqlite 数据库转换为 Google Spreadsheet 的信息)。

然后当技术人员回到有数据连接的办公室时,将新创建的 sheet 同步到 Google 驱动器,以便管理员可以管理他需要管理的内容。

我搜索了又搜索,但无法解决这个问题,所以任何帮助都是有益的。

另一个问题是,由于他们在执行估算时没有与设备的数据连接,因此我们实施的 Google Plus 登录在外地时将无法使用,我也可以还需要制作 sqlite 数据库可以处理的本地登录程序吗?

提前致谢。

能否在设备上安装 Google 表格应用程序?如果是这样,您可能不必让事情变得如此复杂。 Here,您可以看到 Google 如果您安装了该应用程序,表格也可以离线使用。因此,他们需要做的就是,在外出时处理电子表格,第二天早上回到办公室并同步。难道这不能解决你所有的问题吗?如果我遗漏了什么请告诉我,但据我了解,这应该足够了。

老实说,我无法告诉您如何直接将更改上传到该文件,但我可以告诉您如何使用 Google 驱动器 API 将内容下载为 csv Android,我认为您可以随心所欲地进行编辑(或将其转换为 SQL table)。

注意:如果您的文件不是 Google 电子表格文件,这会容易得多。下面 Google 的 Github link 中的演示可以按照它们执行任务的方式使用。如果您想使用 Google 电子表格文件,那么我的(糟糕的)过程可能会有用。

警告:这是一种非常愚蠢的方法,但我知道的唯一方法是使用 GOOGLE 驱动器 API。

我假设您已经在 https://github.com/googledrive/android-demos/tree/master/src/com/google/android/gms/drive/sample/demo 上看到了内容,Google 驱动器 API 示例来自 Google。我还假设您知道如何找到您正在寻找的文件,但您无法访问该文件的内容。

找到 DriveFile 后,您应该获取该文件的元数据。获取元数据使我们能够获得该文件的替代 link。替代 link 看起来像这样: https://docs.google.com/spreadsheets/d/[unique_file_id]/edit?usp=drivesdk

我们可以进行一些字符串编辑,删除最后一个斜线后的所有内容,然后添加 export?format=csv.

您的 link 现在看起来像这样: https://docs.google.com/spreadsheets/d/[unique_file_id]/export?format=csv

您可以调用 AsyncTask 来下载 url,并获取包含文件内容的 InputStream。

如果您不需要担心让每个人都上传到同一个文件(这是有道理的,因为存在数据重叠的可能性),那么您的第二个问题就会变得容易得多。只需查看此文件即可了解如何在根文件夹中创建文件的示例: https://github.com/googledrive/android-demos/blob/master/src/com/google/android/gms/drive/sample/demo/CreateFileActivity.java