android - Retrofit2 使用 Hashmap 发布和获取 Json 数组数据
问题描述
我已经在 Retrofit2 中编写了下面的代码,以基于已发布的数据发布和检索数据。它工作得很好,但有时它会在发布和接收时造成一些延迟,哈希图可以让它更快一些。如何使用 hashmap 来发布和检索数据。不知道
下面是我的 API 接口
@FormUrlEncoded // annotation used in POST type requests
@POST("/myhippo.php")
// API's endpoints
Call<SignUpResponse> registration(@Field("umobile") String umobile,
@Field("pickup_lat") String pickup_lat,
@Field("pickup_lan") String pickup_lan,
@Field("drp_lat") String drp_lat,
@Field("drp_lan") String drp_lan,
);
在下面我发布数据并接收响应
Api.getClient().registration(umobile,pck_lat,pck_lan,drp_lat,drp_lan).enqueue(new Callback<SignUpResponse>() {
@Override
public void onResponse(Call<SignUpResponse> call, Response<SignUpResponse> response) {
log.e(response.body().getUmobile());)
}
这是我的 SignUpResponse.java
private String pickup_lan;
private String drp_lat;
private String drp_lan;
public String getPickup_lat() {
return pickup_lat;
}
public void setPickup_lat(String pickup_lat) {
this.pickup_lat = pickup_lat;
}
public String getPickup_lan() {
return pickup_lan;
}
public void setPickup_lan(String pickup_lan) {
this.pickup_lan = pickup_lan;
}
public String getDrp_lat() {
return drp_lat;
}
public void setDrp_lat(String drp_lat) {
this.drp_lat = drp_lat;
}
public String getDrp_lan() {
return drp_lan;
}
public void setDrp_lan(String drp_lan) {
this.drp_lan = drp_lan;
}
这是我的 Api
public class Api {
private static Retrofit retrofit = null;
public static ApiInterface2 getClient() {
// change your base URL
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl("http://baseurl.website/")
.addConverterFactory(GsonConverterFactory.create())
.build();
}
//Creating object for our interface
ApiInterface api = retrofit.create(ApiInterface.class);
return api; // return the APIInterface object
}
}
解决方案
我不认为它可以帮助提高速度,但这是将数据作为地图发送的方式
Call<SignUpResponse> registration(@FieldMap Map<String,String> map);
像这样收集数据
Map<String, String> map = new HashMap<>();
map.put("pickup_lat","8512397");
.
.
.
推荐阅读
- python-3.x - 保存 for 循环的输出以供将来在代码中使用
- linkedin - Linkedin API 获取用户 公司
- python-3.x - 是否可以多进程 tkinter?
- linux - 无法从 Shell 脚本执行对 Pylint 的调用
- c# - 在 UWP 应用程序中将 UrhoSharp 作为新视图运行
- python - 清理 html 文本,替换问题
- angular - 无法在材质数据表中使用 AngularFirestore 获取对象键
- android-studio - 为什么 Android Studio 3.3 中没有 Android?
- javascript - 取消选中列表项会在 div 中复制它
- angular - 多重嵌入的条件渲染