Google Cloud Platform, хранилища с Android
Я создал полное приложение (уже со многими пользователями) в Android Studio для перечисления и загрузки объектов в Google Cloud Storage Bucket с помощью API Java. У меня есть два Google Cloud Storage Buckets, оригинал и еще один для тестирования: корзина была реплицирована из-за проблем с задержкой.
Приложение используется на Ближнем Востоке, и ведро находится в "США" как "multi_regional".
Я использую это в моем файле приложения Gradle:
compile 'com.google.apis:google-api-services-storage:v1-rev79-1.22.0'
Приложение не работает в Саудовской Аравии - часто из этого кода не возвращаются результаты:
public List<String> listBucket_withPrefix(String bucketName, String prefix) throws Exception {
Storage storage = getStorage();
final List<String> list = new ArrayList<String>();
final Storage.Objects.List listobjects = storage.objects().list(bucketName);
listobjects.setPrefix(prefix);
long maxResults = 100000L;
listobjects.setMaxResults(maxResults);
final List<StorageObject> items = new ArrayList<StorageObject>();
Objects objects;
boolean get_token = true;
do {
try
{
Log.e("CLOUDSTORAGE","GETTING BUCKET LIST");
objects = listobjects.execute();
Этот метод вызывается из основной активности приложения в потоке:
// get cloud storage bucket file list - then send to app
public void listAllFiles_thread(final String[] params, final downloadLib newLib)
{
new Thread(){
public void run()
{
currentThread().setPriority(Thread.MIN_PRIORITY);
String bucketName = params[0];
String fileName = params[1];
String destinationDirectory = params[2];
String prefix = params[3];
CloudStorage myStorage = new CloudStorage();
myStorage.SetContext(myContext);
List<String> callbackresult = null;
try
{
callbackresult = myStorage.listBucket_withPrefix(bucketName, prefix);
Результаты являются неожиданными, часто нет результатов, возвращаемых из
objects = listobjects.execute();
выше в методе списка облачного хранилища listBucket_withPrefix
Я попытался использовать другое местоположение корзины: в "Азии" как "мультирегиональное".
Результаты очень странные, тестирование на Samsung S7 Android 6 и Samsung S6.
1) На Samsung S7 Android 6.0.1 видны оба этих сегмента и данные загружаются.
2) При использовании Samsung S6 Android 6.0.1 ведро будет работать как в режиме отладки, так и в обычном режиме мониторинга (игра в Android Studio). Если используется релиз APK, из метода list НИЧЕГО не возвращается.