Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Mrllli/coolWeather

Repository files navigation

coolWeather

这是实习的时候做出来的一个软件,它可以查询各个省份的天气,是跟着书做出来的,因为一开始是Android0基础,因此就拿这本书入门了《第一行代码Android》 下面来介绍一下这个android软件的架构

这个软件获取数据分为两个部分,一个是获取城市信息数据,一个是获取对应城市的天气数据,但这两个获取数据的方式方法略有不同。获取城市数据是通过接口请求服务器,获取到数据,然后将数据缓存到SQLite中,以后 再次获取相同城市的信息,就可以直接从本地数据库中查询了,不需要再去调用接口了,用的是litepal框架。获取天气数据的方式也是从接口调用数据获取,但不同的是,我没加缓存到本地,因此每次都需要去请求远程服务器 获取数据。将获取到的数据显示到界面上,这部分是怎么做的呢,首先还是分两部分,第一部分城市信息是通过Fragment组件依赖于Main_Activity.xml做到的,将所有城市信息都放入一个Fragment中,然后将这个Fragment 布局是通过加载一个布局.xml文件实现的。这样在启动主Activity时就会加载Fragment的布局文件。第二部分是天气信息是通过一个主activity_weather.xml文件融合其它子.xml文件实现的,其它.xml文件就是各种子布局,各个 子布局组成在一起组成了最终的天气显示界面。

现在来说从服务器获取到数据处理部分,同样也是分两部分,第一部分是城市信息部分。从服务器上获取到的数据是json格式的,因此在java中对json格式的数据进行处理,针对省份,城市,县区等创建相应的litepal对象,并将获取到的数据通过litepal的ORM存储入本地SQLite,查询时数据会先从本地数据库查,如果没有,再去调用接口,先存储到数据库中再查询出来。第二部分是天气数据,这部分数据的处理是使用了Gson框架处理数据,就是把相应的json数据转换成一个定义好的类型,然后再通过xxx.xxx获取到对应的值,再将值传入对应的TextView即可

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages