Android - Сохранить данные формы локально в CSV - PullRequest
1 голос
/ 21 августа 2011

У меня есть простое приложение для Android, использующее простые js, jquery mobile и phonegap, которые содержат данные форм, которые я хотел бы записать в CSV на / sdcard.Я не могу придумать лучший способ сделать это.Необходимо выполнить локальную запись в CSV, так как устройство не будет иметь доступа к Интернету.Каждый раз при заполнении формы каждое имя файла CSV должно быть уникальным и содержать поле «CompanyName».Я искал везде и не могу понять это.Помогите пожалуйста ...

1 Ответ

1 голос
/ 21 августа 2011

Я реализовал похожие вещи (чтение / запись данных через мобильное веб-приложение без подключения к интернету). Возможно, вы сможете использовать тот же подход, что и я, который использует пользовательский ContentProvider в Android для сохранения ваших данных. При условии, что данные не велики, этот подход должен работать. Если это так, то вы можете сделать следующее:

  1. Создание пользовательской схемы URI контента, например content: // myuri. Это удобная функция Android, поскольку я могу вызывать этот URI из встроенного браузера, в том числе даже используя ссылки на вашей HTML-странице. Он в основном обрабатывает этот URI как любой другой http: // uri
  2. В реализации для записи вы можете создать URL-адрес в виде содержимого: // myuri / writeData / input1 = value1 / input2 = value2 / input3 = value3 и так далее. Я не уверен, есть ли ограничение в ContentProvider для длины URI, принятого ContentProvider, поэтому я поставил оговорку выше. У меня нет большой формы, когда я попробовал этот подход в прошлый раз
  3. В реализации вашего расширения ContentProvider вам необходимо переопределить функцию public ParcelFileDescriptor openFile (Uri uri, String mode) и попросить их интерпретировать URI, заданный на шаге # 2. Реализация должна проанализировать URI и затем записать данные в CSV, как вы и предполагали
  4. Вы можете получить эти данные обратно, используя другую схему URI, такую ​​как content: // myuri / getData / [theFileID], которая теперь в реализации # 3 выше, вы будете делать обратное и возвращать данные CSV в свой мобильный веб -app

Дайте мне знать, если у вас есть какие-либо вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...