S3UploadService 是一个处理上传到 Amazon S3 的库。它提供了一个名为 S3UploadService 的服务和一个静态方法,您可以在其中提供一个上下文(因此静态方法可以启动服务)、一个文件、一个布尔值,指示是否应该在上传完成后删除所述文件,并且您可以选择设置回调(不是就像一个普通的回调一样。它的工作方式在 README 文件中有解释)。
它是一个 IntentService,因此即使用户在上传时终止应用,上传也会运行(因为它的生命周期未附加到应用的生命周期)。
要使用这个库,您只需在清单中声明服务:
<application
...>
...
<service
android:name="com.onecode.s3.service.S3UploadService"
android:exported="false" />
</application>
然后构建一个 S3BucketData 实例并调用 S3UploadService.upload():
S3Credentials s3Credentials = new S3Credentials(accessKey, secretKey, sessionToken);
S3BucketData s3BucketData = new S3BucketData.Builder()
.setCredentials(s3Credentials)
.setBucket(bucket)
.setKey(key)
.setRegion(region)
.build();
S3UploadService.upload(getActivity(), s3BucketData, file, null);
要添加这个库,您需要将 JitPack 存储库添加到您的根 build.gradle:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
然后添加依赖:
dependencies {
compile 'com.github.OneCodeLabs:S3UploadService:1.0.0@aar'
}
这里是回购的链接:
https://github.com/OneCodeLabs/S3UploadService
希望对你有帮助