Android 天气APP(十九)更换新版API接口(更高

}

public void setUpdateTime(String updateTime) {

this.updateTime = updateTime;

}

public String getFxLink() {

return fxLink;

}

public void setFxLink(String fxLink) {

this.fxLink = fxLink;

}

public NowBean getNow() {

return now;

}

public void setNow(NowBean now) {

this.now = now;

}

public ReferBean getRefer() {

return refer;

}

public void setRefer(ReferBean refer) {

this.refer = refer;

}

public static class NowBean {

/**

  • obsTime : 2020-07-15T07:35+08:00

  • temp : 27

  • feelsLike : 29

  • icon : 100

  • text : 晴

  • wind360 : 209

  • windDir : 西南风

  • windScale : 1

  • windSpeed : 4

  • humidity : 67

  • precip : 0.0

  • pressure : 1001

  • vis : 11

  • cloud : 0

  • dew : 20

*/

private String obsTime;

private String temp;

private String feelsLike;

private String icon;

private String text;

private String wind360;

private String windDir;

private String windScale;

private String windSpeed;

private String humidity;

private String precip;

private String pressure;

private String vis;

private String cloud;

private String dew;

public String getObsTime() {

return obsTime;

}

public void setObsTime(String obsTime) {

this.obsTime = obsTime;

}

public String getTemp() {

return temp;

}

public void setTemp(String temp) {

this.temp = temp;

}

public String getFeelsLike() {

return feelsLike;

}

public void setFeelsLike(String feelsLike) {

this.feelsLike = feelsLike;

}

public String getIcon() {

return icon;

}

public void setIcon(String icon) {

this.icon = icon;

}

public String getText() {

return text;

}

public void setText(String text) {

this.text = text;

}

public String getWind360() {

return wind360;

}

public void setWind360(String wind360) {

this.wind360 = wind360;

}

public String getWindDir() {

return windDir;

}

public void setWindDir(String windDir) {

this.windDir = windDir;

}

public String getWindScale() {

return windScale;

}

public void setWindScale(String windScale) {

this.windScale = windScale;

}

public String getWindSpeed() {

return windSpeed;

}

public void setWindSpeed(String windSpeed) {

this.windSpeed = windSpeed;

}

public String getHumidity() {

return humidity;

}

public void setHumidity(String humidity) {

this.humidity = humidity;

}

public String getPrecip() {

return precip;

}

public void setPrecip(String precip) {

this.precip = precip;

}

public String getPressure() {

return pressure;

}

public void setPressure(String pressure) {

this.pressure = pressure;

}

public String getVis() {

return vis;

}

public void setVis(String vis) {

this.vis = vis;

}

public String getCloud() {

return cloud;

}

public void setCloud(String cloud) {

this.cloud = cloud;

}

public String getDew() {

return dew;

}

public void setDew(String dew) {

this.dew = dew;

}

}

