得到的数据我想从EditText上错误的retrofit2
例如
http://cloud.traffy.in.th/apis/apitraffy.php?api=get_bus_line_info&appid=51248f9a&bus_line=17
http://cloud.traffy.in.th/apis/apitraffy.php?api=get_bus_line_info&appid=51248f9a&bus_line={bus_line}
和{bus_line}
从URL中获取数据,但我尝试获得通过retrofit2数据和现在我得到错误
d/Resultttt:未找到
Bus.java
公共类总线{
@SerializedName("bus_line")
@Expose
private String busLine;
@SerializedName("start")
@Expose
private String start;
@SerializedName("end")
@Expose
private String end;
@SerializedName("vehicle_type")
@Expose
private String vehicleType;
@SerializedName("owner")
@Expose
private String owner;
@SerializedName("route_type")
@Expose
private String routeType;
@SerializedName("bus_line_id")
@Expose
private String busLineId;
public String getBusLine() {
return busLine;
}
public void setBusLine(String busLine) {
this.busLine = busLine;
}
....
}
Getbus.java
public interface Getbus {
@GET("apis/apitraffy.php")
Call<Bus> select(@Query("api") String api, @Query("appid") String appId, @Query("bus_line") String bus_line);
}
和MainActivity.java
public class MainActivity extends AppCompatActivity {
Button button;
EditText editText;
TextView textView;
private Getbus getbus;
private String BASE_URL = "http://cloud.traffy.in.th/";
private String TAG = "fong";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.editText);
textView = (TextView) findViewById(R.id.textView);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
getbus = retrofit.create(Getbus.class);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String store = editText.getText().toString(); //////store=17
loadBus(store);
}
});
}
private void loadBus(String bus_line){
Call<Bus> call = getbus.select(api, appId, bus_line);
call.enqueue(new Callback<Bus>() {
@Override
public void onResponse(Call<Bus> call, Response<Bus> response) {
// displayBus(response.body());
if (response.isSuccessful()){
Log.d("Result", response.body().getBusLine());
}else
{
Log.d("Resultttt",response.message());
}
}
@Override
public void onFailure(Call<Bus> call, Throwable t) {
Log.e(TAG,"Errorr: " + t.getMessage());
}
});
}
private void displayBus(Bus showBus){
if(showBus != null){
String data = showBus.getBusLine();
textView.setText(data);
}else {
textView.setText("No Busline");
}
}
}
我想从得到的EditText文字和替换{bus_line}
的数据显示
感谢您的帮助!
谢谢,如果我改变了,但我不知道从EditText上获取数据并更换@Query(“bus_line”),如何更改? ,抱歉,我是新手关于安卓 –
你问如何获得一个'EditText'的价值?如果是这样,我肯定搜索会在几分钟内引导你回答。您也可能不清楚改造工作的方式。你调用'getBus'并传入适当的参数。 – nasch
我编辑了一篇文章,发现新错误,请检查我。谢谢 –