我在官方网站上搜索了最新的 AWS 文档以获取 Android SDK 。不幸的是,我找不到与此相关的任何内容。如何使用 Android SDK删除特定或多个文件或对象?
问问题
893 次
3 回答
1
截至 2020 年中,首选方法是使用适用于 Android 的 AWS Amplify 库。
请参阅存储类别中的文档remove()
。它建议这样做(在Java中):
Amplify.Storage.remove(
"myUploadedFileName.txt",
result -> Log.i("MyAmplifyApp", "Successfully removed: " + result.getKey()),
error -> Log.e("MyAmplifyApp", "Remove failure", error)
);
或(在 Kotlin 中):
Amplify.Storage.remove(
"myUploadedFileName.txt",
{ result -> Log.i("MyAmplifyApp", "Successfully removed: " + result.getKey()) },
{ error -> Log.e("MyAmplifyApp", "Remove failure", error) }
)
于 2020-06-08T04:08:32.543 回答
0
Amplify.Storage.remove
您可以在放大官方文档中找到该方法。这是链接
private void removeFile() {
Amplify.Storage.remove(
"myUploadedFileName.txt",
new ResultListener<StorageRemoveResult>() {
@Override
public void onResult(StorageRemoveResult storageRemoveResult) {
Log.i("StorageQuickStart", "Successfully removed: " + storageRemoveResult.getKey());
}
@Override
public void onError(Throwable error) {
Log.e("StorageQuickStart", error.getMessage());
}
}
);
}
于 2020-01-26T16:06:28.500 回答
0
我找到了一个可行的解决方案,如果有人来看它可能会有所帮助,但在 AWS for Android SDk 的文档中没有找到这个,并且 Amplify 框架处于预览阶段,也许几个月后很快就会出现。到那时解决方案是:
new Thread(new Runnable() {
@Override
public void run() {
s3Client.deleteObject(bucketName, filePath);
}
}).start();
于 2020-01-27T04:26:38.287 回答