1 准备着手于一个天气应用的开发,这个是一个比较重要的项目尝试,目的是将之前整理过的东西再好好串接起来。首先先找到一个合适的 API 接口,通过资料查询,有一个蛮好的推荐——和风天气。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/547e4e77354b8f5b6d5f5728d8fa8066.writebug)
2 现在缓缓脑子,等等将书本里的这个项目实战一下,将一些功能实现。在开始之前先好好理理思路,不着急。
# 第一阶段
1,今天先测试一下和风天气的 sdk 的测试看看是这么一回事,再写课本里面的开发。首先导入相应的包,然后看他提供的开发文档,看看有什么需要修改的。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/0266c73447c8dfc94a0923ad3d99c915.writebug)
这个是北京的天气情况。对比我获取的信息,基本一致,这说明我使用该接口比较顺利。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/cb25ebc3c0a0dc43d3d9d9d6e3bc6962.writebug)
2,以上的成功连接给了我一个很好的启发思考,我最终的修改方案可以基于以上的接口实现。不过现在还在打基础,先跟着课本中的知识要点进行开发吧。
3,正式进入开发:思路捋一捋。这次开发需要用到的知识点有 UI,数据存储,服务,网络请求等等。
4,gitee 仓库分布式管理;老规矩先创建一个仓库保证修改的过程的一些细节上的修改。回顾之前 gitee 的一系列操作。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/46d2d66489784be10dffb5f56116e236.writebug)
5 回归书本进行思考学习,将思路捋清楚。
6 在项目开始前,需要的所有工具都应该备齐,尤其是第三方的使用。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/fd7fe3a4fe4061e06b9292a225cbeeba.writebug)
7 根据课本的节奏是第一个阶段是通过 litepal 进行高效地搭建数据。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/67fc6754da552196045480d10b3bc935.writebug)
项目中居然没有这个对象?!是我的依赖没有搭建好吗?找找原因先,初步认定是没有导入好依赖。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/6c8a9c5cdf4093469023cb2b7f8ecf72.writebug)
修改 gradle 后就可以了。
8 我的项目命名和课本的有一点区别,我的是“myweather”而课本的是“coolWeather”。这个没有什么特别的。只是命名而已。在这里强调一下是为了避免蒙圈。这一步的操作回顾课本第 6 章的学习。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/19d92a08449ab9c8e69a9811356c0f6c.writebug)
最终第一阶段完成,设计好数据库。上传到 Git 上以保存!
# 第二阶段
9 根据课本要求第二阶段主要是从他提供的服务器那里获取 JSON 数据然后解析存储到数据库中。这一部分着重回顾了第九章网络。在这一章主要是学会使用 okhttp 这个开源第三方工具。
10 在数据传送回来后还得进行解析,所以就用到了 gson 解析。这里就需要创建工具类进行工作。
11 前期准备已经差不多;现在需要的是进行前端界面的设计——本来我是想天马行空的自己搞定的。但是先还是按照他的节奏走,看看效果啥的。
12 布局就跟他的走吧,要不问题出现了都不知道这么整。好像我没有接触过如下的东西。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/fcfac2d3cfefb8e4f6472029660b2384.writebug)
![](https://www.writebug.com/myres/static/uploads/2021/12/17/8792cd58d3dcc330ee788d1134142158.writebug)
13 进入 UI 设计后,最最关键的 ListView 和 RecycleView 记得回顾一下啊!
14 已经完成第二阶段的,待测试,测试的时候遇到如下的问题:基本的想法就是没有创建表格,结果打开该项目的 db 文件,结果的确如此!看来要好好回顾一下构建数据库的方法。这一步要回看之前的章节。今天又整到快十一点了,缓缓先。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/e33e335dd75ed063e5606f1c0622ce8b.writebug)
1 接着解决昨天没有解决的问题,数据库中没有这个表?我回顾一下课本中的第一阶段的过程,好像没有什么问题,而且它说只要调用这个方法就会新建这个表。现在我换成真机进行 run,结果还是这样??!
![](https://www.writebug.com/myres/static/uploads/2021/12/17/9a54ad50875e7e7d128bf349aac16507.writebug)
2 感觉自己好像知道问题所在了:litepal 中的 mapping 写错了,写成了 mapper,服了自己!现在解决这个数据库问题!
![](https://www.writebug.com/myres/static/uploads/2021/12/17/4e54713375430035d5ec5c8019249aa3.writebug)
3 但是又遇到一个新的问题:没有成功获取网络中的数据!不过这个人给的网址域名,网络请求总是很慢的。我在 pc 端都有时候打不开!暂时放放,不管!
4 还是先解决 3 中的问题,要不后期不好进行,因为要实现点击其中 listView 中的 item 实现跳转。不解决的话,后期怎么做呢?
5 终于解决了这个问题!原来是因为安卓更新后不支持不安全连接,所以想要设置一些一些属性:
![](https://www.writebug.com/myres/static/uploads/2021/12/17/b313795acb62658a84462d4ecdbd0527.writebug)
![](https://www.writebug.com/myres/static/uploads/2021/12/17/76537f6b891fbb00e1cf86dbe7554254.writebug)
然后我就可以获取省市县的数据了。
6 我遇到一个细节的问题:数据库里的东西应该是字符串类型,不是整型。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/dfa4c485a6e1a85d67817dc5368552b3.writebug)
修改一下就好了,没什么的。
# 第三阶段
7 在第三阶段就是进行天查询并且将天气信息显示出来。我们知道进行数据传送的有效工具就是 JSON。我们主要还是对反馈过来的数据进行解析。在这里我认为可以构建分支。主线就是按照课本的进行开发,支线的话就是进行可以用我的和风天气的 API 进行数据解析。支线的话,是后面再做的,可以先放放。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/c7c80895930d911a2d7e3f8a13435578.writebug)
尝试一下关于 Git 分支的,果然分支搞定了!还行!不过得切换到原来的分支。
![](https://www.writebug.com/myres/static/uploads/2021/12/17/54b4c897676e065f69462963f6e2e766.writebug)
![](https://www.writebug.com/myres/static/uploads/2021/12/17/4432eb09ab4c89e92084695b78eae8cf.writebug)
好了下一步进行天气信息的获取。
8 首先第一步对于 Gson 实体类的编写!这一个很重要。这个对 JSON 进行解析的重要一步!
9 准备布局 XML 设计,我觉得这一步没必要太浪费时间,UI 设计是打辅助的。主要还是功能要实现才是王道!
10 现在使用了 SharedPreferences 进行数据存储——天气状况,在整个项目完成后要好好回顾一下这些内容!
11 现在先简单地将 weather 的东西整理好先!主要是将组件和待实现的方法写上后面再补齐。
1 今天是建党一百周年的日子,祝党生日快乐。
2 接着完善天气界面的代码,主要是将待实现的方法将它补齐!
3 已经补齐好待实现的方法,不过还没进行测试。等等还得考英语,考完再回来接着整!
4 搞定学校的英语考试。现在接着敲代码。天气的页面设计好了,但是得跳转到主页面先!那么就得修改省市县界面的一些代码达到跳转目的!
5 完成相应的代码编写,还没有测试。先 Git 上去先。
6 测试的时候采用真机进行测试,不过还是有一个问题就是定点。不知道是天气太热还是怎么样,有点小
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
使用Java实现的天气APP【100012080】 (113个子文件)
gradlew.bat 2KB
天气app开发报告.docx 5.44MB
.gitignore 1KB
.gitignore 47B
.gitignore 6B
build.gradle 2KB
build.gradle 530B
settings.gradle 45B
gradlew 5KB
gradle-wrapper.jar 53KB
WeatherActivity.java 11KB
ChooseAreaFragment.java 10KB
AutoUpdateService.java 4KB
Utility.java 4KB
MainActivity.java 901B
County.java 872B
City.java 857B
Province.java 764B
ExampleInstrumentedTest.java 756B
HttpUtil.java 710B
Suggestion.java 524B
Basic.java 474B
Forecast.java 436B
ExampleUnitTest.java 382B
Weather.java 342B
Now.java 306B
AQI.java 170B
output-metadata.json 340B
LICENSE 34KB
myoutput.md 19KB
README.md 14KB
myoutput.md.md 14KB
32-7eeb04ea5d7f643707f9a55736a8d445.png 268KB
13-a2565bffe0d81d6c1af1b51ca2c18ce6.png 258KB
7-94977abdaeabe57f441da84f8d7e1be7.png 250KB
36-195a56716d76ba7256f211d9a4dc6469.png 238KB
34-84d14ee51a24322bfdf7342baeb53fca.png 235KB
12-4de08ab4de6bd08b3f26833ded419004.png 233KB
35-0906f715c2c0c9891124e0ca6710f3d7.png 224KB
6-5b01524b36ad9de7dbc32583a6a0cbe7.png 221KB
9-8b80376a7c28a0ba27ec22844e1fe046.png 212KB
33-26b5a467ab0ee74a66d1664c7abc4aaf.png 208KB
25-14a329935954f92dd524506549ec2f49.png 207KB
11-85fee13bdfa819cd8da33e0b02b04da5.png 207KB
16-7bb2237227873cc03bf7a9ad32a14290.png 206KB
5-63843839ff5d0acb0ea83ea49569111d.png 195KB
30-eb934b50ae1a465a2ca87c548f77d32f.png 187KB
2-980ebfb4f8fe8f2bb46aabc0f4fe2734.png 185KB
23-236f369c32e7e91e2bce1a6429356892.png 184KB
21-0ff657ea4634e8e62fa9a6ef9be7d9de.png 181KB
22-237e4694c81a488cf34f755ff35fd516.png 180KB
26-0f500c3ffb213c783e851d70e2e4b074.png 178KB
8-ba6c87e530a4add7e98d564ac2b49a43.png 177KB
17-4ed3b9712de849d3c66b6a51fedf8111.png 172KB
4-267a8f6d209f3058d563f4a5ca8b994b.png 164KB
3-02be96e58056427824ffe0118c48387f.png 156KB
27-05485d63794388fce70b0168259d1fb0.png 154KB
24-21aed69fe8c1c051d1acb3d38a1888c2.png 144KB
29-594e11fa82307d7c32080e8abc047cb2.png 79KB
1-0e6b67eacb2e1645dedf9e810e78502d.png 66KB
31-9905062077192b0eb31e5de8fe21c280.png 62KB
15-ba34aee6ed2813536816309fe166cb57.png 57KB
18-d3794c4f7142d0bbba91b56076ff45ff.png 54KB
20-455e1fb1ac3280d067c26d2aa8e2ee2c.png 52KB
14-522e40a3ff752aa18ebd686d9bf313b1.png 42KB
28-2d0d2affc10a5db507fe050e6082ebc9.png 37KB
37-f6eab2d8a5fa668944840c6ce8728dbf.png 35KB
10-e4e2a0961cbdd1ab1a9f3140e643d42c.png 30KB
39-40924c88fc79eee23e3f480aa167c092.png 25KB
38-d8d6e77908deb2c9cc9e576c4dbaac73.png 23KB
ic_launcher_round.png 16KB
19-4bfef32a636f95d27db10e39839e42e5.png 14KB
ic_launcher_round.png 12KB
ic_launcher.png 10KB
ic_launcher.png 8KB
ic_launcher_round.png 7KB
ic_launcher_round.png 5KB
ic_launcher.png 5KB
ic_launcher.png 4KB
ic_launcher_round.png 3KB
ic_launcher.png 3KB
logo.png 2KB
logo.png 2KB
ic_home.png 310B
ic_back.png 191B
proguard-rules.pro 750B
gradle.properties 1KB
gradle-wrapper.properties 230B
dbnavigator.xml 27KB
ic_launcher_background.xml 5KB
aqi.xml 3KB
activity_weather.xml 2KB
ic_launcher_foreground.xml 2KB
fragment_choose_area.xml 1KB
forecast_item.xml 1KB
suggestion.xml 1KB
title.xml 1KB
AndroidManifest.xml 1KB
jarRepositories.xml 1KB
themes.xml 831B
共 113 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2676
- 资源: 7664
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功