onFailure () при модернизации через исключение тайм-аута - PullRequest
0 голосов
/ 10 ноября 2019

я впервые использую здесь модернизацию и хочу зарегистрировать пользователя в базе данных MySQL. Код, кажется, хорошо, но не работает, так как я получаю исключение тайм-аута на onFailure (Call call, Throwable t) метод.

enter image description here

Вот мой модифицированный интерфейс API

public interface RegisterUserRetrofit {

@GET("insert_user_post.php")
Call <User> createUser(
        @Query("name") String name,
        @Query("password") String password,
        @Query("mobile") String mobile,
        @Query("email") String email,
        @Query("image") String image
);

}

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(REGISTER_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();



    private void registerUserUsingRetrofit (String name, String password, String mobile, String email, String photo) {
    User user = new User(name, password,email, mobile, photo);

    Call <User> call = registerUserRetrofit.createUser(name, password, mobile, email, photo);
    call.enqueue(new Callback<User>() {
        @Override
        public void onResponse(Call<User> call, Response<User> response) {
            if (response.code() == 200){
                progressDialog.dismiss();
                Toasty.success(Register.this,"Registered Succesfully",Toast.LENGTH_SHORT,true).show();
            }else if (response.code()== 0){
                progressDialog.dismiss();
                Toasty.success(Register.this,"Somthing went wrong, server error",Toast.LENGTH_SHORT,true).show();
            }
        }

        @Override
        public void onFailure(Call<User> call, Throwable t) {
            progressDialog.dismiss();
            Toasty.success(Register.this,"Registered failed R",Toast.LENGTH_SHORT,true).show();
            Log.e(LOG_TAG,"Error response code: " + t.getMessage());
        }
    });
}

, а вот мой API, использующий PHP

<?php
header('Content-Type: application/json');

if (!isset($_GET['name']) || empty($_GET['name']))
{
  echo "Enter full name";
      return;
}

if (!isset($_GET['password']) || empty($_GET['password']))
{
  echo "Enter password";
      return;
}



include "connection.php";

$user_name = $_GET['name'];
$user_password = $_GET['password'];
$user_email = $_GET['email'];
$user_mobile = $_GET['mobile'];
$user_image = $_GET['image'];


$sql = "INSERT INTO `mobile_souq_user`(`user_name`, `user_password`, `user_email`, `user_mobile`, `user_image`) VALUES ('$user_name','$user_password','$user_email','$user_mobile','$user_image')";

// if (mysqli_query($con,$sql)){
//     $status ="ok";
// }else{
//     $status = "error";
// }


if ($conn->query($sql) === TRUE) {

    //echo "200";
    echo json_encode(Array('response' => 200));

} else {

      //echo "0";
     echo json_encode(Array('response' => 0));

}

// if(mysqli_query($con, $sql)){
//     $status = "ok";
// }else {
//     $status = "error";
// }
//      echo json_encode(Array('response' => $status));



$conn->close();


?>

Я не могупонять, почему это не работает, так как код не выдает ошибку.

только как на изображении выше Исключение тайм-аута.

Я использовал AsyncTask и HttpURLConnection, и он работал нормально и быстро без ошибок. в то время как использование дооснащения занимает немного времени, оно дает мне сообщение об ошибке.

Может кто-нибудь подсказать мне, что здесь за ошибка и как ее исправить?

1 Ответ

0 голосов
/ 12 ноября 2019

Что вы посылаете в образе ?? Строка и какова длина этой строки ??

...