Android天氣預報簡介

2021-09-11 19:46:05 字數 2550 閱讀 8606

《谷歌天氣預報》。專案來自於日常生活中天氣預報新聞。由於人們日益緊湊的生活節奏,對於天氣的關注不如以前那麼重要,所以為了節省人們的業餘時間,直接將天氣預報功能搬入了手機軟體功能當中,方便人們閱讀瀏覽當地天氣情況,並適當做出生活調整。

該專案技術要點為:推送功能+後台服務設計service+聯網功能http+xml解析器xmlpullparser等技術。

一. 專案介紹

《谷歌天氣預報》是一款簡單的天氣預報定製軟體。介面簡潔易懂,方便使用者使用。可以查詢幾大城市的天氣預報情況,主要功能有天氣預告、城市溫度、濕度、未來幾天天氣**等。

該軟體使用起來非常方便。只要輸入所檢視的城市,軟體自動提供當地的天氣情況,以供查詢。

二. 功能說明

1、進入軟體頁面

2、功能說明

1)、【天氣】功能: 顯示當前天氣情況。資料來自於網際網路真實天氣預報。

2)、【城市】功能: 顯示當前所在城市。

3)、【溫度】功能: 顯示選擇城市天氣溫度變化。資料來自網際網路真實天氣溫度預告。

4)、【濕度】功能: 顯示當地城市濕度

5)、【天氣**】功能:**未來幾天的天氣狀況。可以**未來三天以內的天氣資料。

6)、【更新日期】功能: 顯示當前天氣日期。

三. 程式設計技術說明

本程式主要使用service服務。android開發中,當需要建立在後台執行的程式的時候,就要使用到service。service 可以分為有無限生命和有限生命兩種。

特別需要注意的是service跟activities是不同的(簡單來說可以理解為後台與前台的區別),例如,如果需要使用service的話,需要呼叫startservice(),從而利用 startservice()去呼叫service中的oncreate()和onstart()方法來啟動乙個後台的service。

在本程式中除了使用seivice服務外,還用到了網路xml解析器xmlpullparser。同時還使用了***onclicklistener來進行監聽動作。

程式部分主要**1:

// 更新ui執行緒

handler = new handler();

thread = new thread()

程式部分主要**2:

public class weatherservice extends service

@override

public void oncreate()

@override

public void onstart(intent intent, int startid)

@override

public void ondestroy()

private void getweather(string city) {

weather = null;

try {

定義pull解析器

xmlpullparser pullparser = xml.newpullparser();

統一資源定位器

url url = new url(""

city);

帶緩衝的字元輸出流

bufferedreader breader = new bufferedreader(new inputstreamreader(

url.openstream(), "gbk"));

stringbuilder sb = new stringbuilder();

string temp;

寫入到stringbuilder

while ((temp = breader.readline()) != null) {

sb.append(temp);

breader.close();

去除xml開頭的空格

pullparser.setinput(new stringreader(sb.tostring().trim()));

int eventtype = pullparser.geteventtype();

判斷是否在current_conditions標籤內

boolean iscurrent = false;

未讀到檔案結束標籤

while (eventtype != xmlpullparser.end_document) {

system.out.println("eventtype:" + eventtype);

switch (eventtype) {

case xmlpullparser.start_document:

初始化天氣物件

weather = new weather();

break;

開始標籤

case xmlpullparser.start_tag:

string tagname = pullparser.getname();

if (tagname.equals("city")) {

獲取城市

weather.setcity(pullparser.getattributevalue(0));

else if (tagname.equals("forecast_date")) {

天氣和天氣預報說課稿

佛岡縣城東中學鄧秀珍 一 課程標準 知道 天氣 和 氣候 的區別,並在生活中正確使用這兩個術語。識別常用天氣符號,能看懂簡單的天氣圖。用例項說明人類活動對大氣環境的負面影響及保護大氣環境的重要性。二 學情分析 通過前三章地理學習,學生已經基本適應了地理學習規律,養成了較好的地理學習習慣,天氣 和 氣...

動物天氣預報員

有一天,天空上烏雲密布,好像要下雨了,卻遲遲不下。我以為不會下雨,就跑出去玩了。我出去看到了許多奇怪的現象。首先我去了池塘看小魚,看到魚兒們紛紛冒出頭來。我不禁產生疑問 魚兒們不都生活在水裡嗎?他們這樣應該會呼吸困難吧。我急忙跑回家問媽媽。孩子,這樣的現象說明快下雨了,魚兒冒出頭來是因為魚兒在水裡難...

特殊天氣,預報預警預防,機制

關於實行特殊天氣預報預警預防機制的 通知各部門 為做好特殊天氣預報預警預防工作,加強部門之間的防災減災資訊溝通,建立完善特殊天氣防控體系,提高公司 三項三預 安全工作法管理水平,根據公司實際情況,對特殊天氣實行預報預警預防聯動機制,具體通知如下 一 指導思想 一 堅持 及早預告 超前防範 的原則 二...