开篇
首先声明,小白一只,android完全自学,若代码中有不妥或更简便的方法求指教。。。
寒假比较闲,就想着改改《第一行代码》的酷欧天气,主要是想实现添加多个城市,并通过左右滑动一一查看每个城市的天气信息,效果如下。
酷欧天气2.0.gif
刚开始做的时候想的比较简单,越写到后面越发现不简单,主要碰到以下几个问题:
一、数据库的处理:因为要查看多个城市信息,所有需要一个数据库。为此碰到许多处理数据库的问题,譬如怎么删除某一行数据,怎么知道有多少行数据等等。
二、动态添加控件:主要是用控件显示添加的城市。
三、显示多个城市信息:想着用碎片显示城市信息,但不可能用一个碎片承载一个城市信息,那样的话得用多少碎片啊!我还想着创建碎片数组,也是天秀。
第二三个问题我都写了小Demo进行了实验,第一个问题就得靠自己了:
Android笔记——动态添加删除控件,及添加点击事件:https://www.jianshu.com/p/659e4fe61ef5
Android笔记——双碎片实现多个数据滑动显示:https://www.jianshu.com/p/97e2ccf100ba
先讲讲ChooseAreaActivity,WeatherAcitivity和WeatherAddActivity的关系:
若用户第一次用该APP,将会进入ChooseAreaAcitivity添加第一个城市信息,再跳入WeatherActivity显示添加的城市天气信息。
ChooseAreaAcitity.png
若非第一次用则会直接跳过ChooseAreaAcitivty进入WeatherActivity。
WeatherActivity.png
点击WeatherActivity的添加按钮则会跳入WeatherAddActivity查看所有已添加的城市信息。
WeatherAddActivity.png
再点击WeatherAddActivity的添加按钮则会再进入ChooseAreaActivity选择要添加的城市。
需存储的城市信息:
private int id;
private String CountyWeatherId;//城市ID,用于组成向网络获取信息的weatherUrl
private String CountyWeather;//获取的未被解析的城市天气信息
private String WeatherName;
private Boolean Def;//默认选项,被设为默认的城市第一个在WeatherActivity中显示
NEXT:
酷欧天气2.0(二)——添加城市ChooseAreaActivity
https://www.jianshu.com/p/38e54b92f3d2
网友评论