- При извлечении изображения из базы данных по его имени происходит сбой приложения
- Я использую сетевое изображение, чтобы сначала загрузить изображение в приложение
- , в EditText взять имя изображения ипроверьте imageName в базе данных. Доступно или нет имя изображения.
- выборка изображений с использованием библиотеки залпа
- ниже кода, который я пытался получить, но этот метод не работает
xml
<EditText
android:layout_width="match_parent"
android:textColor="#FFF"
android:textColorHint="#c9c5c5"
android:id="@+id/carname"
android:layout_marginTop="10dp"
android:inputType="text"
android:hint="Enter image name !"
android:layout_height="wrap_content" />
<Button
android:layout_width="match_parent"
android:textColor="#FFF"
android:background="#606062"
android:text="Fetch"
android:layout_gravity="center"
android:padding="20dp"
android:textAllCaps="false"
android:id="@+id/viewButton"
android:layout_marginTop="10dp"
android:layout_height="wrap_content" />
<com.android.volley.toolbox.NetworkImageView
android:layout_height="300dp"
android:layout_width="match_parent"
android:id="@+id/previewimage"/>
Java
private void FetchImage() {
{
StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://192.168.43.63/datauploader/fetch_image.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject res = new JSONObject(response);
JSONArray thread = res.getJSONArray("image");
for (int i = 0; i < thread.length(); i++) {
JSONObject obj = thread.getJSONObject(0);
url = obj.getString("image");
}
imageLoader.get(url, ImageLoader.getImageListener(previewImage
,0,android.R.drawable
.ic_dialog_alert));
previewImage.setImageUrl(url, imageLoader);
/* */
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("title",editText.getText().toString().trim());
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(mActivity);
requestQueue.add(stringRequest);
}
}
PHP
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$name = $_POST['title'];
$username="localhost";
$hostname="root";
$password="";
$dbname="android";
$conn=mysqli_connect($username,$hostname,$password,$dbname);
$sql = "SELECT `image` FROM `products` WHERE title='$name'";
$response = array();
$result = $conn->query($conn,$sql) or die (mysqli_error($conn));
if (!empty($result)) {
if (mysqli_num_rows($result) > 0) {
$result = mysqli_fetch_array($result);
$data = array();
$data["id"] = $result["id"];
$data["title"] = $result["title"];
$data["image"] = $result["image"];
// success
$response["success"] = 1;
$response["image"] = array();
array_push($response["image"], $data);
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "No data found";
echo json_encode($response);
}
} else {
$response["success"] = 0;
$response["message"] = "No data found";
// echo no users JSON
echo json_encode($response);
}
}else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
logcat
org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
2019-09-25 10:01:37.225 25759-25759/com.example.datauploader W/System.err: at org.json.JSON.typeMismatch(JSON.java:111)
2019-09-25 10:01:37.225 25759-25759/com.example.datauploader W/System.err: at org.json.JSONObject.<init>(JSONObject.java:160)
2019-09-25 10:01:37.225 25759-25759/com.example.datauploader W/System.err: at org.json.JSONObject.<init>(JSONObject.java:173)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.example.datauploader.ViewCar$2.onResponse(ViewCar.java:80)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.example.datauploader.ViewCar$2.onResponse(ViewCar.java:76)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:82)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:29)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at android.os.Handler.handleCallback(Handler.java:751)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at android.os.Looper.loop(Looper.java:154)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6119)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
2019-09-25 10:01:37.226 25759-25759/com.example.datauploader W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)