java - 对本地主机服务器的简单 retrofit2 请求

标签 java android tomcat retrofit2 nosql

尝试制作一个 android 应用程序,该应用程序将与使用 noSQL 服务器(app->tomcat->noSQL)的本地主机服务器(tomcat apache)通信。我已经设法制作一个 servlet 来处理“get”方法上的参数并将它们正确加载到数据库中,现在我正在尝试使用 retrofit2 lib 从我的应用程序中插入数据。 按照视频和教程,我仍然无法完成这项工作。

这是我正在使用的界面:

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,当我点击按钮时什么也没有发生。(它曾经压碎但它停止了)我确信正在调用按钮的功能。

最佳答案

如果您使用的是模拟器,则将 URL 更改为 http://10.0.2.2:8080/

关于java - 对本地主机服务器的简单 retrofit2 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40077927/

相关文章:

java - log4j 日志文件不更新

java - 类加载器问题 Tomcat 6 javagent

java - 循环直到条件在 RxJava 中变为真

android - 如何使用 Android 在不使用 toast(Alter 对话框)的情况下在设置错误消息中制作编辑文本框?

android - 如何在运行时获取应用程序的总内存使用量?

java - org.apache.http.entity.FileEntity在Android 6中已弃用(棉花糖)

spring - jOOQ 3.1 打印日志,但 jOOQ 3.4 不打印

java - lambda 表达式每次执行时都会在堆上创建一个对象吗?

java - JPA 1.0 Hibernate & Derby HashMap 与 Enum 键用法

java - 切换文字位大小