2016-10-17 4 views
1

noSQL 서버 (app-> tomcat-> noSQL)를 사용하는 로컬 호스트 서버 (tomcat apache)와 통신 할 수있는 android 응용 프로그램을 만들려고합니다. 나는 이미 "get"메서드에서 params를 처리하고 올바르게 데이터베이스에로드하는 서블릿을 만들 수 있습니다. 이제는 retrofit2 lib를 사용하여 응용 프로그램의 데이터를 삽입하려고합니다. 다음 vids 및 자습서 나는이 작업을 수행 할 수 없다. 로컬 호스트 서버에 간단한 retrofit2 요청

은 내가 사용하고있는 인터페이스입니다 :

public interface APIService { 

    @POST("login") 
    Call<Boolean> postUser(@Body User user); 

    @GET("login") 
    Call<Boolean> getUser(@Query("user_email") String user_email,@Query("user_pass") String user_pass); 

    public static final Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl("http://localhost:8080/") 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 
} 

이 버튼은 응용 프로그램에서 클릭 할 때 내가 사용하고 코드입니다 : 때 아무것도 발생하지 않는 문제

APIService ApiService = APIService.retrofit.create(APIService.class); 

User user = new User(name, email); 
Call<Boolean> call = ApiService.getUser(email,name); 
call.enqueue(new Callback<Boolean>() { 
    @Override 
    public void onResponse(Call<Boolean> call, Response<Boolean> response) { 
     String ans = response.message(); //for debugging 
     if (ans.compareTo("yes") == 0) { 
      Toast.makeText(getApplicationContext(), "YES!", Toast.LENGTH_SHORT).show(); 
     } else if (ans.compareTo("no") == 0) { 
      Toast.makeText(getApplicationContext(), "NO!", Toast.LENGTH_SHORT).show(); 
     } else { 
      Toast.makeText(getApplicationContext(), "ELSE?!", Toast.LENGTH_SHORT).show(); 
     } 
    } 

    @Override 
    public void onFailure(Call<Boolean> call, Throwable t) { 
     Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_SHORT).show(); 
    } 



}); 

그렇게 기압 버튼을 클릭하고 있습니다 (부숴 버렸지 만 멈 춥니 다). 그리고 버튼의 기능이 호출되고 있다고 확신합니다.

답변

0

에뮬레이터를 사용하는 경우 URL을 http://10.0.2.2:8080/으로 변경하십시오.

+0

앱이 휴대 전화에 설치되어 있습니다. –

+1

그런 다음 PC의 IP 주소를 사용하십시오. –

관련 문제