Я загружаю изображение в корзину S3. Это работает, но при загрузке блокирует основной поток (пользовательский интерфейс по существу останавливается во время загрузки).Мне пришлось использовать асинхронную задачу, чтобы заставить загрузку работать, потому что, если я не делаю, Android выдает исключение о сетевых вызовах в главном потоке.Как заставить загрузку запускаться в фоновом потоке?
Вот мой код:
val metaData = ObjectMetadata()
metaData.setContentLength(myBitmapByteArray.size.toLong())
doAsync {
try {
s3Client.putObject("my-bucket", "my_test_file/abc.bmp", myByteInputStream, metaData)
} catch (e: AmazonServiceException) {
System.err.println(e.errorMessage)
System.exit(1)
}
Log.i("AMAZON", "File upload to s3 completed")
//TODO: uithread never called below
// uiThread {
//
// }
}