新聞中心
一款優(yōu)秀的天氣播報(bào)軟件,除了在功能上要達(dá)到實(shí)時(shí)準(zhǔn)確預(yù)報(bào)天氣之外,其自帶的桌面天氣插件還能起到美化桌面的作用,今天小編為大家介紹一下天氣預(yù)報(bào)的簡(jiǎn)單寫(xiě)法,讓您時(shí)時(shí)刻刻都能夠第一時(shí)間了解最新的天氣動(dòng)態(tài)。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的北海網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1.Android的天氣預(yù)報(bào)的應(yīng)用還是挺多的,基于JSON和WebServ的均可。
首先我們來(lái)介紹基于JSON解析的天氣預(yù)報(bào)的開(kāi)發(fā)
2.這需要尋找到合適的數(shù)據(jù)源。
這里使用的是http://www.weather.com.cn/(中央氣象局)的數(shù)據(jù)信息??赏ㄟ^(guò) m.weather.com.cn/data/101010100.html或者www.weather.com.cn/data/cityinfo /101010100.html查看到北京的天氣信息。
3.接下來(lái)就是對(duì)JSON數(shù)據(jù)的解析
- package com.cater.weather;
- import java.io.IOException;
- import org.apache.http.HttpResponse;
- import org.apache.http.HttpStatus;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.util.EntityUtils;
- import org.json.JSONException;
- import org.json.JSONObject;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.EditText;
- import android.widget.TextView;
- public class WeatherReportActivity extends Activity
- {
- private final static String url = "http://m.weather.com.cn/data/101010100.html";
- private HttpClient httpClient;
- private HttpResponse httpResponse;
- private HttpGet httpGet;
- private EditText editText;
- private TextView textView;
- private String today;
- private String dayofweek;
- private String city;
- private int ftime;
- private String template;
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- editText = (EditText) findViewById(R.id.editText1);
- textView = (TextView) findViewById(R.id.textView1);
- httpClient = new DefaultHttpClient();
- parseString(getRequest(url));
- editText.setText(getRequest(url));
- textView.setText("城市:" + city + "\n"
- +"溫度:" + template + "\n"
- +"星期:" + dayofweek + "\n"
- +"時(shí)間:" + ftime + "\n"
- +"日期:" + today + "\n");
- }
- private String getRequest(String uri)
- {
- httpGet = new HttpGet(uri);
- String result = "";
- try
- {
- httpResponse = httpClient.execute(httpGet);
- if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
- {
- result = EntityUtils.toString(httpResponse.getEntity());
- return result;
- }
- }
- catch (ClientProtocolException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- return null;
- }
- private String parseString(String str)
- {
- try
- {
- JSONObject jsonObject = new JSONObject(str).getJSONObject("weatherinfo");
- today = jsonObject.getString("date_y");
- dayofweek = jsonObject.getString("week");
- city = jsonObject.getString("city");
- ftime = jsonObject.getInt("fchh");
- template = jsonObject.getString("temp1");
- }
- catch (JSONException e)
- {
- e.printStackTrace();
- }
- return null;
- }
- }
一款簡(jiǎn)單的天氣預(yù)報(bào)就做好了!如果你是一個(gè)愛(ài)學(xué)習(xí)的人,并耐心的看完了本文的話,希望本文對(duì)你有所幫助!
分享名稱:Android 天氣預(yù)報(bào)入門(mén)
文章URL:http://fisionsoft.com.cn/article/ccdeshe.html


咨詢
建站咨詢
