我试图使用android studio从s3桶中删除文件。我按照下面的教程设置了我的桶。 https://grokonez.com/android/uploaddownload-files-images-amazon-s3-android。上传和下载工作正常。但是当我尝试删除文件时,我的应用程序崩溃了。
这是我正在使用的代码
BasicAWSCredentials credentials = new BasicAWSCredentials(KEY, SECRET);
AmazonS3Client s3Client = new AmazonS3Client(credentials);
s3Client.deleteObject(bucketName, folderPath);
您的folderPath
变量可能不包含指定存储桶中对象的有效密钥。
您正在遭遇此崩溃,因为Android不允许您从主线程进行网络调用。您需要从后台线程包装此调用。
new Thread(new Runnable() {
public void run()
BasicAWSCredentials credentials = new BasicAWSCredentials(KEY, SECRET);
AmazonS3Client s3Client = new AmazonS3Client(credentials);
s3Client.deleteObject(bucketName, folderPath);
}
}).start();
你应该在后台线程中调用delete object方法。
new Thread(new Runnable() {
@Override
public void run() {
s3client.deleteObject(new DeleteObjectRequest(AWS_BUCKET, "Path"));
}
}).start();