Не удалось подключиться к /192.168.43.23 (порт 8000) из /192.168.43.1 (порт 47726) после 10000ms


Не удалось подключиться к /192.168.43.23 (порт 8000) из /192.168.43.1 (порт 47726) после 10000ms

18.10.2020 04:38:08 Просмотров 50 Источник

Я создаю Login Activity в Android Studio, используя Laravel REST API. Я запускаю приложение на real device (Android version 9). API-интерфейс работал почтальоном, но не в приложении. IP-адрес моего компьютера-192.168.43.23. Когда я пытаюсь войти в систему, вот ошибка Failed to connect to /192.168.43.23 (port 8000) from /192.168.43.1 (port 47726) after 10000ms. У вас есть какие-нибудь идеи, как ее решить? Спасибо. Вот мой код в LoginActivity.java:

private void login(String email, String password) {
    apiInterface = ApiClient.getClient().create(ApiInterface.class);
    Call<Login> loginCall = apiInterface.loginResponse(email, password);
    loginCall.enqueue(new Callback<Login>() {
        @Override
        public void onResponse(Call<Login> call, Response<Login> response) {
            if(response.body() != null && response.isSuccessful() && response.body().isStatus()){

                sessionManager = new SessionManager(LoginActivity.this);
                LoginData loginData = response.body().getLoginData();
                sessionManager.createLoginSession(loginData);

                Toast.makeText(LoginActivity.this, response.body().getLoginData().getEmail(), Toast.LENGTH_SHORT).show();
                Intent intentLogin = new Intent(LoginActivity.this, MainActivity.class);
                startActivity(intentLogin);
                finish();

            }else{
                Toast.makeText(LoginActivity.this, response.body().getMessage(), Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onFailure(Call<Login> call, Throwable t) {
            Toast.makeText(LoginActivity.this, t.getLocalizedMessage(), Toast.LENGTH_SHORT).show();

        }
    });

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    sessionManager = new SessionManager(MainActivity.this);
    if(!sessionManager.isLoggedIn()){
        moveToLogin();
    }
}

private void moveToLogin() {
    Intent intent = new Intent(MainActivity.this, LoginActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);
    finish();
}

ApiClient.Java

public class ApiClient {
private static final String BASE_URL = "http://192.168.43.23:8000/api/";

private static Retrofit retrofit;

public static Retrofit getClient() {
    if (retrofit == null){
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
    return retrofit;
}

ApiInterface.java

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

public interface ApiInterface {

   @FormUrlEncoded
   @POST("loginPassenger")
   Call<Login> loginResponse(
        @Field("email") String email,
        @Field("password") String password
   );
 }

Login.java

Android Studio0

LoginData.java

Android Studio1

AndroidManifest.xml

Android Studio2

построить.Gradle в

Android Studio3

network_security_config.xml

Android Studio4
У вопроса есть решение - Посмотреть?

Ответы - Не удалось подключиться к /192.168.43.23 (порт 8000) из /192.168.43.1 (порт 47726) после 10000ms / Failed to connect to /192.168.43.23 (port 8000) from /192.168.43.1 (port 47726) after 10000ms

Является ответом!
Bomzan

18.10.2020 04:44:18

работает ли ваш api из браузера вашего телефона? проверьте, отправляет ли ваш api правильный ответ из chrome или любого браузера с вашего смартфона.

Помочь в развитии проекта:
Закрыть X