(Slim + Retrofit Android Studio App)请求无效
(Slim + Retrofit Android Studio App)Requests not working
我正在开发一个 android 应用程序,使用 Slim Framework 和 Retrofit Library 将 de API 连接到该应用程序,但我遇到了一个问题,当我在我的电脑上工作时,我使用 Android Studio 模拟器尝试该应用程序一切正常,但是当我将我的笔记本电脑与相同的 API 和相同的 Android Studio 项目一起使用时,似乎请求不起作用,我的意思是,当我按下按钮登录时,应用程序没有执行请求,或者请求不起作用,我不知道为什么。
有人知道怎么解决吗?
非常感谢
那是RetrofitClient class 我用来连接android 应用程序和slim API,BASE_URL 是我的PC IP,BASE_URL _PC 是我的笔记本电脑 IP,每当我更改网络连接时,我都会使用 cmd 和 ipconfig 命令更新此 IP:
public class RetrofitClient {
/* TODO: Preguntar a Juan porque no va ni en el portatil ni en el movil pero si en el fijo */
private static final String BASE_URL = "http://147.96.127.212/CharmAppAPI/public/";
private static final String BASE_URL_PC = "http://192.168.43.71/CharmAppAPI/public/";
private static RetrofitClient instance;
private Retrofit retrofit;
private RetrofitClient(){
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_PC)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static synchronized RetrofitClient getInstance(){
if(instance == null){
instance = new RetrofitClient();
}
return instance;
}
public APICalls getAPI(){
return retrofit.create(APICalls.class);
}
}
调试改造请使用日志拦截器
//apply dependencies
dependencies {
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.5'
}
//setup in retrofit
private RetrofitClient(){
val logging=HttpLoggingInterceptor()
logging.level=HttpLoggingInterceptor.Level.BODY
val xclient=OkHttpClient.Builder()
xclient.addInterceptor(logging)
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_PC)
.addConverterFactory(GsonConverterFactory.create())
.client(xclient.build())
.build();
}
如果您使用模拟器,则本地主机 IP 为:http://10.0.2.2/
我正在开发一个 android 应用程序,使用 Slim Framework 和 Retrofit Library 将 de API 连接到该应用程序,但我遇到了一个问题,当我在我的电脑上工作时,我使用 Android Studio 模拟器尝试该应用程序一切正常,但是当我将我的笔记本电脑与相同的 API 和相同的 Android Studio 项目一起使用时,似乎请求不起作用,我的意思是,当我按下按钮登录时,应用程序没有执行请求,或者请求不起作用,我不知道为什么。
有人知道怎么解决吗?
非常感谢
那是RetrofitClient class 我用来连接android 应用程序和slim API,BASE_URL 是我的PC IP,BASE_URL _PC 是我的笔记本电脑 IP,每当我更改网络连接时,我都会使用 cmd 和 ipconfig 命令更新此 IP:
public class RetrofitClient {
/* TODO: Preguntar a Juan porque no va ni en el portatil ni en el movil pero si en el fijo */
private static final String BASE_URL = "http://147.96.127.212/CharmAppAPI/public/";
private static final String BASE_URL_PC = "http://192.168.43.71/CharmAppAPI/public/";
private static RetrofitClient instance;
private Retrofit retrofit;
private RetrofitClient(){
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_PC)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static synchronized RetrofitClient getInstance(){
if(instance == null){
instance = new RetrofitClient();
}
return instance;
}
public APICalls getAPI(){
return retrofit.create(APICalls.class);
}
}
调试改造请使用日志拦截器
//apply dependencies
dependencies {
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.5'
}
//setup in retrofit
private RetrofitClient(){
val logging=HttpLoggingInterceptor()
logging.level=HttpLoggingInterceptor.Level.BODY
val xclient=OkHttpClient.Builder()
xclient.addInterceptor(logging)
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_PC)
.addConverterFactory(GsonConverterFactory.create())
.client(xclient.build())
.build();
}
如果您使用模拟器,则本地主机 IP 为:http://10.0.2.2/