Android 프로 그래 밍 시 나 닷 컴 일기예보 데 이 터 를 얻 는 방법
시 나 닷 컴 일기예보 주소:
http://php.weather.sina.com.cn/xml.php?city=우 한 & amp; password = DjoynieT8234jlsK & amp; day = 0
그 중에서 city 후의 도 시 는 자바. net. URLEncoder. encode ("무한", "gb 2312") 를 사용 할 수 있 습 니 다.'무한' 이 라 고 직접 쓸 수도 있 지만 'wuhan' 을 사용 할 수 없습니다.비밀번호 고정
데 이 는 0 으로 이날 날 씨 를, 1 은 다음날 날 씨 를, 2 는 사흘 째 날 씨 를 나타 내 는 것 으로 유추 하면 최대 4 다.
도구 종류:
1. 멤버 정의
/** */
public final String SINA_URL = "http://php.weather.sina.com.cn/xml.php";
/** XML */
public final String PASSWORD = "DJOYnieT8234jlsK";
/** */
public String city;
/** */
public String status1;
/** */
public String status2;
/** */
public String figure1;
/** */
public String figure2;
/** */
public String direction1;
/** */
public String direction2;
/** */
public String power1;
/** */
public String power2;
/** */
public String temperature1;
/** */
public String temperature2;
/** */
public String tgd;
/** */
public String zwx_l;
/** */
public String zwx_s;
/** */
public String ssd_l;
/** */
public String ssd_s;
/** */
public String ktk_l;
/** */
public String ktk_s;
/** */
public String xcz_l;
/** */
public String xcz_s;
/** */
public String chy_l;
/** */
public String chy_shuoming;
/** */
public String pollution_l;
/** */
public String pollution_s;
/** */
public String gm_l;
/** */
public String gm_s;
/** */
public String yd_l;
/** */
public String yd_s;
2. 날씨 데이터 가 져 오기
/**
*
*
* @param city
*
* @param day
* 0 ,1 ,2 , , 4
*/
public void UpdateWeatherInfo(String city, String day) {
if (city.equals("")) {
isLoaded = false;
return;
}
String html = null;
try {
html = doGet(SINA_URL + "?city="
+ java.net.URLEncoder.encode(city, "gb2312") + "&password="
+ PASSWORD + "&day=" + day);
Document doc = Jsoup.parse(html);
if (doc.body().getElementsByTag("Profiles").size() == 0) {
isLoaded = false;
return;
}
if (doc.body().getElementsByTag("Profiles").get(0).getElementsByTag("Weather").size() == 0) {
isLoaded = false;
return;
}
Element element = doc.body().getElementsByTag("Profiles").get(0)
.getElementsByTag("Weather").get(0);
this.city = element.getElementsByTag("city").text();
status1 = element.getElementsByTag("status1").text();
status2 = element.getElementsByTag("status2").text();
figure1 = element.getElementsByTag("figure1").text();
figure2 = element.getElementsByTag("figure2").text();
direction1 = element.getElementsByTag("direction1").text();
direction2 = element.getElementsByTag("direction2").text();
power1 = element.getElementsByTag("power1").text();
power2 = element.getElementsByTag("power2").text();
temperature1 = element.getElementsByTag("temperature1").text();
temperature2 = element.getElementsByTag("temperature2").text();
tgd = element.getElementsByTag("tgd").text();
zwx_l = element.getElementsByTag("zwx_l").text();
zwx_s = element.getElementsByTag("zwx_s").text();
ssd_l = element.getElementsByTag("ssd_l").text();
ssd_s = element.getElementsByTag("ssd_s").text();
ktk_l = element.getElementsByTag("ktk_l").text();
ktk_s = element.getElementsByTag("ktk_s").text();
xcz_l = element.getElementsByTag("xcz_l").text();
xcz_s = element.getElementsByTag("xcz_s").text();
chy_l = element.getElementsByTag("chy_l").text();
chy_shuoming = element.getElementsByTag("chy_shuoming").text();
pollution_l = element.getElementsByTag("pollution_l").text();
pollution_s = element.getElementsByTag("pollution_s").text();
gm_l = element.getElementsByTag("gm_l").text();
gm_s = element.getElementsByTag("gm_s").text();
yd_l = element.getElementsByTag("yd_l").text();
yd_s = element.getElementsByTag("yd_s").text();
isLoaded = true;
} catch (UnsupportedEncodingException e) {
isLoaded = false;
}
}
3. 액세스 네트워크
public static final String ENCODE = "utf-8";
public static String doGet(String url) {
try {
HttpGet httpGet = new HttpGet(url);
HttpClient hc = new DefaultHttpClient();
HttpResponse ht = hc.execute(httpGet);
if (ht.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity he = ht.getEntity();
InputStream is = he.getContent();
BufferedReader br = new BufferedReader(
new InputStreamReader(is));
String response = "";
String readLine = null;
while ((readLine = br.readLine()) != null) {
response = response + readLine;
}
is.close();
br.close();
return response;
} else {
return "error";
}
} catch (Exception e) {
return "error";
}
}
4. jsoup 에 대해 참고 할 수 있 습 니 다.
http://baike.baidu.com/view/4066913.htm
본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.