public static class ReferBean {

private List sources;

private List license;

public List getSources() {

return sources;

}

public void setSources(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

}

2. 天气预报API

/**

  • 天气预报 因为是开发者所以最多可以获得15天的数据,但是如果你是普通用户,那么最多只能获得三天的数据

  • 分为 3天、7天、10天、15天 四种情况,这是时候就需要动态的改变请求的url

  • @param type 天数类型 传入3d / 7d / 10d / 15d 通过Path拼接到请求的url里面

  • @param location 城市名

  • @return 返回天气预报数据

*/

@GET(“/v7/weather/{type}?key=3086e91d66c04ce588a7f538f917c7f4”)

Call dailyWeather(@Path(“type”) String type,@Query(“location”) String location);

DailyResponse.java代码如下:

package com.llw.goodweather.bean;

import java.util.List;

/**

  • 天气预报数据实体

*/

public class DailyResponse {

/**

  • code : 200

  • updateTime : 2020-07-15T08:55+08:00

  • fxLink : http://hfx.link/2ax1

  • daily : [{“fxDate”:“2020-07-15”,“sunrise”:“04:59”,“sunset”:“19:41”,“moonrise”:“00:44”,“moonset”:“14:35”,“moonPhase”:“残月”,“tempMax”:“32”,“tempMin”:“22”,“iconDay”:“101”,“textDay”:“多云”,“iconNight”:“150”,“textNight”:“晴”,“wind360Day”:“242”,“windDirDay”:“西南风”,“windScaleDay”:“1-2”,“windSpeedDay”:“9”,“wind360Night”:“202”,“windDirNight”:“西南风”,“windScaleNight”:“1-2”,“windSpeedNight”:“4”,“humidity”:“49”,“precip”:“0.0”,“pressure”:“996”,“vis”:“25”,“cloud”:“25”,“uvIndex”:“11”},{“fxDate”:“2020-07-16”,“sunrise”:“05:00”,“sunset”:“19:40”,“moonrise”:“01:13”,“moonset”:“15:36”,“moonPhase”:“残月”,“tempMax”:“32”,“tempMin”:“24”,“iconDay”:“101”,“textDay”:“多云”,“iconNight”:“302”,“textNight”:“雷阵雨”,“wind360Day”:“232”,“windDirDay”:“西南风”,“windScaleDay”:“1-2”,“windSpeedDay”:“7”,“wind360Night”:“179”,“windDirNight”:“南风”,“windScaleNight”:“1-2”,“windSpeedNight”:“10”,“humidity”:“50”,“precip”:“0.0”,“pressure”:“996”,“vis”:“25”,“cloud”:“25”,“uvIndex”:“6”},{“fxDate”:“2020-07-17”,“sunrise”:“05:01”,“sunset”:“19:39”,“moonrise”:“01:46”,“moonset”:“16:38”,“moonPhase”:“残月”,“tempMax”:“30”,“tempMin”:“23”,“iconDay”:“302”,“textDay”:“雷阵雨”,“iconNight”:“302”,“textNight”:“雷阵雨”,“wind360Day”:“186”,“windDirDay”:“南风”,“windScaleDay”:“3-4”,“windSpeedDay”:“14”,“wind360Night”:“129”,“windDirNight”:“东南风”,“windScaleNight”:“1-2”,“windSpeedNight”:“4”,“humidity”:“75”,“precip”:“1.0”,“pressure”:“997”,“vis”:“24”,“cloud”:“55”,“uvIndex”:“1”},{“fxDate”:“2020-07-18”,“sunrise”:“05:02”,“sunset”:“19:39”,“moonrise”:“02:24”,“moonset”:“17:40”,“moonPhase”:“残月”,“tempMax”:“29”,“tempMin”:“21”,“iconDay”:“302”,“textDay”:“雷阵雨”,“iconNight”:“305”,“textNight”:“小雨”,“wind360Day”:“175”,“windDirDay”:“南风”,“windScaleDay”:“1-2”,“windSpeedDay”:“4”,“wind360Night”:“60”,“windDirNight”:“东北风”,“windScaleNight”:“1-2”,“windSpeedNight”:“4”,“humidity”:“81”,“precip”:“0.0”,“pressure”:“997”,“vis”:“7”,“cloud”:“24”,“uvIndex”:“7”},{“fxDate”:“2020-07-19”,“sunrise”:“05:02”,“sunset”:“19:38”,“moonrise”:“03:12”,“moonset”:“18:38”,“moonPhase”:“残月”,“tempMax”:“27”,“tempMin”:“21”,“iconDay”:“305”,“textDay”:“小雨”,“iconNight”:“302”,“textNight”:“雷阵雨”,“wind360Day”:“43”,“windDirDay”:“东北风”,“windScaleDay”:“1-2”,“windSpeedDay”:“9”,“wind360Night”:“243”,“windDirNight”:“西南风”,“windScaleNight”:“1-2”,“windSpeedNight”:“1”,“humidity”:“69”,“precip”:“0.0”,“pressure”:“996”,“vis”:“24”,“cloud”:“25”,“uvIndex”:“5”},{“fxDate”:“2020-07-20”,“sunrise”:“05:03”,“sunset”:“19:37”,“moonrise”:“04:06”,“moonset”:“19:33”,“moonPhase”:“新月”,“tempMax”:“32”,“tempMin”:“22”,“iconDay”:“101”,“textDay”:“多云”,“iconNight”:“101”,“textNight”:“多云”,“wind360Day”:“243”,“windDirDay”:“西南风”,“windScaleDay”:“1-2”,“windSpeedDay”:“8”,“wind360Night”:“357”,“windDirNight”:“北风”,“windScaleNight”:“1-2”,“windSpeedNight”:“5”,“humidity”:“55”,“precip”:“0.0”,“pressure”:“995”,“vis”:“24”,“cloud”:“0”,“uvIndex”:“10”},{“fxDate”:“2020-07-21”,“sunrise”:“05:04”,“sunset”:“19:36”,“moonrise”:“05:10”,“moonset”:“20:20”,“moonPhase”:“峨眉月”,“tempMax”:“33”,“tempMin”:“22”,“iconDay”:“100”,“textDay”:“晴”,“iconNight”:“150”,“textNight”:“晴”,“wind360Day”:“2”,“windDirDay”:“北风”,“windScaleDay”:“1-2”,“windSpeedDay”:“6”,“wind360Night”:“358”,“windDirNight”:“北风”,“windScaleNight”:“1-2”,“windSpeedNight”:“2”,“humidity”:“38”,“precip”:“0.0”,“pressure”:“999”,“vis”:“25”,“cloud”:“1”,“uvIndex”:“10”}]

  • refer : {“sources”:[“Weather China”],“license”:[“no commercial use”]}

*/

private String code;

private String updateTime;

private String fxLink;

private ReferBean refer;

private List daily;

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

public String getUpdateTime() {

return updateTime;

}

public void setUpdateTime(String updateTime) {

this.updateTime = updateTime;

}

public String getFxLink() {

return fxLink;

}

public void setFxLink(String fxLink) {

this.fxLink = fxLink;

}

public ReferBean getRefer() {

return refer;

}

public void setRefer(ReferBean refer) {

this.refer = refer;

}

public List getDaily() {

return daily;

}

public void setDaily(List daily) {

this.daily = daily;

}

public static class ReferBean {

private List sources;

private List license;

public List getSources() {

return sources;

}

public void setSources(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

public static class DailyBean {

/**

  • fxDate : 2020-07-15

  • sunrise : 04:59

  • sunset : 19:41

  • moonrise : 00:44

  • moonset : 14:35

  • moonPhase : 残月

  • tempMax : 32

  • tempMin : 22

  • iconDay : 101

  • textDay : 多云

  • iconNight : 150

  • textNight : 晴

  • wind360Day : 242

  • windDirDay : 西南风

  • windScaleDay : 1-2

  • windSpeedDay : 9

  • wind360Night : 202

  • windDirNight : 西南风

  • windScaleNight : 1-2

  • windSpeedNight : 4

  • humidity : 49

  • precip : 0.0

  • pressure : 996

  • vis : 25

  • cloud : 25

  • uvIndex : 11

*/

private String fxDate;

private String sunrise;

private String sunset;

private String moonrise;

private String moonset;

private String moonPhase;

private String tempMax;

private String tempMin;

private String iconDay;

private String textDay;

private String iconNight;

private String textNight;

private String wind360Day;

private String windDirDay;

private String windScaleDay;

private String windSpeedDay;

private String wind360Night;

private String windDirNight;

private String windScaleNight;

private String windSpeedNight;

private String humidity;

private String precip;

private String pressure;

private String vis;

private String cloud;

private String uvIndex;

public String getFxDate() {

return fxDate;

}

public void setFxDate(String fxDate) {

this.fxDate = fxDate;

}

public String getSunrise() {

return sunrise;

}

public void setSunrise(String sunrise) {

this.sunrise = sunrise;

}

public String getSunset() {

return sunset;

}

public void setSunset(String sunset) {

this.sunset = sunset;

}

public String getMoonrise() {

return moonrise;

}

public void setMoonrise(String moonrise) {

this.moonrise = moonrise;

}

public String getMoonset() {

return moonset;

}

public void setMoonset(String moonset) {

this.moonset = moonset;

}

public String getMoonPhase() {

return moonPhase;

}

public void setMoonPhase(String moonPhase) {

this.moonPhase = moonPhase;

}

public String getTempMax() {

return tempMax;

}

public void setTempMax(String tempMax) {

this.tempMax = tempMax;

}

public String getTempMin() {

return tempMin;

}

public void setTempMin(String tempMin) {

this.tempMin = tempMin;

}

public String getIconDay() {

return iconDay;

}

public void setIconDay(String iconDay) {

this.iconDay = iconDay;

}

public String getTextDay() {

return textDay;

}

public void setTextDay(String textDay) {

this.textDay = textDay;

}

public String getIconNight() {

return iconNight;

}

public void setIconNight(String iconNight) {

this.iconNight = iconNight;

}

public String getTextNight() {

return textNight;

}

public void setTextNight(String textNight) {

this.textNight = textNight;

}

public String getWind360Day() {

return wind360Day;

}

public void setWind360Day(String wind360Day) {

this.wind360Day = wind360Day;

}

public String getWindDirDay() {

return windDirDay;

}

public void setWindDirDay(String windDirDay) {

this.windDirDay = windDirDay;

}

public String getWindScaleDay() {

return windScaleDay;

}

public void setWindScaleDay(String windScaleDay) {

this.windScaleDay = windScaleDay;

}

public String getWindSpeedDay() {

return windSpeedDay;

}

public void setWindSpeedDay(String windSpeedDay) {

this.windSpeedDay = windSpeedDay;

}

public String getWind360Night() {

return wind360Night;

}

public void setWind360Night(String wind360Night) {

this.wind360Night = wind360Night;

}

public String getWindDirNight() {

return windDirNight;

}

public void setWindDirNight(String windDirNight) {

this.windDirNight = windDirNight;

}

public String getWindScaleNight() {

return windScaleNight;

}

public void setWindScaleNight(String windScaleNight) {

this.windScaleNight = windScaleNight;

}

public String getWindSpeedNight() {

return windSpeedNight;

}

public void setWindSpeedNight(String windSpeedNight) {

this.windSpeedNight = windSpeedNight;

}

public String getHumidity() {

return humidity;

}

public void setHumidity(String humidity) {

this.humidity = humidity;

}

public String getPrecip() {

return precip;

}

public void setPrecip(String precip) {

this.precip = precip;

}

public String getPressure() {

return pressure;

}

public void setPressure(String pressure) {

this.pressure = pressure;

}

public String getVis() {

return vis;

}

public void setVis(String vis) {

this.vis = vis;

}

public String getCloud() {

return cloud;

}

public void setCloud(String cloud) {

this.cloud = cloud;

}

public String getUvIndex() {

return uvIndex;

}

public void setUvIndex(String uvIndex) {

this.uvIndex = uvIndex;

}

}

}

3. 逐小时预报API

/**

  • 逐小时预报(未来24小时)之前是逐三小时预报

  • @param location 城市名

  • @return 返回逐小时数据

*/

@GET(“/v7/weather/24h?key=3086e91d66c04ce588a7f538f917c7f4”)

Call hourlyWeather(@Query(“location”) String location);

HourlyResponse.java代码如下:

package com.llw.goodweather.bean;

import java.util.List;

/**

  • 逐小时天气数据实体

*/

public class HourlyResponse {

/**

  • code : 200

  • updateTime : 2020-07-15T08:57+08:00

  • fxLink : http://hfx.link/2ax1

  • hourly : [{“fxTime”:“2020-07-15T10:00+08:00”,“temp”:“28”,“icon”:“100”,“text”:“晴”,“wind360”:“194”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“10”,“humidity”:“40”,“pop”:“0”,“precip”:“0.0”,“pressure”:“995”,“cloud”:“0”,“dew”:“19”},{“fxTime”:“2020-07-15T11:00+08:00”,“temp”:“29”,“icon”:“100”,“text”:“晴”,“wind360”:“195”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“6”,“humidity”:“35”,“pop”:“0”,“precip”:“0.0”,“pressure”:“995”,“cloud”:“1”,“dew”:“19”},{“fxTime”:“2020-07-15T12:00+08:00”,“temp”:“30”,“icon”:“100”,“text”:“晴”,“wind360”:“199”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“8”,“humidity”:“33”,“pop”:“0”,“precip”:“0.0”,“pressure”:“995”,“cloud”:“1”,“dew”:“19”},{“fxTime”:“2020-07-15T13:00+08:00”,“temp”:“31”,“icon”:“100”,“text”:“晴”,“wind360”:“203”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“7”,“humidity”:“31”,“pop”:“0”,“precip”:“0.0”,“pressure”:“996”,“cloud”:“2”,“dew”:“19”},{“fxTime”:“2020-07-15T14:00+08:00”,“temp”:“31”,“icon”:“100”,“text”:“晴”,“wind360”:“257”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“6”,“humidity”:“29”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“2”,“dew”:“19”},{“fxTime”:“2020-07-15T15:00+08:00”,“temp”:“31”,“icon”:“100”,“text”:“晴”,“wind360”:“245”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“2”,“humidity”:“31”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“7”,“dew”:“19”},{“fxTime”:“2020-07-15T16:00+08:00”,“temp”:“31”,“icon”:“100”,“text”:“晴”,“wind360”:“199”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“2”,“humidity”:“32”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“13”,“dew”:“19”},{“fxTime”:“2020-07-15T17:00+08:00”,“temp”:“31”,“icon”:“101”,“text”:“多云”,“wind360”:“231”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“7”,“humidity”:“33”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“18”,“dew”:“18”},{“fxTime”:“2020-07-15T18:00+08:00”,“temp”:“30”,“icon”:“100”,“text”:“晴”,“wind360”:“249”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“10”,“humidity”:“38”,“pop”:“0”,“precip”:“0.0”,“pressure”:“996”,“cloud”:“18”,“dew”:“19”},{“fxTime”:“2020-07-15T19:00+08:00”,“temp”:“28”,“icon”:“100”,“text”:“晴”,“wind360”:“234”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“5”,“humidity”:“43”,“pop”:“0”,“precip”:“0.0”,“pressure”:“996”,“cloud”:“18”,“dew”:“20”},{“fxTime”:“2020-07-15T20:00+08:00”,“temp”:“27”,“icon”:“100”,“text”:“晴”,“wind360”:“206”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“9”,“humidity”:“47”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“18”,“dew”:“20”},{“fxTime”:“2020-07-15T21:00+08:00”,“temp”:“26”,“icon”:“100”,“text”:“晴”,“wind360”:“198”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“6”,“humidity”:“51”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“12”,“dew”:“20”},{“fxTime”:“2020-07-15T22:00+08:00”,“temp”:“26”,“icon”:“100”,“text”:“晴”,“wind360”:“249”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“5”,“humidity”:“54”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“6”,“dew”:“20”},{“fxTime”:“2020-07-15T23:00+08:00”,“temp”:“25”,“icon”:“100”,“text”:“晴”,“wind360”:“248”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“4”,“humidity”:“58”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“0”,“dew”:“20”},{“fxTime”:“2020-07-16T00:00+08:00”,“temp”:“24”,“icon”:“100”,“text”:“晴”,“wind360”:“230”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“6”,“humidity”:“60”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“1”,“dew”:“19”},{“fxTime”:“2020-07-16T01:00+08:00”,“temp”:“24”,“icon”:“100”,“text”:“晴”,“wind360”:“255”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“4”,“humidity”:“62”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“3”,“dew”:“19”},{“fxTime”:“2020-07-16T02:00+08:00”,“temp”:“23”,“icon”:“100”,“text”:“晴”,“wind360”:“230”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“7”,“humidity”:“63”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“4”,“dew”:“20”},{“fxTime”:“2020-07-16T03:00+08:00”,“temp”:“23”,“icon”:“100”,“text”:“晴”,“wind360”:“209”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“1”,“humidity”:“65”,“pop”:“0”,“precip”:“0.0”,“pressure”:“997”,“cloud”:“4”,“dew”:“20”},{“fxTime”:“2020-07-16T04:00+08:00”,“temp”:“23”,“icon”:“100”,“text”:“晴”,“wind360”:“213”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“8”,“humidity”:“66”,“pop”:“0”,“precip”:“0.0”,“pressure”:“996”,“cloud”:“4”,“dew”:“20”},{“fxTime”:“2020-07-16T05:00+08:00”,“temp”:“22”,“icon”:“100”,“text”:“晴”,“wind360”:“193”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“7”,“humidity”:“67”,“pop”:“0”,“precip”:“0.0”,“pressure”:“995”,“cloud”:“3”,“dew”:“20”},{“fxTime”:“2020-07-16T06:00+08:00”,“temp”:“23”,“icon”:“101”,“text”:“多云”,“wind360”:“216”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“11”,“humidity”:“70”,“pop”:“0”,“precip”:“0.0”,“pressure”:“994”,“cloud”:“20”,“dew”:“21”},{“fxTime”:“2020-07-16T07:00+08:00”,“temp”:“25”,“icon”:“101”,“text”:“多云”,“wind360”:“229”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“11”,“humidity”:“73”,“pop”:“0”,“precip”:“0.0”,“pressure”:“994”,“cloud”:“37”,“dew”:“21”},{“fxTime”:“2020-07-16T08:00+08:00”,“temp”:“26”,“icon”:“101”,“text”:“多云”,“wind360”:“200”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“4”,“humidity”:“77”,“pop”:“0”,“precip”:“0.0”,“pressure”:“993”,“cloud”:“54”,“dew”:“21”},{“fxTime”:“2020-07-16T09:00+08:00”,“temp”:“28”,“icon”:“101”,“text”:“多云”,“wind360”:“200”,“windDir”:“西南风”,“windScale”:“1-2”,“windSpeed”:“4”,“humidity”:“65”,“pop”:“0”,“precip”:“0.0”,“pressure”:“993”,“cloud”:“53”,“dew”:“21”}]

  • refer : {“sources”:[“Weather China”],“license”:[“no commercial use”]}

*/

private String code;

private String updateTime;

private String fxLink;

private ReferBean refer;

private List hourly;

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

public String getUpdateTime() {

return updateTime;

}

public void setUpdateTime(String updateTime) {

this.updateTime = updateTime;

}

public String getFxLink() {

return fxLink;

}

public void setFxLink(String fxLink) {

this.fxLink = fxLink;

}

public ReferBean getRefer() {

return refer;

}

public void setRefer(ReferBean refer) {

this.refer = refer;

}

public List getHourly() {

return hourly;

}

public void setHourly(List hourly) {

this.hourly = hourly;

}

public static class ReferBean {

private List sources;

private List license;

public List getSources() {

return sources;

}

public void setSources(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

public static class HourlyBean {

/**

  • fxTime : 2020-07-15T10:00+08:00

  • temp : 28

  • icon : 100

  • text : 晴

  • wind360 : 194

  • windDir : 西南风

  • windScale : 1-2

  • windSpeed : 10

  • humidity : 40

  • pop : 0

  • precip : 0.0

  • pressure : 995

  • cloud : 0

  • dew : 19

*/

private String fxTime;

private String temp;

private String icon;

private String text;

private String wind360;

private String windDir;

private String windScale;

private String windSpeed;

private String humidity;

private String pop;

private String precip;

private String pressure;

private String cloud;

private String dew;

public String getFxTime() {

return fxTime;

}

public void setFxTime(String fxTime) {

this.fxTime = fxTime;

}

public String getTemp() {

return temp;

}

public void setTemp(String temp) {

this.temp = temp;

}

public String getIcon() {

return icon;

}

public void setIcon(String icon) {

this.icon = icon;

}

public String getText() {

return text;

}

public void setText(String text) {

this.text = text;

}

public String getWind360() {

return wind360;

}

public void setWind360(String wind360) {

this.wind360 = wind360;

}

public String getWindDir() {

return windDir;

}

public void setWindDir(String windDir) {

this.windDir = windDir;

}

public String getWindScale() {

return windScale;

}

public void setWindScale(String windScale) {

this.windScale = windScale;

}

public String getWindSpeed() {

return windSpeed;

}

public void setWindSpeed(String windSpeed) {

this.windSpeed = windSpeed;

}

public String getHumidity() {

return humidity;

}

public void setHumidity(String humidity) {

this.humidity = humidity;

}

public String getPop() {

return pop;

}

public void setPop(String pop) {

this.pop = pop;

}

public String getPrecip() {

return precip;

}

public void setPrecip(String precip) {

this.precip = precip;

}

public String getPressure() {

return pressure;

}

public void setPressure(String pressure) {

this.pressure = pressure;

}

public String getCloud() {

return cloud;

}

public void setCloud(String cloud) {

this.cloud = cloud;

}

public String getDew() {

return dew;

}

public void setDew(String dew) {

this.dew = dew;

}

}

}

4. 空气质量API

/**

  • 当天空气质量

  • @param location 城市名

  • @return 返回当天空气质量数据

*/

@GET(“/v7/air/now?key=3086e91d66c04ce588a7f538f917c7f4”)

Call airNowWeather(@Query(“location”) String location);

AirNowResponse.java代码如下:

package com.llw.goodweather.bean;

import java.util.List;

/**

  • 当天空气质量数据实体

*/

public class AirNowResponse {

/**

  • code : 200

  • updateTime : 2020-07-15T09:34+08:00

  • fxLink : http://hfx.link/2ax4

  • now : {“pubTime”:“2020-07-15T09:00+08:00”,“aqi”:“49”,“category”:“优”,“primary”:“NA”,“pm10”:“49”,“pm2p5”:“29”,“no2”:“20”,“so2”:“3”,“co”:“0.6”,“o3”:“84”}

  • station : [{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“万寿西宫”,“id”:“CNA1001”,“aqi”:“68”,“level”:“2”,“category”:“良”,“primary”:“PM2.5”,“pm10”:“66”,“pm2p5”:“49”,“no2”:“29”,“so2”:“3”,“co”:“0.7”,“o3”:“81”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“定陵”,“id”:“CNA1002”,“aqi”:“36”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“36”,“pm2p5”:“15”,“no2”:“11”,“so2”:“3”,“co”:“0.4”,“o3”:“84”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“东四”,“id”:“CNA1003”,“aqi”:“46”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“44”,“pm2p5”:“32”,“no2”:“21”,“so2”:“3”,“co”:“0.9”,“o3”:“95”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“天坛”,“id”:“CNA1004”,“aqi”:“57”,“level”:“2”,“category”:“良”,“primary”:“PM2.5”,“pm10”:“56”,“pm2p5”:“40”,“no2”:“18”,“so2”:“1”,“co”:“0.7”,“o3”:“96”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“农展馆”,“id”:“CNA1005”,“aqi”:“55”,“level”:“2”,“category”:“良”,“primary”:“PM10”,“pm10”:“59”,“pm2p5”:“35”,“no2”:“26”,“so2”:“3”,“co”:“0.7”,“o3”:“79”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“官园”,“id”:“CNA1006”,“aqi”:“53”,“level”:“2”,“category”:“良”,“primary”:“PM2.5”,“pm10”:“52”,“pm2p5”:“37”,“no2”:“24”,“so2”:“1”,“co”:“0.6”,“o3”:“91”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“海淀区万柳”,“id”:“CNA1007”,“aqi”:“48”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“48”,“pm2p5”:“28”,“no2”:“28”,“so2”:“1”,“co”:“0.6”,“o3”:“79”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“顺义新城”,“id”:“CNA1008”,“aqi”:“46”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“46”,“pm2p5”:“22”,“no2”:“15”,“so2”:“3”,“co”:“0.5”,“o3”:“85”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“怀柔镇”,“id”:“CNA1009”,“aqi”:“43”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“43”,“pm2p5”:“22”,“no2”:“18”,“so2”:“3”,“co”:“0.5”,“o3”:“78”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“昌平镇”,“id”:“CNA1010”,“aqi”:“53”,“level”:“2”,“category”:“良”,“primary”:“PM10”,“pm10”:“56”,“pm2p5”:“23”,“no2”:“21”,“so2”:“1”,“co”:“0.5”,“o3”:“68”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“奥体中心”,“id”:“CNA1011”,“aqi”:“44”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“44”,“pm2p5”:“22”,“no2”:“17”,“so2”:“3”,“co”:“0.5”,“o3”:“89”},{“pubTime”:“2020-07-15T09:00+08:00”,“name”:“古城”,“id”:“CNA1012”,“aqi”:“32”,“level”:“1”,“category”:“优”,“primary”:“NA”,“pm10”:“28”,“pm2p5”:“22”,“no2”:“11”,“so2”:“3”,“co”:“0.5”,“o3”:“80”}]

  • refer : {“sources”:[“cnemc”],“license”:[“no commercial use”]}

*/

private String code;

private String updateTime;

private String fxLink;

private NowBean now;

private ReferBean refer;

private List station;

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

public String getUpdateTime() {

return updateTime;

}

public void setUpdateTime(String updateTime) {

this.updateTime = updateTime;

}

public String getFxLink() {

return fxLink;

}

public void setFxLink(String fxLink) {

this.fxLink = fxLink;

}

public NowBean getNow() {

return now;

}

public void setNow(NowBean now) {

this.now = now;

}

public ReferBean getRefer() {

return refer;

}

public void setRefer(ReferBean refer) {

this.refer = refer;

}

public List getStation() {

return station;

}

public void setStation(List station) {

this.station = station;

}

public static class NowBean {

/**

  • pubTime : 2020-07-15T09:00+08:00

  • aqi : 49

  • category : 优

  • primary : NA

  • pm10 : 49

  • pm2p5 : 29

  • no2 : 20

  • so2 : 3

  • co : 0.6

  • o3 : 84

*/

private String pubTime;

private String aqi;

private String category;

private String primary;

private String pm10;

private String pm2p5;

private String no2;

private String so2;

private String co;

private String o3;

public String getPubTime() {

return pubTime;

}

public void setPubTime(String pubTime) {

this.pubTime = pubTime;

}

public String getAqi() {

return aqi;

}

public void setAqi(String aqi) {

this.aqi = aqi;

}

public String getCategory() {

return category;

}

public void setCategory(String category) {

this.category = category;

}

public String getPrimary() {

return primary;

}

public void setPrimary(String primary) {

this.primary = primary;

}

public String getPm10() {

return pm10;

}

public void setPm10(String pm10) {

this.pm10 = pm10;

}

public String getPm2p5() {

return pm2p5;

}

public void setPm2p5(String pm2p5) {

this.pm2p5 = pm2p5;

}

public String getNo2() {

return no2;

}

public void setNo2(String no2) {

this.no2 = no2;

}

public String getSo2() {

return so2;

}

public void setSo2(String so2) {

this.so2 = so2;

}

public String getCo() {

return co;

}

public void setCo(String co) {

this.co = co;

}

public String getO3() {

return o3;

}

public void setO3(String o3) {

this.o3 = o3;

}

}

public static class ReferBean {

private List sources;

private List license;

public List getSources() {

return sources;

}

public void setSources(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

public static class StationBean {

/**

  • pubTime : 2020-07-15T09:00+08:00

  • name : 万寿西宫

  • id : CNA1001

  • aqi : 68

  • level : 2

  • category : 良

  • primary : PM2.5

  • pm10 : 66

  • pm2p5 : 49

  • no2 : 29

  • so2 : 3

  • co : 0.7

  • o3 : 81

*/

private String pubTime;

private String name;

private String id;

private String aqi;

private String level;

private String category;

private String primary;

private String pm10;

private String pm2p5;

private String no2;

private String so2;

private String co;

private String o3;

public String getPubTime() {

return pubTime;

}

public void setPubTime(String pubTime) {

this.pubTime = pubTime;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getAqi() {

return aqi;

}

public void setAqi(String aqi) {

this.aqi = aqi;

}

public String getLevel() {

return level;

}

public void setLevel(String level) {

this.level = level;

}

public String getCategory() {

return category;

}

public void setCategory(String category) {

this.category = category;

}

public String getPrimary() {

return primary;

}

public void setPrimary(String primary) {

this.primary = primary;

}

public String getPm10() {

return pm10;

}

public void setPm10(String pm10) {

this.pm10 = pm10;

}

public String getPm2p5() {

return pm2p5;

}

public void setPm2p5(String pm2p5) {

this.pm2p5 = pm2p5;

}

public String getNo2() {

return no2;

}

public void setNo2(String no2) {

this.no2 = no2;

}

public String getSo2() {

return so2;

}

public void setSo2(String so2) {

this.so2 = so2;

}

public String getCo() {

return co;

}

public void setCo(String co) {

this.co = co;

}

public String getO3() {

return o3;

}

public void setO3(String o3) {

this.o3 = o3;

}

}

}

5. 生活指数API

/**

  • 生活指数

  • @param type 可以控制定向获取那几项数据 全部数据 0, 运动指数 1 ,洗车指数 2 ,穿衣指数 3 ,

  •         钓鱼指数	4 ,紫外线指数  5 ,旅游指数  6,花粉过敏指数	7,舒适度指数	8,
    
  •         感冒指数	9 ,空气污染扩散条件指数	10 ,空调开启指数	 11 ,太阳镜指数	12 ,
    
  •         化妆指数  13 ,晾晒指数  14 ,交通指数  15 ,防晒指数	16
    
  • @param location 城市名

  • @return 返回当前生活指数数据

  • @return

*/

@GET(“/v7/indices/1d?key=3086e91d66c04ce588a7f538f917c7f4”)

Call Lifestyle(@Query(“type”) String type,

@Query(“location”) String location);

LifestyleResponse.java代码如下:

package com.llw.goodweather.bean;

import java.util.List;

/**

  • 生活指数

*/

public class LifestyleResponse {

/**

  • code : 200

  • updateTime : 2020-07-15T09:10+08:00

  • fxLink : http://hfx.link/2ax2

  • daily : [{“date”:“2020-07-15”,“type”:“13”,“name”:“化妆指数”,“level”:“4”,“category”:“防脱水防晒”,“text”:“天气炎热,用防脱水防晒指数高的化妆品,少用粉底,常补粉。”},{“date”:“2020-07-15”,“type”:“6”,“name”:“旅游指数”,“level”:“1”,“category”:“适宜”,“text”:“天气较好,但丝毫不会影响您的心情。微风,虽天气稍热,却仍适宜旅游,不要错过机会呦!”},{“date”:“2020-07-15”,“type”:“14”,“name”:“晾晒指数”,“level”:“2”,“category”:“适宜”,“text”:“天气不错,适宜晾晒。赶紧把久未见阳光的衣物搬出来吸收一下太阳的味道吧!”},{“date”:“2020-07-15”,“type”:“15”,“name”:“交通指数”,“level”:“1”,“category”:“良好”,“text”:“天气较好,路面干燥,交通气象条件良好,车辆可以正常行驶。”},{“date”:“2020-07-15”,“type”:“10”,“name”:“空气污染扩散条件指数”,“level”:“2”,“category”:“中”,“text”:“气象条件对空气污染物稀释、扩散和清除无明显影响。”},{“date”:“2020-07-15”,“type”:“3”,“name”:“穿衣指数”,“level”:“7”,“category”:“炎热”,“text”:“天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。”},{“date”:“2020-07-15”,“type”:“16”,“name”:“防晒指数”,“level”:“2”,“category”:“极强”,“text”:“紫外辐射极强,应特别加强防护,建议涂擦SPF20以上,PA++的防晒护肤品,并随时补涂。”},{“date”:“2020-07-15”,“type”:“4”,“name”:“钓鱼指数”,“level”:“2”,“category”:“较适宜”,“text”:“较适合垂钓,但风力稍大,会对垂钓产生一定的影响。”},{“date”:“2020-07-15”,“type”:“5”,“name”:“紫外线指数”,“level”:“5”,“category”:“很强”,“text”:“紫外线辐射极强,建议涂擦SPF20以上、PA++的防晒护肤品,尽量避免暴露于日光下。”},{“date”:“2020-07-15”,“type”:“11”,“name”:“空调开启指数”,“level”:“2”,“category”:“部分时间开启”,“text”:“天气热,到中午的时候您将会感到有点热,因此建议在午后较热时开启制冷空调。”},{“date”:“2020-07-15”,“type”:“12”,“name”:“太阳镜指数”,“level”:“4”,“category”:“很必要”,“text”:“白天虽有白云遮挡,但太阳辐射仍很强,建议佩戴透射比2级且标注UV400的遮阳镜”},{“date”:“2020-07-15”,“type”:“7”,“name”:“过敏指数”,“level”:“2”,“category”:“不易发”,“text”:“天气条件不易诱发过敏,除特殊体质外,无需担心过敏问题。”},{“date”:“2020-07-15”,“type”:“8”,“name”:“舒适度指数”,“level”:“3”,“category”:“较不舒适”,“text”:“白天天气多云,同时会感到有些热,不很舒适。”},{“date”:“2020-07-15”,“type”:“9”,“name”:“感冒指数”,“level”:“1”,“category”:“少发”,“text”:“各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。”},{“date”:“2020-07-15”,“type”:“2”,“name”:“洗车指数”,“level”:“2”,“category”:“较适宜”,“text”:“较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。”},{“date”:“2020-07-15”,“type”:“1”,“name”:“运动指数”,“level”:“2”,“category”:“较适宜”,“text”:“天气较好,较适宜进行各种运动,但因天气热,请适当减少运动时间,降低运动强度。”}]

  • refer : {“sources”:[“Weather China”],“license”:[“no commercial use”]}

*/

private String code;

private String updateTime;

private String fxLink;

private ReferBean refer;

private List daily;

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

public String getUpdateTime() {

return updateTime;

}

public void setUpdateTime(String updateTime) {

this.updateTime = updateTime;

}

public String getFxLink() {

return fxLink;

}

public void setFxLink(String fxLink) {

this.fxLink = fxLink;

}

public ReferBean getRefer() {

return refer;

}

public void setRefer(ReferBean refer) {

this.refer = refer;

}

public List getDaily() {

return daily;

}

public void setDaily(List daily) {

this.daily = daily;

}

public static class ReferBean {

private List sources;

private List license;

public List getSources() {

return sources;

}

public void setSources(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

public static class DailyBean {

/**

  • date : 2020-07-15

  • type : 13

  • name : 化妆指数

  • level : 4

  • category : 防脱水防晒

  • text : 天气炎热,用防脱水防晒指数高的化妆品,少用粉底,常补粉。

*/

private String date;

private String type;

private String name;

private String level;

private String category;

private String text;

public String getDate() {

return date;

}

public void setDate(String date) {

this.date = date;

}

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getLevel() {

return level;

}

public void setLevel(String level) {

this.level = level;

}

public String getCategory() {

return category;

}

public void setCategory(String category) {

this.category = category;

}

public String getText() {

return text;

}

public void setText(String text) {

this.text = text;

}

}

}

6. 搜索城市API

/**

  • 搜索城市 V7版本 模糊搜索,国内范围 返回10条数据

  • @param location 城市名

  • @param mode exact 精准搜索 fuzzy 模糊搜索

  • @return

*/

@GET(“/v2/city/lookup?key=3086e91d66c04ce588a7f538f917c7f4&range=cn”)

Call newSearchCity(@Query(“location”) String location,

@Query(“mode”) String mode);

NewSearchCityResponse.java代码如下:

package com.llw.goodweather.bean;

import java.util.List;

public class NewSearchCityResponse {

/**

  • status : 200

  • location : [{“name”:“北京”,“id”:“101010100”,“lat”:“39.90498”,“lon”:“116.40528”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“10”,“fxLink”:“http://hfx.link/2ax1”},{“name”:“朝阳”,“id”:“101010300”,“lat”:“39.92148”,“lon”:“116.48641”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“15”,“fxLink”:“http://hfx.link/2az1”},{“name”:“海淀”,“id”:“101010200”,“lat”:“39.95607”,“lon”:“116.31031”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“15”,“fxLink”:“http://hfx.link/2ay1”},{“name”:“丰台”,“id”:“101010900”,“lat”:“39.86364”,“lon”:“116.28696”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“25”,“fxLink”:“http://hfx.link/2b51”},{“name”:“大兴”,“id”:“101011100”,“lat”:“39.72890”,“lon”:“116.33803”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“25”,“fxLink”:“http://hfx.link/2b71”},{“name”:“房山”,“id”:“101011200”,“lat”:“39.73553”,“lon”:“116.13916”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“23”,“fxLink”:“http://hfx.link/2b81”},{“name”:“通州”,“id”:“101010600”,“lat”:“39.90248”,“lon”:“116.65859”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“23”,“fxLink”:“http://hfx.link/2b21”},{“name”:“石景山”,“id”:“101011000”,“lat”:“39.91460”,“lon”:“116.19544”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“35”,“fxLink”:“http://hfx.link/2b61”},{“name”:“昌平”,“id”:“101010700”,“lat”:“40.21808”,“lon”:“116.23590”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“23”,“fxLink”:“http://hfx.link/2b31”},{“name”:“顺义”,“id”:“101010400”,“lat”:“40.12893”,“lon”:“116.65352”,“adm2”:“北京”,“adm1”:“北京”,“country”:“中国”,“tz”:“Asia/Shanghai”,“utcOffset”:“+08:00”,“isDst”:“0”,“type”:“city”,“rank”:“33”,“fxLink”:“http://hfx.link/2b01”}]

  • refer : {“sources”:[“heweather.com”],“license”:[“commercial license”]}

*/

private String status;

private ReferBean refer;

private List location;

public String getStatus() {

return status;

}

public void setStatus(String status) {

this.status = status;

}

public ReferBean getRefer() {

return refer;

}

public void setRefer(ReferBean refer) {

this.refer = refer;

}

public List getLocation() {

return location;

}

public void setLocation(List location) {

this.location = location;

}

public static class ReferBean {

private List sources;

private List license;

public List getSources() {

return sources;

}

public void setSources(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

public static class LocationBean {

/**

  • name : 北京

  • id : 101010100

  • lat : 39.90498

  • lon : 116.40528

  • adm2 : 北京

  • adm1 : 北京

  • country : 中国

  • tz : Asia/Shanghai

  • utcOffset : +08:00

  • isDst : 0

  • type : city

  • rank : 10

  • fxLink : http://hfx.link/2ax1

*/

private String name;

private String id;

private String lat;

private String lon;

private String adm2;

private String adm1;

private String country;

private String tz;

private String utcOffset;

private String isDst;

private String type;

private String rank;

private String fxLink;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getLat() {

return lat;

}

public void setLat(String lat) {

this.lat = lat;

}

public String getLon() {

return lon;

}

public void setLon(String lon) {

this.lon = lon;

}

public String getAdm2() {

return adm2;

}

public void setAdm2(String adm2) {

this.adm2 = adm2;

}

public String getAdm1() {

return adm1;

}

public void setAdm1(String adm1) {

this.adm1 = adm1;

}

public String getCountry() {

return country;

}

public void setCountry(String country) {

this.country = country;

}

public String getTz() {

return tz;

}

public void setTz(String tz) {

this.tz = tz;

}

public String getUtcOffset() {

return utcOffset;

}

public void setUtcOffset(String utcOffset) {

this.utcOffset = utcOffset;

}

public String getIsDst() {

return isDst;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

题外话

不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊

这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

欢迎评论区讨论。

s(List sources) {

this.sources = sources;

}

public List getLicense() {

return license;

}

public void setLicense(List license) {

this.license = license;

}

}

public static class LocationBean {

/**

  • name : 北京

  • id : 101010100

  • lat : 39.90498

  • lon : 116.40528

  • adm2 : 北京

  • adm1 : 北京

  • country : 中国

  • tz : Asia/Shanghai

  • utcOffset : +08:00

  • isDst : 0

  • type : city

  • rank : 10

  • fxLink : http://hfx.link/2ax1

*/

private String name;

private String id;

private String lat;

private String lon;

private String adm2;

private String adm1;

private String country;

private String tz;

private String utcOffset;

private String isDst;

private String type;

private String rank;

private String fxLink;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getLat() {

return lat;

}

public void setLat(String lat) {

this.lat = lat;

}

public String getLon() {

return lon;

}

public void setLon(String lon) {

this.lon = lon;

}

public String getAdm2() {

return adm2;

}

public void setAdm2(String adm2) {

this.adm2 = adm2;

}

public String getAdm1() {

return adm1;

}

public void setAdm1(String adm1) {

this.adm1 = adm1;

}

public String getCountry() {

return country;

}

public void setCountry(String country) {

this.country = country;

}

public String getTz() {

return tz;

}

public void setTz(String tz) {

this.tz = tz;

}

public String getUtcOffset() {

return utcOffset;

}

public void setUtcOffset(String utcOffset) {

this.utcOffset = utcOffset;

}

public String getIsDst() {

return isDst;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-b1Z7YRTf-1711909970664)]
[外链图片转存中…(img-xGVlaypu-1711909970665)]
[外链图片转存中…(img-J3FvYPae-1711909970665)]
[外链图片转存中…(img-7k3iPcku-1711909970666)]
[外链图片转存中…(img-DODypa8Q-1711909970666)]
[外链图片转存中…(img-mmcNwky6-1711909970666)]
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-4jjj0srf-1711909970667)]

题外话

不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊

这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

[外链图片转存中…(img-574fwK5V-1711909970667)]

欢迎评论区讨论。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值