如何使用其 url 显示图像?
How to display an image by using its url?
大家好,我想通过 URL 显示网络上的图像。这是我的代码:
public class LasVegas extends ActionBarActivity {
//variable del toolbar o app_bar
private android.support.v7.widget.Toolbar toolbar;
//variable del view de la camara
private ImageView viewCamVegas;
//variable del bitmap(hace la imagen del url)
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//se "liga" la apariencia (xmls) a el codigo de java
setContentView(R.layout.las_vegas);
//le pasamos el view de el xml a la variable viewCamVegas
viewCamVegas = (ImageView) findViewById(R.id.camaraVegas);
bitmap = getBitmapFromURL("http://www.hdwallpapersimages.com/wp-content/uploads/2014/01/Winter-Tiger-Wild-Cat-Images.jpg");
//se le pasa la imagen de el url al imageview
viewCamVegas.setImageBitmap(bitmap);
//se le da el valor de el app_bar o toolbar que creamos a la variable toolbar que creamos en esta clase
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar);
//se aclara que no se va a usar el toolbar de android si no el mio (app_bar)
setSupportActionBar(toolbar);
//Vamos a crear el boton back de el toolbar para regresar a la actividad principal
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
//si se cliquea pico en el menu popout de la appbar y placa despliega la actividad de el pico y placa
if (id == R.id.picoplaca) {
Intent intent = new Intent(this, PicoPlaca.class);
startActivity(intent);
}
//si se cliquea contacto en el menu popout de la appbar despliega la actividad contacto
else if (id == R.id.contactomenu) {
Intent intent = new Intent(this, Contacto.class);
startActivity(intent);
}
//Si se preciona el boton hacia atras, te lleva a la actividad principal
if (id == android.R.id.home)
{
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
//metodo Bitmap que va a poner la imagen de el url
public Bitmap getBitmapFromURL(String src)
{
try
{
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
}
catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
它完美编译,但是当我运行它时,URL应该显示图像的图像视图是空的;它根本不显示任何内容。
我该如何解决这个问题?
您尝试过使用 Picasso 吗?只需将 .jar
文件添加到您的 libs
文件夹并将以下行添加到您的代码中:
Picasso.with(this)
.load("http://www.hdwallpapersimages.com/wp-content/uploads/2014/01/Winter-Tiger-Wild-Cat-Images.jpg")
.into(viewCamVegas);
大家好,我想通过 URL 显示网络上的图像。这是我的代码:
public class LasVegas extends ActionBarActivity {
//variable del toolbar o app_bar
private android.support.v7.widget.Toolbar toolbar;
//variable del view de la camara
private ImageView viewCamVegas;
//variable del bitmap(hace la imagen del url)
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//se "liga" la apariencia (xmls) a el codigo de java
setContentView(R.layout.las_vegas);
//le pasamos el view de el xml a la variable viewCamVegas
viewCamVegas = (ImageView) findViewById(R.id.camaraVegas);
bitmap = getBitmapFromURL("http://www.hdwallpapersimages.com/wp-content/uploads/2014/01/Winter-Tiger-Wild-Cat-Images.jpg");
//se le pasa la imagen de el url al imageview
viewCamVegas.setImageBitmap(bitmap);
//se le da el valor de el app_bar o toolbar que creamos a la variable toolbar que creamos en esta clase
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar);
//se aclara que no se va a usar el toolbar de android si no el mio (app_bar)
setSupportActionBar(toolbar);
//Vamos a crear el boton back de el toolbar para regresar a la actividad principal
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
//si se cliquea pico en el menu popout de la appbar y placa despliega la actividad de el pico y placa
if (id == R.id.picoplaca) {
Intent intent = new Intent(this, PicoPlaca.class);
startActivity(intent);
}
//si se cliquea contacto en el menu popout de la appbar despliega la actividad contacto
else if (id == R.id.contactomenu) {
Intent intent = new Intent(this, Contacto.class);
startActivity(intent);
}
//Si se preciona el boton hacia atras, te lleva a la actividad principal
if (id == android.R.id.home)
{
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
//metodo Bitmap que va a poner la imagen de el url
public Bitmap getBitmapFromURL(String src)
{
try
{
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
}
catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
它完美编译,但是当我运行它时,URL应该显示图像的图像视图是空的;它根本不显示任何内容。
我该如何解决这个问题?
您尝试过使用 Picasso 吗?只需将 .jar
文件添加到您的 libs
文件夹并将以下行添加到您的代码中:
Picasso.with(this)
.load("http://www.hdwallpapersimages.com/wp-content/uploads/2014/01/Winter-Tiger-Wild-Cat-Images.jpg")
.into(viewCamVegas);