Возможно, вам лучше настроить службу SOAP / XML-RPC, обрабатывать данные на сервере и отправлять их клиентским частям за раз, кэшируя по ходу работы. Это будет потенциально самый быстрый способ, так как вам не нужно передавать большой файл на контроллер. Это может не сработать, но стоит упомянуть.
По сути, это просто загрузка файла, заключенная в скобки путем вывода в транспортный формат и ввода в хранилище данных мобильного устройства. Я полагаю, вы описываете что-то вроде словаря, что-то довольно статичное.
Подход, которого вы хотите достичь, должен:
- Учитывайте общий размер файла, т. Е. Используйте как можно меньше мета-описания, чтобы передать смысл данных.
- Использование некоторого типа сжатия (например, gzip) данных между сервером и устройством. Учтите, что агрессивное сжатие может занять больше времени на устройстве для распаковки и может привести к снижению производительности при менее агрессивном подходе, который значительно быстрее.
- Примите во внимание, как данные будут поступать из хранилища вашего сервера (находится ли он в базе данных? Можно ли кешировать данные в транспортную форму?) В систему хранения данных устройства (например, SQLite). Излишнее сжатие скорости передачи может в конечном итоге привести к обратным результатам, если устройству приходится работать в три раза дольше, чтобы вставить данные, чем время, которое было сэкономлено при загрузке на устройство.
- Test. Тестовое задание. Тест.
Вы можете использовать его как файл в формате CSV или JSON, который очень минималистичен; они не используют много данных для описания данных. XML не самый быстрый, потому что он, как правило, очень описательный, но имеет и другие преимущества. Другим вариантом может быть отправка текстового файла с инструкциями вставки SQL.
Другой «вариант», конечно, может заключаться в использовании механизма обновления и его выдаче в качестве «обновления». Я думаю, что многие люди с мобильными устройствами знают, что обновления занимают много времени и часто загружаются очень часто, поэтому при этом они подключаются к своему компьютеру. Это просто мысль; Я не уверен, будет ли это на самом деле лучше, но подумал, что я это выброшу.
SQLite - это СУБД, которая работает на многих мобильных платформах. У него есть свои ограничения, но это может быть все, с чем вам придется работать. Это хороший вариант.