我创建了一个Android应用程序,通过使用 Retrofit 与Restful WebService进行通信。在运行** Genymotion **时表现良好,意味着它正在发送请求并得到回复。
但是当我在 Real Mobile Phone 上运行时,App正在运行,但它甚至没有发送请求。任何人都可以告诉我为什么会这样?
AfterEdit:当我们有
时Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://10.0.3.2:8082")
.setConverter(new GsonConverter(gson))
.build();
RetrofitService service = restAdapter.create(RetrofitService.class);
try {
ServerResponse serverResponse = service.checkLogin(loginDetails);
...}
他们是Retrofit界面
public interface RetrofitService {
@Headers({ "Content-Type: application/json" })
@POST("/VendorWebApplication/userLogin")
public ServerResponse checkLogin(@Body LoginDetails loginDetails);}
现在,当它正在向service.checkLogin(loginDetails)
进行游戏时,预计它应该请求尊重的网络服务,这正是genymotion正确发生的。但是当在移动设备上运行时,它正在上升ServerResponse serverResponse = service.checkLogin(loginDetails);
但是甚至没有请求尊重网址并继续前进。
错误:
答案 0 :(得分:0)
当我们尝试运行Android应用程序时,它连接到 localhost 上的WebService,
确保它在 Genymotion 上运行时,IP地址应该是 http://10.0.3.2:8082/UrAddress 或http://10.0.2.2:8082/UrAddress
当您在真实移动设备上运行时,请确保 MOBILE和PC应连接到同一网络而不是10.0.3.2插入 PC的IP 地址