2016-10-17 3 views
1

versucht, eine Android-App, die mit einem Localhost-Server (Tomcat Apache), die NoSQL-Server verwenden (app-> Tomcat-> noSQL) kommunizieren wird. Ich schaffe es bereits, ein Servlet zu erstellen, das params auf "get" -Methode behandelt und sie korrekt in die Datenbank lädt, jetzt versuche ich, die Daten aus meiner App mit retrofit2 lib einzufügen. folgende Videos und Tutorials konnte ich noch nicht schaffen, dies zu tun.Einfache Retrofit2-Anfrage an einen Localhost-Server

dies ist die Schnittstelle ich verwende:

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(); 
} 

und dies ist der Code, den ich verwende, wenn der Knopf in der App angeklickt wird:

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(); 
    } 



}); 

so atm, nichts passieren, wenn ich Ich klicke auf den Knopf (es war zu knacken, aber es hörte auf) und ich bin mir sicher, dass die Funktion des Knopfes aufgerufen wird.

Antwort

0

Wenn Sie einen Emulator verwenden, ändern Sie die URL in http://10.0.2.2:8080/.

+0

Die App ist auf meinem Telefon installiert –

+1

Dann verwenden Sie die IP-Adresse Ihres PCs –

Verwandte Themen