Форум программистов, компьютерный форум CyberForum.ru

Файл расширения (Expansion File) - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
27.01.2014, 02:05     Файл расширения (Expansion File) #1
Есть приложение, где используется Expansion File. При загрузке приложения файл скачивается в папку android/obb/packageName/expansionFile. Этот файл есть база данных. При первом запуске программы в этой папке создается еще один файл, под тем же именем но расширение меняется с obb на obb-journal.

Теперь суть самой проблемы: при обновлении программы, заново скачивается весь Expansion File, в чем нет необходимости, тк сам файл не обновлялся. Как сделать так, что бы этот файл не скачивался при каждом обновлении программы, если конечно сам файл не обновлен до новой версии.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 02:05     Файл расширения (Expansion File)
Посмотрите здесь:

Open file dialog Android
Android File Explorer в Eclipse (сохранить файл)
Android Ini file
Android Expansion Files
Чтение строк из file.txt Android
Android Ошибка "Error opening trace file: No such file or directory (2)"
Error opening trace file no such file or directory (2) Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
27.01.2014, 14:10     Файл расширения (Expansion File) #2
Файл расширения имеет определённый формат имени:
[main|patch].<expansion-version>.<package-name>.obb
Как я понял из документации, файл будет заново загружен если в его имени поменялось expansion-version. Когда вы загружаете в гуглплей новый apk, вы случайно не меняете имя вашего файла расширения ? Вы вообще не трогаете его (файл расширения) при загрузке нового apk ?
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
27.01.2014, 15:13  [ТС]     Файл расширения (Expansion File) #3
При загрузке нового APK, я ничего не меняю. Путь и имя файла я тоже не трогаю. При обновлении сам файл расширения имя не изменяет, почему-то все равно, каждый раз его перекачивает

Добавлено через 18 минут
Еще заметил, если скачать приложение, и не открывать его, то любое обновление он скачивает без файла расширения. Поэтом я и подумал, что все дело во втором файле, который создается автоматически при отрытии программы
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
27.01.2014, 15:19     Файл расширения (Expansion File) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от suvorov Посмотреть сообщение
Поэтом я и подумал, что все дело во втором файле, который создается автоматически при отрытии программы
А может быть файл закачивается заново из-за того что он был изменён ?
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
27.01.2014, 15:21  [ТС]     Файл расширения (Expansion File) #5
Цитата Сообщение от angryrobot Посмотреть сообщение
он был изменён ?
Это файл с базой данных qslite. Использую только SELECT запросы.
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
27.01.2014, 15:25     Файл расширения (Expansion File) #6
Цитата Сообщение от suvorov Посмотреть сообщение
Использую только SELECT запросы.
Используйте базу в режиме read only. Что-то мне подсказывает что файл всё равно изменяется (пишутся какие-то служебные данные)
Можно провести эксперимент: Сравните контрольную сумму файла до и после использования базы.
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
27.01.2014, 15:28  [ТС]     Файл расширения (Expansion File) #7
Цитата Сообщение от angryrobot Посмотреть сообщение
режиме read only
Не подскажите, как это сделать?
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
27.01.2014, 15:35     Файл расширения (Expansion File) #8
Цитата Сообщение от suvorov Посмотреть сообщение
Не подскажите, как это сделать?
Вот так попробуйте:
Java
1
SQLiteDatabase db= SQLiteDatabase.openDatabase("/path-to-db/mydb", null, SQLiteDatabase.OPEN_READONLY);
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
27.01.2014, 22:14  [ТС]     Файл расширения (Expansion File) #9
метод openDatabase() не работает. Я пользуюсь
Java
1
database = SQLiteDatabase.openOrCreateDatabase("/path-to-db/mydb", null );
. Но на входе этого метода нельзя пердать значение
Java
1
SQLiteDatabase.OPEN_READONLY
Да, действительно, программа немного меняет файл, на несколько байт больше
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
28.01.2014, 10:04     Файл расширения (Expansion File) #10
Цитата Сообщение от suvorov Посмотреть сообщение
метод openDatabase() не работает
Странно, у меня всё работает. Какое исключение возникает при его вызове? Покажите стек трейс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2014, 19:46     Файл расширения (Expansion File)
Еще ссылки по теме:

Download file from Google Drive Android
Android Разные расширения экрана
Не находит expansion file Android
Ошибка: open failed: ENOENT (No such file or directory) Android
Android Ошибка инициализации List<File>

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
30.01.2014, 19:46  [ТС]     Файл расширения (Expansion File) #11
У меня тоже, допустил глупую ошибку в коде! Действительно, теперь сам файл остается неизменным. Спасибо за решение проблемы
Yandex
Объявления
30.01.2014, 19:46     Файл расширения (Expansion File)
Ответ Создать тему
Опции темы

Текущее время: 01:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru