Я пишу простую библиотеку android, которая загружает файлы, хранящиеся в GCS. Приведенный ниже код отлично работает
Storage storage = StorageOptions.newBuilder()
.setProjectId(PROJECT_ID)
.setCredentials(ServiceAccountCredentials.fromStream(getAssets().open(JSON_CREDENTIAL)))
.build()
.getService();
Blob blob = storage.get(BlobId.of(BUCKET_NAME, BLOB_NAME));
ReadChannel readChannel = blob.reader();
FileOutputStream fileOutputStream = new FileOutputStream(filePath);
fileOutputStream.getChannel().transferFrom(readChannel, 0, Long.MAX_VALUE);
fileOutputStream.close();
1) Но проблема в том, что мне нужно дать прогресс загрузки, и я не смог найти никаких обратных вызовов для вышеуказанных методов?
2) Кроме того, это лучший способ загрузки файлов из GCS в android приложение. Я не могу использовать firebase, потому что этот код присутствует в библиотеке и используется многими клиентскими приложениями, а firebase требует, чтобы все клиентские приложения были связаны с учетной записью firebase, чего я не хочу делать.