Java 如何通过使用mediator类简化改造

Java 如何通过使用mediator类简化改造,java,android,retrofit,Java,Android,Retrofit,我想从服务器检索Json并将其传递给WebView,然后在JavaScript函数中使用它。所以我认为我不需要一个Java类来保存数据并在Java环境中使用它。实际上,我想省略我在改型中使用的mediator cals(Users)。理解改造请求的结构对我来说很复杂,所以我不知道如何在没有中介类的情况下直接使用响应。这是我当前的代码: 在主要活动中: public void getUserList(){ GetUsers users = RetrofitInstance.ge

我想从服务器检索Json并将其传递给WebView,然后在JavaScript函数中使用它。所以我认为我不需要一个Java类来保存数据并在Java环境中使用它。实际上,我想省略我在改型中使用的mediator cals(Users)。理解改造请求的结构对我来说很复杂,所以我不知道如何在没有中介类的情况下直接使用响应。这是我当前的代码:

主要活动中

  public void getUserList(){
        GetUsers users = RetrofitInstance.getRetrofitInstance().create(GetUsers.class);
        Call<Users> call = users.getUserList("myUsername");
        call.enqueue(new Callback<Users>() {
            @Override
            public void onResponse(Call<Users> call, Response<Users> response) {
                PassUsersToJavaScript(response.body().getList());
            }

            @Override
            public void onFailure(Call<Users> call, Throwable t) {
                Toast.makeText(MainActivity.this, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
            }
        });
    }

    public void PassUsersToJavaScript(String users){
        //Here I pass users to WebView
    }
这是中介接口GetUsers

public interface GetUsers {
    @GET("list/")
    Call<Users> getUserList(@Query("user") String user);
}
公共接口GetUsers{ @获取(“列表/”) 调用getUserList(@Query(“user”)字符串user); } 如何省略类Users.java并直接在下面的行中使用response.body()

  public void onResponse(Call<Users> call, Response<Users> response) {
            PassUsersToJavaScript(response.body().getList());
        }
public void onResponse(调用、响应){
PassUsersToJavaScript(response.body().getList());
}

我发现我可以为类、对象、页面甚至字符串分配改型。上述问题中的模型类用户可以直接替换为任何类似的JsonObject

public void getUserList(){
        GetUsers users = RetrofitInstance.getRetrofitInstance().create(GetUsers.class);
        Call<JsonObject> call = users.getUserList("myUsername");
        call.enqueue(new Callback<JsonObject>() {
            @Override
            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
                PassUsersToJavaScript(response.body().getList());
            }

            @Override
            public void onFailure(Call<JsonObject> call, Throwable t) {
                Toast.makeText(MainActivity.this, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
            }
        });
    }
public void getUserList(){
GetUsers users=RefughtInstance.GetRefughtInstance().create(GetUsers.class);
Call Call=users.getUserList(“myUsername”);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
PassUsersToJavaScript(response.body().getList());
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Toast.makeText(MainActivity.this,“出现问题…请稍后再试!”,Toast.LENGTH\u SHORT.show();
}
});
}

这是否回答了您的问题?
public void getUserList(){
        GetUsers users = RetrofitInstance.getRetrofitInstance().create(GetUsers.class);
        Call<JsonObject> call = users.getUserList("myUsername");
        call.enqueue(new Callback<JsonObject>() {
            @Override
            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
                PassUsersToJavaScript(response.body().getList());
            }

            @Override
            public void onFailure(Call<JsonObject> call, Throwable t) {
                Toast.makeText(MainActivity.this, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
            }
        });
    }