新的 Google Drive Android API 有两种可用的字符串 ID,“资源”ID 和“编码”ID。
'encoded' id from DriveId.encodeToString()
"DriveId:CAESHDBCMW1RVVcyYUZKZmRhakIzMDBVbXMYjAUgssy8yYFRTTNKRU55"
'resource' id from DriveId.getResourceId()
"UW2aFJfdajB3M3JENy00Ums0B1mQ"
在这个过程中,我最终得到一个可以包含其中任何一个的字符串(一些时间问题的结果)。我的问题是:
如果我需要“解析”字符串以识别类型,是否有可以依赖的特征?例如:
- ' coded' id 将始终以 'DriveId:' 子字符串开头
- ' resource ' id 会有一些长度限制
- 我可以滥用“decodeFromString()”的错误返回吗?
- 还是我应该用自己的标签形成(预先挂起)字符串容器?什么是最小的“安全”标签(即这些 id 的开头永远不会出现的标签)?
请指出我正确的方向,这样我就不必在下一个版本中重新做。
我遇到了另一个应该在这里提到的问题,这样其他人就不会浪费时间掉入同一个坑了。'resourceID' 可以被移植,并且对于它识别的对象将保持唯一,其中'encodedID' 仅具有'device' 范围。意味着您不能将“encodedID”传输到另一台设备(使用相同的帐户)并尝试使用它检索文件/文件夹。所以我认为它是 Google Play Services 实例所独有的。