Я хочу показать изображение в макете профиля в Android Studio, поэтому я пытаюсь получить изображение из базы данных с помощью php.
Когда я пытаюсь получить изображение из базы данных, оно работает, и изображение отображается на веб-странице, но я не знаю, как отправить & восстановить это изображение в Android Studio. Я пытался отправить их в формате JSON, но это не работает. Я пробовал приведенный ниже код.
php file
<?php
require "init.php";
$sql = "SELECT * FROM image where id =1";
$result1 = mysql_query($sql);
$json = array();
if(mysql_num_rows($result1)){
while($row=mysql_fetch_assoc($result1)){
$json['image'][]=$row;
}
}
mysql_close($con);
echo json_encode($json);
?>
код Android
package progressivesolution.com.myapplication;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Base64;
import android.widget.ImageView;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.List;
public class MainActivity extends AppCompatActivity {
public static final int DIALOG_DOWNLOAD_JSON_PROGRESS = 0;
int[] flags;
String strImageName;
int n = 10000;
String[] mySecondStringArray = new String[n];
String[] strArray;
HashMap<String, String> hm;
List<HashMap<String, String>> aList;
InputStream is = null;
String result = "";
JSONObject jArray = null;
private String Qrimage;
private Bitmap bmp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://www.pow-india.com/sample/Scheduler/retrive_img.php");
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
jArray = new JSONObject(result);
JSONArray json = jArray.getJSONArray("image");
for (int i = 0; i < json.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = json.getJSONObject(i);
Qrimage = e.getString("image");
System.out.println(Qrimage);
byte[] qrimage = Base64.decode(Qrimage.getBytes(), i);
System.out.println(qrimage);
bmp = BitmapFactory.decodeByteArray(qrimage, 0, qrimage.length);
ImageView imageview = (ImageView) findViewById(R.id.imageViewShow);
imageview.setImageBitmap(bmp);
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
я хочу изображение базы данных в imageview в андроид студии.
Задача ещё не решена.
Других решений пока нет …