日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

基于Java实现的天气预报APP安卓项目MyWeather

發布時間:2023/12/9 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Java实现的天气预报APP安卓项目MyWeather 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

資源下載地址:https://download.csdn.net/download/sheziqiong/85609510
1 準備著手于一個天氣應用的開發,這個是一個比較重要的項目嘗試,目的是將之前整理過的東西再好好串接起來。首先先找到一個合適的 API 接口,通過資料查詢,有一個蠻好的推薦——和風天氣。

2 現在緩緩腦子,等等將書本里的這個項目實戰一下,將一些功能實現。在開始之前先好好理理思路,不著急。

第一階段

1,今天先測試一下和風天氣的 sdk 的測試看看是這么一回事,再寫課本里面的開發。首先導入相應的包,然后看他提供的開發文檔,看看有什么需要修改的。

這個是北京的天氣情況。對比我獲取的信息,基本一致,這說明我使用該接口比較順利。

2,以上的成功連接給了我一個很好的啟發思考,我最終的修改方案可以基于以上的接口實現。不過現在還在打基礎,先跟著課本中的知識要點進行開發吧。

3,正式進入開發:思路捋一捋。這次開發需要用到的知識點有 UI,數據存儲,服務,網絡請求等等。

4,gitee 倉庫分布式管理;老規矩先創建一個倉庫保證修改的過程的一些細節上的修改。回顧之前 gitee 的一系列操作。http://www.biyezuopin.vip

5 回歸書本進行思考學習,將思路捋清楚。

6 在項目開始前,需要的所有工具都應該備齊,尤其是第三方的使用。

7 根據課本的節奏是第一個階段是通過 litepal 進行高效地搭建數據。

項目中居然沒有這個對象?!是我的依賴沒有搭建好嗎?找找原因先,初步認定是沒有導入好依賴。

修改 gradle 后就可以了。

8 我的項目命名和課本的有一點區別,我的是“myweather”而課本的是“coolWeather”。這個沒有什么特別的。只是命名而已。在這里強調一下是為了避免蒙圈。這一步的操作回顧課本第 6 章的學習。

最終第一階段完成,設計好數據庫。上傳到 Git 上以保存!

第二階段

9 根據課本要求第二階段主要是從他提供的服務器那里獲取 JSON 數據然后解析存儲到數據庫中。這一部分著重回顧了第九章網絡。在這一章主要是學會使用 okhttp 這個開源第三方工具。

10 在數據傳送回來后還得進行解析,所以就用到了 gson 解析。這里就需要創建工具類進行工作。

11 前期準備已經差不多;現在需要的是進行前端界面的設計——本來我是想天馬行空的自己搞定的。但是先還是按照他的節奏走,看看效果啥的。http://www.biyezuopin.vip

12 布局就跟他的走吧,要不問題出現了都不知道這么整。好像我沒有接觸過如下的東西。

13 進入 UI 設計后,最最關鍵的 ListView 和 RecycleView 記得回顧一下啊!

14 已經完成第二階段的,待測試,測試的時候遇到如下的問題:基本的想法就是沒有創建表格,結果打開該項目的 db 文件,結果的確如此!看來要好好回顧一下構建數據庫的方法。這一步要回看之前的章節。今天又整到快十一點了,緩緩先。

1 接著解決昨天沒有解決的問題,數據庫中沒有這個表?我回顧一下課本中的第一階段的過程,好像沒有什么問題,而且它說只要調用這個方法就會新建這個表。現在我換成真機進行 run,結果還是這樣??!

2 感覺自己好像知道問題所在了:litepal 中的 mapping 寫錯了,寫成了 mapper,服了自己!現在解決這個數據庫問題!

3 但是又遇到一個新的問題:沒有成功獲取網絡中的數據!不過這個人給的網址域名,網絡請求總是很慢的。我在 pc 端都有時候打不開!暫時放放,不管!

4 還是先解決 3 中的問題,要不后期不好進行,因為要實現點擊其中 listView 中的 item 實現跳轉。不解決的話,后期怎么做呢?

5 終于解決了這個問題!原來是因為安卓更新后不支持不安全連接,所以想要設置一些一些屬性:

然后我就可以獲取省市縣的數據了。

6 我遇到一個細節的問題:數據庫里的東西應該是字符串類型,不是整型。

修改一下就好了,沒什么的。

第三階段

7 在第三階段就是進行天查詢并且將天氣信息顯示出來。我們知道進行數據傳送的有效工具就是 JSON。我們主要還是對反饋過來的數據進行解析。在這里我認為可以構建分支。主線就是按照課本的進行開發,支線的話就是進行可以用我的和風天氣的 API 進行數據解析。支線的話,是后面再做的,可以先放放。

嘗試一下關于 Git 分支的,果然分支搞定了!還行!不過得切換到原來的分支。

好了下一步進行天氣信息的獲取。

8 首先第一步對于 Gson 實體類的編寫!這一個很重要。這個對 JSON 進行解析的重要一步!

9 準備布局 XML 設計,我覺得這一步沒必要太浪費時間,UI 設計是打輔助的。主要還是功能要實現才是王道!

10 現在使用了 SharedPreferences 進行數據存儲——天氣狀況,在整個項目完成后要好好回顧一下這些內容!

