Я хочу создать активность, которая будет загружать изображения из Интернета с помощью URL-адресов, и я хочу загрузить эти изображения в виде списка, и я хочу, чтобы какой-то конкретный текст и свойства этого изображения перед этим изображением изображение ниже Click to see Image. Есть ли способ сохранить это изображение временно в памяти телефона. Так как я могу это сделать, пожалуйста, дайте мне идеальное решение, чтобы я мог завершить свое приложение. Как загрузить изображения из Интернета.Android List view
0
A
ответ
0
Давайте попробуем, как этот
URL img_value = новый URL (IMG [положение]);
Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
holder.image.setImageBitmap(mIcon1);
здесь holder.image - это виджет изображения, хранящийся в вашем xml для просмотра изображений.
Он напрямую загружает изображение с данного URL-адреса. или попробуйте сделать это ниже, создав класс с именем DrawableManager ...
новый DrawableManager(). FetchDrawableOnThread (VAL3 [position], holder.icon);
package com.fsp.demo;
import java.io.IOException;
import java.io.InputStream;
import java.lang.ref.SoftReference;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.ImageView;
public class DrawableManager {
@SuppressWarnings("unchecked")
private final Map drawableMap;
public DrawableManager() {
drawableMap = new HashMap<String, SoftReference<Drawable>>();
}
@SuppressWarnings("unchecked")
public Drawable fetchDrawable(String urlString) {
SoftReference<Drawable> drawableRef = (SoftReference<Drawable>) drawableMap
.get(urlString);
if (drawableRef != null) {
Drawable drawable = drawableRef.get();
if (drawable != null)
return drawable;
// Reference has expired so remove the key from drawableMap
drawableMap.remove(urlString);
}
if (Constants.LOGGING)
Log.d(this.getClass().getSimpleName(), "image url:" + urlString);
try {
InputStream is = fetch(urlString);
Drawable drawable = Drawable.createFromStream(is, "src");
drawableRef = new SoftReference<Drawable>(drawable);
drawableMap.put(urlString, drawableRef);
if (Constants.LOGGING)
Log.d(this.getClass().getSimpleName(),
"got a thumbnail drawable: " + drawable.getBounds()
+ ", " + drawable.getIntrinsicHeight() + ","
+ drawable.getIntrinsicWidth() + ", "
+ drawable.getMinimumHeight() + ","
+ drawable.getMinimumWidth());
return drawableRef.get();
} catch (MalformedURLException e) {
if (Constants.LOGGING)
Log.e(this.getClass().getSimpleName(), "fetchDrawable failed",
e);
return null;
} catch (IOException e) {
if (Constants.LOGGING)
Log.e(this.getClass().getSimpleName(), "fetchDrawable failed",
e);
return null;
}
}
@SuppressWarnings("unchecked")
public void fetchDrawableOnThread(final String urlString,
final ImageView imageView) {
// Log.v("Drawable_url",urlString);
SoftReference<Drawable> drawableRef = (SoftReference<Drawable>) drawableMap
.get(urlString);
if (drawableRef != null) {
Drawable drawable = drawableRef.get();
if (drawable != null) {
imageView.setImageDrawable(drawableRef.get());
return;
}
// Reference has expired so remove the key from drawableMap
drawableMap.remove(urlString);
}
final Handler handler = new Handler() {
public void handleMessage(Message message) {
imageView.setImageDrawable((Drawable) message.obj);
}
};
Thread thread = new Thread() {
@Override
public void run() {
// TODO : set imageView to a "pending" image
Drawable drawable = fetchDrawable(urlString);
Message message = handler.obtainMessage(1, drawable);
handler.sendMessage(message);
}
};
thread.start();
}
private InputStream fetch(String urlString) throws MalformedURLException,
IOException {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(urlString);
HttpResponse response = httpClient.execute(request);
return response.getEntity().getContent();
}
}
Смежные вопросы
- 1. Android - json list view
- 2. List View Android App
- 3. android list view items
- 4. Android List view update
- 5. Android List view
- 6. Android List view
- 7. Android List View
- 8. Android Custom List View
- 9. Android LIst view
- 10. Android list view looping
- 11. Calendar List view Android
- 12. Android List View Редактировать Все view apperance
- 13. Android List привязки данных View
- 14. Android list view adapter hiccup
- 15. Tree List View В Android
- 16. Set List View Size Android
- 17. Android List View Item повторяется
- 18. Android list view boxed style
- 19. Android List view с аватаром
- 20. Android list view array adapter
- 21. Android List View Image Issue
- 22. Проблема с Android List view
- 23. android list view image дополнение
- 24. Android List View Limited Height
- 25. android list view image дополнение
- 26. Android Horizontal Dynamic List View
- 27. android list view clickable problem
- 28. Vue list list view
- 29. Grid View List View Toggle
- 30. twitter like list view
Repost из http://stackoverflow.com/questions/4536890/layout-styles-in-android/4536919#4536919 – sahhhm
Покажите нам, что у вас есть .... я не пишу все приложение для вы. – st0le