Android 如何在Realt设备中使用改装连接到我的本地REST API
嘿,我正在尝试使用安卓系统中的改型对本地主机服务器进行一些http调用 我尝试了我的本地ip,但没有成功 我得到这个错误:Android 如何在Realt设备中使用改装连接到我的本地REST API,android,retrofit,Android,Retrofit,嘿,我正在尝试使用安卓系统中的改型对本地主机服务器进行一些http调用 我尝试了我的本地ip,但没有成功 我得到这个错误: java.net.SocketTimeoutException: failed to connect to /192.168.1.52 (port 3000) after 10000ms 改造初始化 private val retrofit by lazy { Retrofit.Builder() .baseUrl("h
java.net.SocketTimeoutException: failed to connect to /192.168.1.52 (port 3000) after 10000ms
改造初始化
private val retrofit by lazy {
Retrofit.Builder()
.baseUrl("http://192.168.1.52:3000/")
.addConverterFactory(GsonConverterFactory.create())
.build()
}
我的API调用
interface ItemApi {
@GET("items/{id}")
suspend fun getItems(@Path("id")id:Int): Item
}
不知道如何在真正的设备上实现这一点,许多文章都说要使用本地ip,我做到了,但顶部的错误发生在模拟器上,您可以使用
10.0.2.2
访问您的本地计算机:
private val retrofit by lazy {
Retrofit.Builder()
.baseUrl("http://10.0.2.2:3000/")
.addConverterFactory(GsonConverterFactory.create())
.build()
}
这将比使用物理外部设备更容易,因为您不必处理网络防火墙我认为在模拟器上测试它会更容易,您的Web服务部署在哪里?如果它在本地部署在您的pc上,很难说它是否可以从外部设备访问,即使您连接到同一个LAN(可能您的机器上有防火墙)