I want to download image from mysql database and display in android image view but it is not being displayed.Following are my java file and php file.There is no error but in my logcat i get factory return null..I can't find where am i going wrong.Thanks in advance...
package com.example.admin.myapplication;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Base64;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Created by admin on 8/10/2016.
*/
public class ViewImages extends Activity implements View.OnClickListener {
private EditText editTextId;
private Button buttonGetImage;
private ImageView imageView;
private requesthandler requestHandlers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
editTextId = (EditText) findViewById(R.id.editTextId);
buttonGetImage = (Button) findViewById(R.id.buttonGetImage);
imageView = (ImageView) findViewById(R.id.imageViewShow);
requestHandlers = new requesthandler();
buttonGetImage.setOnClickListener(this);
}
private void getImage() {
String id = editTextId.getText().toString().trim();
class GetImage extends AsyncTask<String,Void,Bitmap>{
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(ViewImages.this, "Uploading...", null,true,true);
}
@Override
protected void onPostExecute(Bitmap b) {
super.onPostExecute(b);
loading.dismiss();
imageView.setImageBitmap(b);
}
@Override
protected Bitmap doInBackground(String... params) {
String id = params[0];
String add = "http://10.0.2.2/project/getimage.php?id="+id;
URL url = null;
Bitmap image = null;
try {
url = new URL(add);
// byte[] data = Base64.decode(image);
// image = BitmapFactory.
image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return image;
}
}
GetImage gi = new GetImage();
gi.execute(id);
}
@Override
public void onClick(View v) {
getImage();
}
}
and this is my php code
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB','vineet');
$con = mysqli_connect(HOST,USER,PASS,DB);
if($_SERVER['REQUEST_METHOD']=='GET'){
$id = $_GET['id'];
$sql = "select * from image where id = '$id'";
//require_once('dbConnect.php');
$r = mysqli_query($con,$sql);
$result = mysqli_fetch_array($r);
header('Content-Type: image/jpeg');
echo (base64_encode( $result['image']));
mysqli_close($con);
}else{
echo "Error";
}