Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
suvorov
5 / 5 / 1
Регистрация: 14.11.2012
Сообщений: 110
#1

Файл расширения (Expansion File) - Программирование Android

27.01.2014, 02:05. Просмотров 1811. Ответов 10
Метки нет (Все метки)

Есть приложение, где используется Expansion File. При загрузке приложения файл скачивается в папку android/obb/packageName/expansionFile. Этот файл есть база данных. При первом запуске программы в этой папке создается еще один файл, под тем же именем но расширение меняется с obb на obb-journal.

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

Не находит expansion file
Здравствуйте! В приложении есть большое количество картинок и аудио. На этапе...

Expansion Files
Привет! Создал приложение с большой базой данных, около 300 мегабайт. Но...

File Explorer в Eclipse (сохранить файл)
Как можно сохранить(выкачать) файл из File Explorer в Eclipse?

Error opening trace file no such file or directory (2)
Наткнулся на исходники эмулятора nes, после выбора файла эмуляции .nes,...

Почему не получается удалить file? Как удалить файл?
почему не получается удалить file? public void onClick(View v) { ...

Ошибка "Error opening trace file: No such file or directory (2)"
пару часов назад прога работала включил комп перестала пишет такую ошибку...

10
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
27.01.2014, 14:10 #2
Файл расширения имеет определённый формат имени:
[main|patch].<expansion-version>.<package-name>.obb
Как я понял из документации, файл будет заново загружен если в его имени поменялось expansion-version. Когда вы загружаете в гуглплей новый apk, вы случайно не меняете имя вашего файла расширения ? Вы вообще не трогаете его (файл расширения) при загрузке нового apk ?
1
suvorov
5 / 5 / 1
Регистрация: 14.11.2012
Сообщений: 110
27.01.2014, 15:13  [ТС] #3
При загрузке нового APK, я ничего не меняю. Путь и имя файла я тоже не трогаю. При обновлении сам файл расширения имя не изменяет, почему-то все равно, каждый раз его перекачивает

Добавлено через 18 минут
Еще заметил, если скачать приложение, и не открывать его, то любое обновление он скачивает без файла расширения. Поэтом я и подумал, что все дело во втором файле, который создается автоматически при отрытии программы
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
27.01.2014, 15:19 #4
Лучший ответ Сообщение было отмечено suvorov как решение

Решение

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

Caused by: android.view.InflateException: Binary XML file line #13: Binary XML file line #13: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #13: Binary XML...

Как встроить файл (File.txt) в exe-файл проекта?
Как встроить файл (File.***) в exe-файл проекта? Чтоб exe мог...

Файл собственного расширения
Доброго времени суток. Имеется файл расширения .tst и экзешник, который может...

Файл расширения lay
Добрый вечер. Есть проект, который можно протестировать в proteus`e. Имеется...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru