2016-10-17 15 views
1

SQLサーバを使用しないローカルホストサーバ(tomcat apache)と通信するアンドロイドアプリを作成しようとしています(app-> tomcat-> noSQL)。私はすでに "get"メソッドでparamsを処理し、データベースに正しくロードするサーブレットを作成することができます。これでretrofit2 libを使用してアプリケーションからデータを挿入しようとしています。 vidsとチュートリアルに続いて私はまだこの作業をすることができませんでした。localhostサーバへの単純な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(); 
    } 



}); 

ので、ATMとき、私、何も起こりませんボタンをクリックしています(それは壊れていましたが、停止しました)、私はボタンの機能が呼び出されていると確信しています。

答えて

0

エミュレータを使用している場合は、URLをhttp://10.0.2.2:8080/に変更してください。

+0

アプリが私の電話機にインストールされています –

+1

あなたのPCのIPアドレスを使用してください –

関連する問題