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