добавление массива JSON (из API) в список предпочтений в Android SDK

Мне нужно поместить список, который я получаю из json api (также возможно с xml), в listpreference
может ли кто-нибудь объяснить мне как можно лучше, как это сделать?
пример вывода из api:

JSON: (preferred) 
     [
     "+32486000001",
     "+32486000002" ]


xml: <response>
     <resource>+32486000001</resource>
     <resource>+32486000002</resource>
     </response>

код, который у меня уже есть, чтобы получить его:

    String username = prefs.getString("username", null);
    String password = prefs.getString("password", null);
    String response = MVDataHelper.getResponse(username, password, URL_GET_MSISDN);

поэтому мне нужно преобразовать JSonarray в правильный формат для listpreference и способ добавить эту функцию в массив.

пожалуйста, помогите мне как можно скорее

заранее спасибо

p.s.: и записи, и значения записей должны быть массивом, который я получаю здесь, поэтому нет необходимости в сопоставлении или чем-то еще


person Jonas D.    schedule 16.02.2011    source источник


Ответы (1)


Я почти уверен, что вы можете использовать следующие методы в методе onCreate класса, расширяющего PreferenceActivity: setEntryValues и setEntries. Просто передайте им массив строк.

Анализ JSONArray на простой массив строк должен быть довольно простым:

String[] entries = new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
    entries[i] = jsonArray.getString(i);
}

Это может привести к сбою, в зависимости от формата вашего JSON, но это должно дать вам общее представление.

person benvd    schedule 23.02.2011