Php 如何在异步任务上加载映像
Android(Java)使用asynctask加载图像Php 如何在异步任务上加载映像,php,android,mysql,json,android-asynctask,Php,Android,Mysql,Json,Android Asynctask,Android(Java)使用asynctask加载图像 @Override protected String doInBackground(String... arg0) { mNewsList = new ArrayList<HashMap<String, String>>(); JSONParser jParser = new JSONParser(); JSON
@Override
protected String doInBackground(String... arg0) {
mNewsList = new ArrayList<HashMap<String, String>>();
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(URL);
try {
mNews = json.getJSONArray(TAG_POSTS);
for (int i = 0; i < mNews.length(); i++) {
JSONObject c = mNews.getJSONObject(i);
String image = c.getString(TAG_IMAGE);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_IMAGE, image);
mNewsList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
ListAdapter adapter = new SimpleAdapter(Home.this, mNewsList,
R.layout.news_list, new String[] {TAG_IMAGE},
new int[]{R.id.ivImage});
newsList.setAdapter(adapter);
}
@覆盖
受保护的字符串doInBackground(字符串…arg0){
mNewsList=newarraylist();
JSONParser jParser=新的JSONParser();
JSONObject json=jParser.getJSONFromUrl(URL);
试一试{
mNews=json.getJSONArray(TAG_POSTS);
for(int i=0;i
如何使用asynctask加载图像
@Override
protected String doInBackground(String... arg0) {
mNewsList = new ArrayList<HashMap<String, String>>();
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(URL);
try {
mNews = json.getJSONArray(TAG_POSTS);
for (int i = 0; i < mNews.length(); i++) {
JSONObject c = mNews.getJSONObject(i);
String image = c.getString(TAG_IMAGE);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_IMAGE, image);
mNewsList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
ListAdapter adapter = new SimpleAdapter(Home.this, mNewsList,
R.layout.news_list, new String[] {TAG_IMAGE},
new int[]{R.id.ivImage});
newsList.setAdapter(adapter);
}
尝试使用惰性列表适配器,但不适合我的需要。私有类下载ImageTask扩展异步任务{
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
图像视图bmImage;
公共下载ImageTask(ImageView bmImage){
this.bmImage=bmImage;
}
受保护位图doInBackground(字符串…URL){
字符串urldisplay=url[0];
位图mIcon11=null;
试一试{
InputStream in=newjava.net.URL(urldisplay.openStream();
mIcon11=BitmapFactory.decodeStream(in);
}捕获(例外e){
Log.e(“Error”,e.getMessage());
e、 printStackTrace();
}
返回mIcon11;
}
受保护的void onPostExecute(位图结果){
bmImage.setImageBitmap(结果);
}
}
图像的扩展是什么?当您获得图像的链接时,只需执行asynctask并将链接按如下方式传递给它:new DownloadImageTask(holder.imageview)。execute(link);检查此完整教程