11 現在先簡單地將 weather 的東西整理好先!主要是將組件和待實現的方法寫上后面再補齊。

1 今天是建黨一百周年的日子,祝黨生日快樂。

2 接著完善天氣界面的代碼,主要是將待實現的方法將它補齊!

3 已經補齊好待實現的方法,不過還沒進行測試。等等還得考英語,考完再回來接著整!

4 搞定學校的英語考試。現在接著敲代碼。天氣的頁面設計好了,但是得跳轉到主頁面先!那么就得修改省市縣界面的一些代碼達到跳轉目的!

5 完成相應的代碼編寫,還沒有測試。先 Git 上去先。

6 測試的時候采用真機進行測試,不過還是有一個問題就是定點。不知道是天氣太熱還是怎么樣,有點小累緩緩先。再接著 debug。

1 加快開發步伐!今天上午的時間已經浪費了,睡到快 11 點才醒!

2 現在的任務是 debug,看看網絡獲取天氣情況的效果!檢驗一下接口是否有問題:

接口可以正常工作!那么就在 debug 中斷點查找是否有問題!

已經獲取好縣級的縣級數據。準備跳轉到天氣的界面,但是遇到于以下的問題美譽在 XML 文件里面進行注冊該 activity,導致它找不到 activity。

注冊后在進行測試 debug 一下。

終于 debug 到了天氣的界面,先查看一下效果先!但是不知道我是弄了什么結果整到另外的線程,導致我不得已終止 debug。

3 下午去上《軟件測試》最后一節課,但是沒有太大的收獲!老師就是念 ppt,浪費了時間。時間緊張,加快步伐。

4 接著 debug,看看功能能用不!JSON 數據可以傳輸!

5 天氣信息搞定后,現在的目標就是通過 glide 進行圖片設計。Glide 就是一個開源的項目,不知道,我再 gradle 里有沒有添加進來。有,那就直接用就好了,我記得這個開源的圖片加載工具很厲害!

6,下面正式使用 glide 進行圖片的獲取,根據課本的要求是用必應里的每日一圖,來獲取相應的圖片!主要的思路修改視圖,獲取網上的圖片,將圖片放置到視圖中,當然還有一點(緩存!)要不就會老下載調用很繁瑣的!

7,還算順利,不過這個界面上面還是使用課本推薦 Design Support 設計可能會好看點!不過在考慮是否使用,但是課本推薦了更加簡單的方法,干脆就用簡單的來實現算了!

8,界面也已經變得比較好看了 ~ 但是最重要的還是一系列功能實現!

第四階段:

9,在這個階段,實現切換城市以及實時獲取最新的天氣!首先是手動更新天氣,手動更新就要對緩存里的數據進行更新!

10,通過 swipeRefersh 進行更新修改!修改界面的東西,然后在對該組件進行代碼編輯來實現手動更新天氣狀況!

11,手動更新天氣成功!下面實現手動切換城市的功能!

12,學到一招新的通過 instanceof 關鍵詞進行實例匹配看看該對象是否是某個類的實例。

13,不過測試的時候老遇到 timeout 的問題,準備修改一下 okhttp 的一些東西

現在出現了一些細節上的 bug。修改了 client 這個對象!增加連接的時間!

1 今天接著進行測試,不過遇到這個問題,點擊省市縣的最后一步給出這個錯誤!

準備看看這個是怎么回事?根據網絡的信息修改,是在 application 中添加一些東西。

添加了也沒有什么明顯的效果,好像這并不影響實際的開發!

2 現在加入第四階段后選擇好省市縣并不跳轉到天氣界面!好好審查一下問題所在,還有接口很不穩定經常一卡一卡說訪問超時!

3 接口連接慢是慢了點,不過還是能用的!最終獲取完數據沒有跳轉到天氣界面!Debug 的時候也按照我的想法進入相應的函數方法!但是沒有跳到 weather 界面!這!很迷糊!找不到真相所以 Git 回去到第三階段的情況再回去一步步測試一下:

5 個人認為界面展示的問題,以為我用的 support 的高級版本替代之前的 v 版本。多多少少會有一些不同,這回要比較仔細認真地進入第四階段的天氣更新(已驗證)以及切換城市。從手動更新天氣這里入手,之前的那些代碼就直接 copy 就好了!節省時間解決問題!

真的是笨蛋了我,我還真的以為天氣怎么回事,廣州這種天氣會能有 9 攝氏度???原來數據是假的!只是用來學習罷了!

6 接著修改其中代碼:

7 修改了這些代碼,其實也就是重新寫了一遍,要是能跑是最好的!很好!可以更換城市更新天氣!

8 現在考察“服務”這四大組件之一的知識點!后臺自動更新天氣 ~

9 更新掉 logo 畢竟界面也要好看才行!

10 最后一個重要的地方:發布帶有簽名的 apk!參考鏈接:

https://blog.csdn.net/qq_39400113/article/details/108073848

11 修改版本號!以及生成簽名。

android.applicationVariants.all {variant ->variant.outputs.all{ //此處指定生成的apk文件名outputFileName = "mqtt.apk"} }

里面的密碼啥的,我設置為“123456”簡單一點!

放到這個位置!

資源下載地址:https://download.csdn.net/download/sheziqiong/85609510

總結

以上是生活随笔為你收集整理的基于Java实现的天气预报APP安卓项目MyWeather的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。