Я хочу загрузить изображение из базы данных MySQL и отобразить изображение на Android ImageView
, но оно не отображается. Ниже я включил код для моего java-файла и php-файла. Ошибок нет, но в моем логарифме я получаю фабричный возврат null. Я не могу найти, где я ошибаюсь. Заранее спасибо.изображение не отображается в android
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Created by GIOVANI on 10/19/2016.
*/
public class GetAllImages {
public static String[] imageURLs;
public static Bitmap[] bitmaps;
public static final String JSON_ARRAY="result";
public static final String IMAGE_URL = "url";
private String json;
private JSONArray urls;
public GetAllImages(String json){
this.json = json;
try {
JSONObject jsonObject = new JSONObject(json);
urls = jsonObject.getJSONArray(JSON_ARRAY);
} catch (JSONException e) {
e.printStackTrace();
}
}
private Bitmap getImage(JSONObject jo){
URL url = null;
Bitmap image = null;
try {
url = new URL(jo.getString(IMAGE_URL));
image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return image;
}
public void getAllImages() throws JSONException {
bitmaps = new Bitmap[urls.length()];
imageURLs = new String[urls.length()];
for(int i=0;i<urls.length();i++){
imageURLs[i] = urls.getJSONObject(i).getString(IMAGE_URL);
JSONObject jsonObject = urls.getJSONObject(i);
bitmaps[i]=getImage(jsonObject);
}
}
}
И это мой PHP код:
<?php
//Importing database
require_once('dbConnect.php');
$sql = "SELECT * FROM foto ";
//result
$r = mysqli_query($con,$sql);
$result = array();
while($row = mysqli_fetch_array($r)){
array_push($result,array("id"=>$row['id'],
"image"=>$row['image'],
"judul"=>$row['judul']
));
}
//Tampilkan dalam format json
echo json_encode(array('result'=>$result));
mysqli_close($con);
?>
Пожалуйста, отредактируйте свой вопрос, чтобы включить свой логарифм. – buczek
Если у вас нет особых причин, НЕ храните изображения внутри своей базы данных. Вы должны хранить их в веб-папке, возможно, переименованной с GUID aka UUID, а затем в своей базе данных у вас есть столбец image_name с этим именем файла, а затем просто укажите на него через HTML. Хранение изображений внутри вашей базы данных является наихудшим подходом здесь, если у вас нет особо специализированной причины, но я никогда никого не видел в этой ситуации. – TravisO