[Einleitung] Mit Ihrer eigenen Android-App erstellte Dateien (mehrere Dateien werden gleichzeitig generiert) Da es notwendig wurde, es auf dem Server zu verwalten und auf einem anderen Terminal zu empfangen, Schnell implementiert mit S3 von Mobile Hub.
[Stolpern] -Spezifizieren Sie s3Client! Ich bekomme den Fehler. ・ AWS S3-Zugriff verweigert Ich bekomme den Fehler.
Menschen, die ähnliche Sorgen hatten. →AWS S3 Java SDK - Access Denied →Amazon s3 upload multiple files android
[Lösung]
class AsyncAWS_upload extends AsyncTask<String, Void, String> {
Activity BaseActivity;
AsyncAWS_upload(Activity activity) {
this.BaseActivity = activity;
}
@Override
protected String doInBackground(String... strings) {
uploadData();
return null;
}
public void uploadData() {
TransferUtility transferUtility =
TransferUtility.builder()
.context(getApplicationContext())
.awsConfiguration(AWSMobileClient.getInstance().getConfiguration())
.s3Client(new AmazonS3Client(AWSMobileClient.getInstance().getCredentialsProvider()))
.build();
TransferObserver uploadObserver =
transferUtility.upload(
"protected/hoge.file",
new File(Environment.getExternalStorageDirectory() + "/hoge.file"));
transferUtility.upload(
"hogehoge_test/hoge.csv",
new File(Environment.getExternalStorageDirectory() + "/hoge.csv"));
uploadObserver.setTransferListener(new TransferListener() {
@Override
public void onStateChanged(int id, TransferState state) {
if (TransferState.COMPLETED == state) {
LOGD("XXXTransferStateonStateChanged", "FINISH");
// Handle a completed upload.
}
}
@Override
public void onProgressChanged(
int id, long bytesCurrent, long bytesTotal) {
LOGD("XXXTransferStateonProgressChanged", "HERE");
// TODO Auto-generated method stub
}
@Override
public void onError(int id, Exception ex) {
// TODO Auto-generated method stub
LOGD("XXXTransferStateonError", String.valueOf(ex));
}
});
// If your upload does not trigger the onStateChanged method inside your
// TransferListener, you can directly check the transfer state as shown here.
if (TransferState.COMPLETED == uploadObserver.getState()) {
}
}
}
Arbeiten mit. Ich habe das Verständnis der Details übersprungen und werde es ergänzen, sobald ich das Dokument überprüfe. Vielen Dank für das englische Dokument.
Recommended Posts