- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将获取我登录用户的数据。因此,不要获取所有数据并将其存储在 ArrayList 中,然后调用循环,然后通过 if 语句进行检查。有没有最简单、最短的方法?顺便说一句,这是我的代码。
public static final String BASE_URL = "http://busartery.us-3.evennode.com/";
public static Retrofit getClient() {
Retrofit retrofit = null;
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(Config.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
public interface APIServiceDriver {
@POST("/sessions/")
@FormUrlEncoded
Call<Driver> driverLogin(@Field("username") String username,
@Field("password") String password,
@Field("type") String type);
@GET("/drivers/")
Call<List<Driver>> getDriverInfo();
}
APIServiceDriver serviceDriver = Config.getClient().create(APIServiceDriver.class);
Call<List<Driver>> call = serviceDriver.getDriverInfo();
call.enqueue(new Callback<List<Driver>>() {
@Override
public void onResponse(Call<List<Driver>> call, Response<List<Driver>> response) {
if (response.isSuccessful()) {
driverList = response.body();
if (driverList.size() != 0) {
for (int i = 0; i < driverList.size(); i++) {
mDriverName = driverList.get(i).getDriversName();
mUsername = driverList.get(i).getDriversName();
mAge = driverList.get(i).getAge();
mBusNumber = driverList.get(i).getBusNumber();
mBusType = driverList.get(i).getBusType();
mCompanyName = driverList.get(i).getCompanyName();
mRoute = driverList.get(i).getRoute();
mCapacity = driverList.get(i).getCapacity();
if (mUsername.equals(pref.getString("username", ""))) {
txtDriverName.setText(mDriverName);
txtUsername.setText(mUsername);
txtAge.setText(mAge);
txtBusNumber.setText(mBusNumber);
txtBusType.setText(mBusType);
txtCompanyName.setText(mCompanyName);
txtRoute.setText(mRoute);
txtCapacity.setText(mCapacity);
}
}
}
}
}
@Override
public void onFailure(Call<List<Driver>> call, Throwable t) {
progressDialog.dismiss();
Toast.makeText(DriverInformationActivity.this, "onFailure: "+t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
驱动程序POJO
public class Driver {
@SerializedName("fullName")
@Expose
private String fullName;
@SerializedName("username")
@Expose
private String username;
@SerializedName("password")
@Expose
private String password;
@SerializedName("age")
@Expose
private Integer age;
@SerializedName("employeeId")
@Expose
private String employeeId;
@SerializedName("isActive")
@Expose
private Boolean isActive;
@SerializedName("longitude")
@Expose
private String longitude;
@SerializedName("latitude")
@Expose
private String latitude;
@SerializedName("origin")
@Expose
private String origin;
@SerializedName("estimatedTime")
@Expose
private String estimatedTime;
@SerializedName("busNumber")
@Expose
private BusNumber busNumber;
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getEmployeeId() {
return employeeId;
}
public void setEmployeeId(String employeeId) {
this.employeeId = employeeId;
}
public Boolean getIsActive() {
return isActive;
}
public void setIsActive(Boolean isActive) {
this.isActive = isActive;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getOrigin() {
return origin;
}
public void setOrigin(String origin) {
this.origin = origin;
}
public String getEstimatedTime() {
return estimatedTime;
}
public void setEstimatedTime(String estimatedTime) {
this.estimatedTime = estimatedTime;
}
public BusNumber getBusNumber() {
return busNumber;
}
public void setBusNumber(BusNumber busNumber) {
this.busNumber = busNumber;
}}
巴士号码 POJO
public class BusNumber {
@SerializedName("companyName")
@Expose
private String companyName;
@SerializedName("busNumber")
@Expose
private String busNumber;
@SerializedName("busType")
@Expose
private String busType;
@SerializedName("destination")
@Expose
private String destination;
@SerializedName("location")
@Expose
private String location;
@SerializedName("capacity")
@Expose
private Integer capacity;
@SerializedName("route")
@Expose
private String route;
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getBusNumber() {
return busNumber;
}
public void setBusNumber(String busNumber) {
this.busNumber = busNumber;
}
public String getBusType() {
return busType;
}
public void setBusType(String busType) {
this.busType = busType;
}
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Integer getCapacity() {
return capacity;
}
public void setCapacity(Integer capacity) {
this.capacity = capacity;
}
public String getRoute() {
return route;
}
public void setRoute(String route) {
this.route = route;
}}
而且,此代码将被定向到 onFailure()。
最佳答案
这样使用
@GET("/drivers/")
Call<List<Driver>> getDriverInfo(@Query("driver_id") int driverId);
关于java - 如何在Retrofit2中查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738985/
我正在尝试迁移我的应用程序以使用 RxJava。我已经在使用 Retrofit,因此我正在尝试使用方法返回 Observables 的 Retrofit 接口(interface)。但是我现在在针对它
我想 post 数据如下: { "user_id":"14545646", "list":["4545645","4545645","4545645","4545645"]
我是改造新手。我向网站发出 POST 请求。网站以 HTML 形式返回响应。所以我会解析它。但是 Retrofit 尝试将其解析为 JSON。怎么办? @FormUrlEncoded @POST("/
我想异步执行 2 个网络调用 - 我正在使用 Retrofit+RxJava 来完成这个。这个逻辑来自一个简单的 Runner 类来测试解决方案。注意:这主要涉及服务器端的 RxJava。 我的代码如
我最近在改造的存储库中使用 Flow。 Result 的密封类 enum class ApiStatus{ SUCCESS, ERROR, LOADING } sealed c
我目前正在开发 Retrofit2 客户端的错误处理部分(使用 Retrofit 的 Rx 实现)。 找了一段时间,没有找到简单的方法将Retrofit返回的ResponseBody反序列化到我报错的
我从 retrofit 更新到 retrofit2 后出现此错误。 FATAL EXCEPTION: OkHttp Dispatcher Process: nz.co.datacom.mars.jun
在使用 RxJava 和 Retrofit 2 时,我正在尝试创建单元测试来覆盖我的应用何时收到特定响应。 我遇到的问题是,在 Retrofit 2 中,我看不到在不使用反射的情况下创建 retrof
在 Retrofit 1.9.x 中有一个 RetrofitError.Kind.NETWORK这让您可以轻松确定故障是否由网络错误引起。在新的 2.0 API 中,我们不再有 RetrofitErr
有没有办法用Refit动态输入参数? 我的 Refit 界面中有这段代码: [Get("/click?{parm}")] Task> SaveClick(string parm
有没有办法用Refit动态输入参数? 我的 Refit 界面中有这段代码: [Get("/click?{parm}")] Task> SaveClick(string parm
我知道,Retrofit 在内部使用 OkHttp。但是,我可以看到一些开发人员提供了以下方法的应用 return new Retrofit.Builder() .baseUrl(Bu
在项目上安装这个库之后: compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.0
在 Retrofit 1.x 中,我使用以下模式创建 API 服务类,该类模拟某些构建变体的不良网络连接。 // Retrofit 1 private T create(Class apiServi
Retrofit请求API格式(Android): @POST("getOrderStatus") @Headers("Content-Type:application/json") Obser
当我实例化 RestAdapter 时,我的应用程序总是崩溃 private void submitForm(SignupForm form){ RestAdapter adapter = n
我正要从 retrofit 1.9 迁移到最新版本并遇到问题... 我的设置: 三星 Galaxy S7 Edge(Android 7) 改造 2.3 OkHttp 3.8 迁移后突然遇到这个问题:
我正在尝试在 2.5.1-SNAPSHOT 中使用 retrofit 的协程支持,但我不断收到一个奇怪的异常。 我的改造服务类有: @GET("weather") suspend fun getFor
我正在尝试 Ktor通过转换一些当前正在使用的现有项目 Retrofit . 虽然我可以很容易地将请求转换为: client.get { url("$BASE_URL/something/so
使用改造 2,如何为上传的文件设置动态名称? 目前是这样的: @Part("avatar\"; filename=\"image\" ") RequestBody image, 但是,上传的文件名将是
我是一名优秀的程序员,十分优秀!