我该如何制作
(URL)+ LOC =安培;消息=安培; datetimefinal =安培; IDNO =
到
(URL)+ LOC = 1&安培;消息=消息和; datetimefinal = finaldatetime&安培; IDNO = 1
msg(message)值是全局变量,我使用Date()获得finaldatetime。
这是我正在使用
的代码 DateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss");
Date date = new Date();
String datefinal = dateFormat.format(date).toString();
final String BASEPATH = "URL";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASEPATH)
.addConverterFactory(GsonConverterFactory.create())
.build();
DeviceData deviceData = retrofit.create(DeviceData.class);
Map<String, String> params = new HashMap<>();
params.put("location", "1");
params.put("datetime", datefinal);
params.put("msg", message);
params.put("id", "1");
deviceData.getMyThing(params, new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Toast toast = Toast.makeText(context,"test",Toast.LENGTH_SHORT);
toast.show();
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Toast toast = Toast.makeText(context,"test2",Toast.LENGTH_SHORT);
toast.show();
}
}
// ... do some stuff here.
);
}
这是我的界面
public interface DeviceData {
@GET("/mobile_alerts_api.php?")
void getMyThing(Map<String, String>map,Callback<String> callback);
现在,我有错误说&#34;必须有返回类型或Callback作为最后一个参数。&#34;。我正在使用retrofit2。感谢
答案 0 :(得分:0)
进行以下更改:
@GET("/mobile_alerts_api.php?")
void getMyThing(Map<String, String>map,Callback<String> callback);
将此更改为
@GET("/mobile_alerts_api.php?")
Call<String> getMyThing(@FieldMap Map<String, String> map,Callback<String> callback);
如果你的逻辑是正确的,它会起作用。
希望它有助于!!。