Как я могу отображать изображение в ImageView
в android из URL-адреса (из Интернета)?
Как отобразить изображение из Интернета в Android?
Ответ 1
Вы можете использовать метод setImageDrawable
ImageView iv = new ImageView;
URL url = new URL(address);
InputStream content = (InputStream)url.getContent();
Drawable d = Drawable.createFromStream(content , "src");
iv.setImageDrawable(d)
[2014-12-16] Редактировать: использование Picasso делает вашу жизнь намного проще
String url = "http://i.imgur.com/bIRGzVO.jpg";
ImageView iv = new ImageView;
Picasso.with(context).load(url).into(iv);
//Picasso.with(context).load(url).centerCrop().fit().into(iv);
Ответ 2
Я думаю, вы можете использовать метод setImageUri. URI можно построить с помощью Uri.parse.
Ответ 3
сначала вам нужно нажать URL-адрес изображения и сохранить сервер данных в виде массива байтов, тогда вам нужно преобразовать эти байтовые данные в растровое изображение. Вот код
String myfeed="http://174.136.1.35/dev/atmsearch/visa.jpg";
try{
URL url=new URL(myfeed);
URLConnection connection=url.openConnection();
connection.setDoOutput(true);
connection.setDoOutput(true);
connection.setRequestProperty("METHOD", "POST");
connection.setRequestProperty("Content-Type","application/x-www-from-urlencoded");
HttpURLConnection httpConnection=(HttpURLConnection)connection;
int responsecode=httpConnection.getResponseCode();
if(responsecode==HttpURLConnection.HTTP_OK){
InputStream in=((URLConnection)httpConnection).getInputStream();
int len=0;
Bitmap b=BitmapFactory.decodeStream(in);
System.out.println(b.toString());
byte[] data1=new byte[1024];
while(-1!=(len=in.read(data1))){
System.out.println("--input stream--");
datafromserver.append(new String(data1,0,len));
}
//System.out.println(datafromserver);
}
}catch(IOException e){
System.out.println("Error...."+e);
//Toast.makeText(context, text, duration)
}
//Теперь установите растровое изображение в виде изображения imageview.setImageBitmap(б);
Ответ 4
Сначала нажмите ссылку на изображение, затем вы получите изображение в виде байтового массива. Теперь просто декодируйте массив байтов в растровое изображение. Давайте посмотрим:
package Image.Read.a;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import android.graphics.BitmapFactory;
public class Connecetion1
{
public void setNetwork()
{
try
{
URL url = new URL("http://3.bp.blogspot.com/_9UYLMDqrnnE/S4UgSrTt8LI/AAAAAAAADxI/drlWsmQ8HW0/s400/sachin_tendulkar_double_century.jpg");
URLConnection connection=url.openConnection();
HttpURLConnection HCon=(HttpURLConnection)connection;
int ResCode=HCon.getResponseCode();
System.out.println("Responce Code is = "+ResCode);
if(ResCode==HttpURLConnection.HTTP_OK)
{
InputStream ins=((URLConnection)HCon).getInputStream();
Data.StoreImg=BitmapFactory.decodeStream(ins);
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
Вы можете получить полный учебник из http://www.androidcookers.blogspot.com/2011/06/retrieve-image-from-internet.html