Я пытаюсь создать галерею изображений в своем приложении. У меня есть изображения в JSON, и я хотел бы создать String Array из объектов JSON в AsyncTask
, чтобы я мог поместить String Array в Universal Image Loader. Я думаю, что у меня есть AsyncTask
, правильно получающий строки, но я в тупике, как поместить строки в массив, т.е. images[]
и imageDescriptions[]
. Моя JSON выглядит следующим образом:Android: создать String Array из объекта JSON
{
"gallery" :
[
{
"id":"0001",
"galleryurl":"http://www.mysite.com/apps/wcbc/images/building0001.jpg",
"gallerydescr":"image description 1"
},
{
"id":"0002",
"galleryurl":"http://www.mysite.com/apps/wcbc/images/building00011.jpg",
"gallerydescr":"image description 2"
}
]
}
, и я хочу, чтобы в результате images[]
выглядеть следующим образом:
public static final String[] IMAGES = new String[] {
"http://www.mysite.com/apps/wcbc/images/building0001.jpg",
"http://www.mysite.com/apps/wcbc/images/building00011.jpg"
};
А вот мой AsyncTask
класс, где я хочу разобрать JSON в String[]
:
private class DownloadJSON extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
galleryArrList = new ArrayList<HashMap<String, String>>();
JGrid4Adapter jParser = new JGrid4Adapter();
// getting JSON string from URL
JSONObject jsonOb = jParser.getJSONFromUrl(jsonUrl);
try {
JSArrGallery = jsonOb.getJSONArray(TAG_GALLERY);
// looping through All gallery images
for (int i = 0; i < JSArrGallery.length(); i++) {
JSONObject galleryJO = JSArrGallery.getJSONObject(i);
String idStr = galleryJO.getString(TAG_ID);
String urlStr = galleryJO.getString(TAG_GALLERYURL);
String descrStr = galleryJO.getString(TAG_GALLERYDESCR);
//-- How to create String Array at this point?
}// -- END for loop
} catch (JSONException e) {
e.printStackTrace();
}// --- END Try
return null;
}
@Override
protected void onPostExecute(Void args) {
//--- do stuff here
}
}
Любая помощь будет прохладной.
, но это плохая идея ... лучше использовать собственный класс (или, скорее, массив/список из них), например 'class container {string id; нить; string someotherprop;} 'или по крайней мере массив/список' Map ' –
Selvin