国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android制作天氣預報軟件 —— 天氣查詢

這篇具有很好參考價值的文章主要介紹了Android制作天氣預報軟件 —— 天氣查詢。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

天氣查詢功能包括信息顯示和地區(qū)選擇兩個版塊,二者均通過調用極速數(shù)據(jù)的相關接口進行實現(xiàn)。其中,信息顯示界面作為軟件首頁,默認先顯示系統(tǒng)設置的地區(qū)天氣情況,用戶可通過地區(qū)選擇的界面進行修改信息。對于天氣信息,受接口調用次數(shù)限制,系統(tǒng)設置每24小時更新一次。具體操作流程如下圖所示。

天氣預報android,android studio

第一節(jié) 天氣信息顯示

該項使用的是極速數(shù)據(jù)的天氣預報接口,利用接口獲取指定地區(qū)當天信息(設計中顯示的是日期、當前溫度、最高溫、最低溫、城市名、星期、風向、天氣、更新時間)以及未來四天天氣相關情況(設計中顯示的是日期、最高溫、最低溫、天氣),之后將獲取信息傳遞給界面進行顯示,不同的天氣界面會通過變化圖標進行表示。

首先,在MainActivity中聲明并初始化控件,以便將獲取到的天氣信息傳入界面顯示。并設置訪問地址url,以便調用API。

(1)信息讀取

如圖3-1所示,在MainActivity中實現(xiàn)訪問網(wǎng)絡的內部類。利用AsyncTask可以在處理耗時任務的同時去更新UI的特點,讓Getweather對其進行繼承從而在該類中可以通過接口實現(xiàn)UI的進度更新,最后將訪問結果反饋給UI主線程。代碼中實現(xiàn)的是AsyncTask中的onPreExecute()、doInBackground()兩個函數(shù),此外,還定義了openConnection()函數(shù)。其中,doInBackground()為抽象函數(shù)在AsyncTask中必須實現(xiàn),此處用于在后臺將參數(shù)地址(params[0])、城市Id(params[1])傳遞給openConnection并調用其,從而開始查詢目標城市信息。

天氣預報android,android studio

圖 3- 1獲取天氣信息的內部類Getweather

openConnection()函數(shù)代碼如圖3-2所示,在開發(fā)中用的網(wǎng)絡請求是標準Java接口HttpURLConnectio中的get請求方式。由于URL只能使用英文字母、阿拉伯數(shù)字和某些標點符號,不能使用其他文字和符號,而從doInBackground()傳來的參數(shù)中包含漢字,所以首先需要利用URLEncoder.encode()方法進行轉碼。然后獲取連接對象并設置請求方式,連接進行查詢之后得到包含天氣信息的響應流。再利用BufferedReader類采用readLine()方式將獲得的字符輸入流(即響應流)轉為文本,輸出天氣信息。

天氣預報android,android studio

圖 3- 2 openConnection()函數(shù)

onPreExecute()函數(shù)中,將openConnection()中訪問得到的result作為參數(shù)傳入,此時得到的是JSON數(shù)據(jù)。首先先將數(shù)據(jù)轉為JSONObject形式。由于JSONObject是一個對象,JSONArray是一個數(shù)組,再結合極速數(shù)據(jù)官方給出的API調用文檔可知,獲取當天天氣信息時,同一天的各天氣信息可以看作獨立個體,分別存儲在“today”中,所以獲取當天信息應使用JSONObject,如圖3-3所示。

天氣預報android,android studio

圖 3- 3onPreExecute()函數(shù)中獲取當天天氣信息

而對于未來天氣,應先將同一天的所有天氣信息作為一個整體看待(即先將所有天氣信息按日期進行分類,所屬日期相同的天氣信息屬于同一類),分類之后多個這樣的整體儲存在“forecast”之中構成數(shù)組,最后再分別從各個整體中讀取相應信息。所以讀取未來天氣情況時,應先使用JSONArray讓未來幾天天氣情況以日期為界限進行劃分,共同構成一個數(shù)組,數(shù)組中第1—4個元素分別為未來第1—4天,之后再用JSONObject讀取數(shù)組中每個元素其中包含的詳細天氣信息,如圖3-4所示。

