gpt4 book ai didi

android - 新 Google Drive Android API (GDAA) 创建的文件未显示

转载 作者:行者123 更新时间:2023-11-29 21:12:30 25 4
gpt4 key购买 nike

首先,直到昨天(2014 年 3 月 12 日)之前一切看起来都还不错。由于大约午餐时间,GDAA 创建的文件(不是文件夹)不再显示在 Web Drive 界面中。一些人出现了相当长的延迟(3 个多小时),此后什么也没有。 Android GDAA 查找/搜索工具显示文件(包括内容)和文件夹,但网络驱动器只有文件夹。我用 this code to test it ,但我试过了 the official demo同样的结果。

最佳答案

通过使用标准 Android 设备清空 Google Play 服务缓存来修复

Settings -> Apps -> Google Play Services -> Clear Cache

可能是由于开发环境滥用服务造成的障碍。如果再次出现,将进一步调查。

...继续

随着我深入研究,我发现了一个看似无关紧要的问题,但可能会给应用开发者带来大问题。

1/假设用户可以访问设备的

Settings -> Apps -> Google Play Services -> Manage Space -> Clear All Data

她/他决定的任何时候。使用 GDAA 的应用不知道此操作,并且设备所有者不知道 Google Play 服务与基于 Google Drive 的应用有任何关系。

2/一旦发生这种情况,GDAA 应用程序将失去按 TITLE 查找文件夹/文件的能力。此处查询失败(参见“NO md AVAILABLE”)

...
if (rslt.getStatus().isSuccess()) {
MetadataBuffer mdb = null;
try {
mdb = rslt.getMetadataBuffer();
if (mdb == null) return null;
dMDs = new ArrayList<DrvMD>();
for (Metadata md : mdb) {
if ((md == null) || (!md.isDataValid()) || (md.isTrashed())) continue;
// NO md AVAILABLE !!!
}
} finally { if (mdb != null) mdb.close(); }
}

尽管这看起来像是一个小怪癖,但用户可以自由执行此操作的事实会给应用程序带来重大问题。

原因如下:如果存在同名文件夹/文件,则在 Google 云端硬盘中创建文件夹/文件不会失败。它将创建一个具有相同名称的新模型(我了解该模型)。但是,如果没有可靠的方法来按名称查询是否存在(由上述用户操作引起),应用程序将在以下逻辑中失败:

   if (FOLDER/FILE by name exists)
return FOLDER/FILE ID
else
ID = create a new FOLDER/FILE

到目前为止,这是我在创建/访问文件夹/文件时唯一能想到的逻辑。我知道还有 2 个唯一 ID 可用(资源 ID 和 DriveId),但它们在这种情况下没有用。任何想法如何解决这个问题?如果 Google Play 服务能够从用户的操作中恢复而不会失去查询现有对象的能力,那就太好了。

关于android - 新 Google Drive Android API (GDAA) 创建的文件未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22382099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com