2014-12-29 3 views
-1

Примечание: Моя проблема может быть немного запутанной. Я попытаюсь объяснить это четко, но если вы думаете, что чего-то не хватает, пожалуйста, дайте мне знать в комментариях.Обновление телефонного разговора JSON динамически (android)

Я создаю приложение для Android с помощью телефонной заставки. В моем приложении используются некоторые данные, которые загружаются в приложение с помощью JSON. Я планирую отправить мое приложение с JSON, который выглядит примерно так:

{ 
"8": [ {"subject":"Sample","room":"L2"} ], 
"9": [ {"subject":"something","room":"L3"} ] 
} 

Проблема я столкнулся

С течением времени значения JSON, возможно, придется изменить. Например, "Sample" может потребоваться изменить на "hello". Эти изменения должны быть сделаны мной из облака. Чтобы пользователи подключались к Интернету и нажимали кнопку «Обновить», эти изменения в JSON, хранящиеся на их устройстве, должны иметь место.

Примечание: ** Я уже настроил хостинг и мое приложение может получить доступ к обновленной JSON в области www.example.com/world.json **

Как скопировать содержимое world.json и поместить их в родной JSON, который присутствует в устройстве моего пользователя? Любая помощь? Спасибо.

+0

Итак, вы по сути хотите скачать JSON? –

+0

@VaibhavAggarwal, да, я хочу загрузить JSON и заменить существующий JSON новым JSON на Android-устройстве. –

+0

Каково отношение к PhoneGap? –

ответ

2

Вы можете использовать jQuery, чтобы сделать удаленный вызов ajax, получить последний JSON, заменить существующий. Я предполагаю, что вы сохраняете существующий JSON в LocalStorage

Таким образом, вы будете иметь логику, которая устанавливает, что значение LocalStorage как то, что вы хотите на 1-ом периоде

if(firstRun){ 
    myjson={ 
      "8": [ {"subject":"Sample","room":"L2"} ], 
      "9": [ {"subject":"something","room":"L3"} ] 
    } 
    window.localStorage("json", JSON.stringify(myjson)); 

Затем по щелчку кнопки обновления или какое-либо другое событие от пользователя, вы можете получить новый JSON и заменить существующую в LocalStorage

function onclick(){ 
    $.post("www.example.com/world.json", function(data) { 
     window.localStorage("json", JSON.stringify(data)); 
    }); 
} 

и где вы хотите использовать этот JSON,

var myjson=JSON.parse(window.localStorage("json")) 

Я думаю, что это то, что вы ищете.

+0

Это близко к тому, что я ищу. Но у меня большое количество json, и я не могу хранить данные в localStorage, но вместо этого у меня есть .json-файлы в каталоге. Могу я их заменить? –

+0

да, конечно. Вы можете использовать все localStorage/browser DB/SQL Lite – divyenduz

+0

Ссылка на один из плагинов SQL Lite - https://github.com/brodysoft/Cordova-SQLitePlugin – divyenduz

Смежные вопросы