编辑:
变量:
private ArrayList<HashMap<String, String>> image_list;
private Context mContext;
private ArrayList<String> image_name;
private static final String TAG_Image_Name = "Your Image Tag Name In the Json File";
public static String url_single_image = "Your Single Image Url String";
public static String textCard_url = "Url for Your Json File";
得到所有的JSON文件图像URL字符串到一个ArrayList中
public void getallthumbimages() {
image_list = new ArrayList<HashMap<String, String>>();
image_name = new ArrayList<String>();
JSONArray json = getJSONfromURL(Common.textCard_url);
try {
for (int i = 0; i < json.length(); i++) {
JSONObject c = json.getJSONObject(i);
String full_Image_Url = c.getString(TAG_Image_Name);
Common.Text_card_name.add(full_Image_Url);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_Image_Name, full_Image_Url);
image_list.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
负载单幅图像的ImageView的
public View Load_Image_from_Url(int position) {
ImageView imageView = new ImageView(mContext);
String url_image_string = url_single_image + "/"
+ image_name.get(position);
imageView
.setImageDrawable(LoadImageFromWebOperations(url_image_string));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
return imageView;
}
载入图像从网络
public static Drawable LoadImageFromWebOperations(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (Exception e) {
return null;
}
}
获取JsonArray从网页URL
public static JSONArray getJSONfromURL(String url) {
InputStream is = null;
String result = "";
JSONArray jArray = null;
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = null;
try {
response = httpclient.execute(httpget);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
HttpEntity entity = response.getEntity();
is = entity.getContent();
BufferedReader reader = null;
reader = new BufferedReader(
new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
jArray = new JSONArray(result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jArray;
}
我希望这是你想要的......宰迪马塔.....
请先试试自己。 – sebastian
SO是不是提供源代码..它可以帮助你的错误.. – Riser
这可能会帮助你沙..... http://stackoverflow.com/questions/12923903/how-to-populate-dynamically- created-imageview-through-urls-asyncronously-in-an – Aarun