在改造中动态更改URL

时间:2016-12-28 06:15:20

标签: android url retrofit

我正在进行改造,我在为查询动态更改Url时遇到问题。 我有这样的界面。

public interface RetrofitObjectAPI {

@GET("data/2.5/weather")
Call<Weather> getWeatherDetails(@Query("weather") String string);
}

和我的MainActivity.java

String url = "http://api.openweathermap.org/";
String API_KEY="00f05ed7a5400d4d7765e69330e28ab4";
String place="Mumbai,india";
String finalUrl="weather?q="+place+"&appid="+API_KEY;


@Override
protected void onResume() {
    super.onResume();

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(url)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    RetrofitObjectAPI service = retrofit.create(RetrofitObjectAPI.class);

    Call<Weather> call = service.getWeatherDetails(finalUrl);

    call.enqueue(new Callback<Weather>() {
        @Override
        public void onResponse(Response<Weather> response, Retrofit retrofit) {

My Weather.class

  public class Weather {

@SerializedName("coord")
@Expose
private Coord coord;
@SerializedName("weather")
@Expose
private List<Weather_> weather = null;
@SerializedName("base")
@Expose
private String base;
@SerializedName("main")
@Expose
private Main main;
@SerializedName("visibility")
@Expose
private Integer visibility;
@SerializedName("wind")
@Expose
private Wind wind;
@SerializedName("clouds")
@Expose
private Clouds clouds;
@SerializedName("dt")
@Expose
private Integer dt;
@SerializedName("sys")
@Expose
private Sys sys;
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("cod")
@Expose
private Integer cod;

public Coord getCoord() {
    return coord;
}

public void setCoord(Coord coord) {
    this.coord = coord;
}

public List<Weather_> getWeather() {
    return weather;
}

public void setWeather(List<Weather_> weather) {
    this.weather = weather;
}

public String getBase() {
    return base;
}

public void setBase(String base) {
    this.base = base;
}

public Main getMain() {
    return main;
}

public void setMain(Main main) {
    this.main = main;
}

public Integer getVisibility() {
    return visibility;
}

public void setVisibility(Integer visibility) {
    this.visibility = visibility;
}

public Wind getWind() {
    return wind;
}

public void setWind(Wind wind) {
    this.wind = wind;
}

public Clouds getClouds() {
    return clouds;
}

public void setClouds(Clouds clouds) {
    this.clouds = clouds;
}

public Integer getDt() {
    return dt;
}

public void setDt(Integer dt) {
    this.dt = dt;
}

public Sys getSys() {
    return sys;
}

public void setSys(Sys sys) {
    this.sys = sys;
}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public Integer getCod() {
    return cod;
}

public void setCod(Integer cod) {
    this.cod = cod;
}

}

但是Url没有按预期执行。任何人都可以帮助我。

0 个答案:

没有答案