Android应用程序没有连接到** localhost **上的网络,如果尝试在Real Mobile Phone上运行

时间:2015-07-08 12:47:00

标签: android retrofit genymotion

我创建了一个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);但是甚至没有请求尊重网址并继续前进。

错误:enter image description here

1 个答案:

答案 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 地址