天氣預報android,android studio?

圖 3- 4 onPreExecute()函數(shù)中獲取未來天氣信息

完成訪問網(wǎng)絡的內部類編寫之后,在onCreate()中添加圖3-5代碼開啟網(wǎng)絡訪問活動,自此實現(xiàn)在有默認地點情況下,天氣預報信息的查詢與傳遞。

天氣預報android,android studio

圖 3- 5訪問天氣信息指令

(2)圖標更換

天氣情況的顯示除了文字方式,設計中還添加了圖片方式。以當天天氣信息顯示情況為例,如圖3-6所示,利用switch()語句以獲取到的weather(晴、多云等)為判斷依據(jù),不同的weather值則執(zhí)行不同指令,在各指令中會借助setImageResource將對應控件(nowView)的圖片進行更換。未來四天天氣圖標的變化方式與此大致相同。

天氣預報android,android studio

圖 3- 6天氣圖標變化文章來源地址http://www.zghlxwxcb.cn/news/detail-524085.html

到了這里,關于Android制作天氣預報軟件 —— 天氣查詢的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于Android的天氣預報系統(tǒng)的設計和實現(xiàn)

    基于Android的天氣預報系統(tǒng)的設計和實現(xiàn)

    目錄 摘要 … 1 需求分析 … 2 一、開發(fā)背景… 2 二、項目需求分析… 2 總體設計 … 2 一、系統(tǒng)規(guī)劃… 2 二、系統(tǒng)功能界面… 3 設置預報城市界面:… 3 2.天氣顯示界面: … 4 3.Widget 桌面小部件界面:… 5 三.設計目標… 6 系統(tǒng)設計 … 6 一、開發(fā)及運行環(huán)境… 6 二、數(shù)據(jù)庫

    2024年02月08日
    瀏覽(28)
  • Android Studio 實現(xiàn)天氣預報App (簡單方便展示內容超多)

    Android Studio 實現(xiàn)天氣預報App (簡單方便展示內容超多)

    ?? 文章末尾有獲取完整項目源碼方式 ?? 目錄 前言 一、任務介紹 1.1 背景 1.2目的和意義 二、?實現(xiàn)介紹 視頻演示 2.1 啟動頁實現(xiàn) 2.2注冊頁面實現(xiàn) 2.3 登陸頁面實現(xiàn) 2.4 首頁實現(xiàn) 2.5 城市管理列表頁面實現(xiàn)??????????????? 三、獲取源碼 ????????在使用Android Studio開發(fā)

    2024年04月24日
    瀏覽(27)
  • 安卓大作業(yè):使用Android Studio開發(fā)天氣預報APP(使用sqlite數(shù)據(jù)庫)

    安卓大作業(yè):使用Android Studio開發(fā)天氣預報APP(使用sqlite數(shù)據(jù)庫)

    今天我來分享一下如何使用Android Studio開發(fā)一個天氣預報APP。在文中,我們將使用第三方接口獲取實時天氣數(shù)據(jù),并顯示在APP界面上。 首先,打開Android Studio并創(chuàng)建一個新的項目。在創(chuàng)建新項目時,我們需要設置項目名稱、包名和支持的最低API級別。 為了獲取實時天氣數(shù)據(jù),

    2024年02月08日
    瀏覽(31)
  • ESP8266獲取天氣預報信息,并使用CJSON解析天氣預報數(shù)據(jù)

    ESP8266獲取天氣預報信息,并使用CJSON解析天氣預報數(shù)據(jù)

    當前文章介紹如何使用ESP8266和STM32微控制器,搭配OLED顯示屏,制作一個能夠實時顯示天氣預報的智能設備。將使用心知天氣API來獲取天氣數(shù)據(jù),并使用MQTT協(xié)議將數(shù)據(jù)傳遞給STM32控制器,最終在OLED顯示屏上顯示。 心知天氣是一家專業(yè)的氣象數(shù)據(jù)服務提供商,致力于為全球用戶

    2024年02月10日
    瀏覽(64)
  • 【小項目】微信定時推送天氣預報Github項目使用及原理介紹-包含cron、天氣預報、常用api...

    【小項目】微信定時推送天氣預報Github項目使用及原理介紹-包含cron、天氣預報、常用api...

    一、資料鏈接 1、github地址 https://github.com/qq1534774766/wx-push 2、教程地址 https://blog.csdn.net/qq15347747/article/details/126521774 3、易客云API(自動發(fā)送天氣) https://yikeapi.com/account/index 4、apispace-各種接口(名人名言) https://www.apispace.com/console/api?orgId=6356 5、微信公眾平臺 https://mp.weixin.qq.com/d

    2024年02月02日
    瀏覽(34)
  • QT實現(xiàn)天氣預報

    QT實現(xiàn)天氣預報

    public: ? ? MainWindow(QWidget* parent = nullptr); ? ? ~MainWindow(); ? ?protected: 形成文本菜單來用來右鍵關閉窗口 ? ? void contextMenuEvent(QContextMenuEvent* event); 鼠標被點擊之后此事件被調用 ? ? void mousePressEvent(QMouseEvent *ev); 移動窗口 ? ? void mouseMoveEvent(QMouseEvent* ev); ? ? //重寫過濾器方法

    2024年02月12日
    瀏覽(27)
  • Java實現(xiàn)天氣預報功能

    Java實現(xiàn)天氣預報功能

    如果要實現(xiàn)類似百度天氣、手機App這樣的天氣預報功能該如何實現(xiàn)?首先想到的是百度... ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ?? 最近公司做了一個項目,天氣預報的功能也做上去了,不僅有實時天氣、未來7天預報的功能、還有氣象預警的功能。 天氣包括基本天氣、白

    2024年02月05日
    瀏覽(34)
  • Vue中使用天氣預報

    Vue中使用天氣預報

    第一步 : 打開這個網(wǎng)站自己設置好想要的樣式 和風天氣插件 | 和風天氣插件產(chǎn)品,免費、跨終端。適配你的網(wǎng)站、APP、公眾號 一般選第一個就好 第二步 : 調整好樣式 生成你的代碼 最后記得點生成 第三步: 創(chuàng)建一個 新的組件(.vue文件) 在里面寫入以下的代碼 注意事項寫

    2024年02月11日
    瀏覽(26)
  • 微信小程序天氣預報實戰(zhàn)

    api接口用的和風天氣 代碼如下 //?pages/weather/weather.js Page({ ??/** ???*?頁面的初始數(shù)據(jù) ???*/ ??data:?{ ????apiKey:?\\\"1f5e75b8a3f0472aaf2f618268b30b4e\\\", ????City:?\\\'\\\', ????Country:\\\'\\\', ????locationid:\\\"\\\", ????latlongFlag:?false ??}, ??/** ???*?生命周期函數(shù)--監(jiān)聽頁面加載 ???*/ ??onL

    2024年02月19日
    瀏覽(24)
  • 【iOS】App仿寫--天氣預報

    【iOS】App仿寫--天氣預報

    最近完成了暑假的最后一個任務——天氣預報,特此記錄博客總結。根據(jù)iPhone中天氣App的功能大致可以將仿寫的App分為四個界面—— 首頁,搜索界面,添加界面,瀏覽界面 ,同時在天氣預報中調用了較多的API,具體使用方法可以看這篇博客——【iOS】json數(shù)據(jù)解析以及簡單的

    2024年02月13日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包