Как показать изображение php в imageview?

Я пытаюсь с этим кодом, и он не работает.
Как я могу скачать эту картинку и показать ее.

мой код Java

private ImageView iv;
private Bitmap bitmap;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_showprofile);

iv = (ImageView) findViewById(R.id.virus);
bitmap = getBitmapFromURL("http://getbloodbd.org/image.php?no=4");
iv.setImageBitmap(bitmap);}

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) {
// TODO: handle exception
e.printStackTrace();
return null;
}
}

и мой код XML

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"tools:context="org.getbloodbd.getbloodbd.ShowprofileActivity"tools:showIn="@layout/app_bar_showprofile">

<RelativeLayout
android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">

<ImageView
android:id="@+id/virus"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_alignParentStart="true" />

</RelativeLayout>

и мой PHP-код и в методе веб-просмотра он работает нормально, но просмотр изображений не работает, но мне нужен метод просмотра изображений.

   <?php include 'config.php';header("Content-type: image/gif" );$no=$_GET['no']; $dn = mysql_query('select  image from images where no="'.$no.'"'); $dnn = mysql_fetch_array($dn); $data = $dnn['image'];echo base64_decode($data);?>

Как это решить?

0

Решение

Не нужно делать код для загрузки изображения.
Существует знаменитая библиотека для загрузки изображений для приложения Android, Picasso позаботится о повторных вызовах, а также сохранит изображение в кеше приложения. Таким образом, одно и то же изображение не загружается каждый раз.

Зависимость от Пикассо есть

compile 'com.squareup.picasso:picasso:2.5.2'

Picasso.with(context).load(your_image_url).into(imageView);
0

Другие решения

Вы можете загрузить изображение с URL, как показано ниже

URL url = new URL("image full path");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(bmp);

другой способ загрузить изображение

private Bitmap bmp;

new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
InputStream in = new URL(IMAGE_URL).openStream();
bmp = BitmapFactory.decodeStream(in);
} catch (Exception e) {
// log error
}
return null;
}

@Override
protected void onPostExecute(Void result) {
if (bmp != null)
imageView.setImageBitmap(bmp);
}

}.execute();

пожалуйста ссылка Вот.
Пожалуйста, попробуйте

0

Перейдите по этой ссылке Кликните сюда.

Убедитесь, что в вашем AndroidManifest.xml установлены следующие разрешения для доступа к Интернету.

<uses-permission android:name="android.permission.INTERNET" />
0

Вы должны использовать библиотеку Glide: https://github.com/bumptech/glide

Импортировать

compile 'com.github.bumptech.glide:glide:4.1.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.1.1'

Использование:

Glide.with(this).load("http://getbloodbd.org/image.php?no=4").into(iv);

Или, если вы хотите получить Bitmap:

Glide.with(this).asBitmap().load("http://getbloodbd.org/image.php?no=4").listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
return false;
}

@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
iv.setImageBitmap(resource);
return false;
}
});
0

Йо может использовать Пикассо или же скольжение для получения изображения с сервера и загрузки в ImageView с большим количеством опций.

  • Образец для Пикассо

    Picasso.with(context)
    .load(url)
    .centerCrop()
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
    .into(imageView);
    
  • Образец для скольжения

    GlideApp
    .with(context)
    .load(url)
    .centerCrop()
    .placeholder(R.drawable.loading_spinner)
    .into(imageView);
    

не забудьте добавить интернет-разрешение в файл AndroidManifest.xml.

<uses-permission android:name="android.permission.INTERNET" />
0
По вопросам рекламы [email protected]