天气预报


临近期末,Android需要交作业所以做了一个比较简单的app,小白勿喷

涉及知识点

容器类布局RelativeLayout,LinearLayout

基础控件的绘制和使用

TextView:显示文本内容ImageView;设置图片Button:按钮EditText:接受客户输入内容

复杂控件的绘制和使用

lIstView:显示列表数据控件,使用设配器填充内部内容
BaseAdapter的使用通知适配器,数据更新方式设置点击监听
GridView:显示网格数据控件:与listview相同
ViewPager:可左右滑动,包含多个view或者fragment的控件
FragmentStateAdapter使用需要网页发生变化时,提示适配器更新设置滑动图标指示器设置滑动监听
GardView:androidX包含的控件,用于LIst View的每一个item的容器类布局,可制作卡片式效果,包含自带属性,需要导入appNs域名

Activity

创建、绑定布局生命周期跳转与传值

Fragment

加载进入viewPager的方式Activity向Fragment的传值方式

数据储存

数据库操作
SQLiteOpenHelper的创建和使用SQLiteDatebase函数的使用创建表、增删改查
共享参数存储
数据获取、存储切换页面壁纸

第三方框架

XUtils:封装完善的多功能框架,本项目用于网络获取数据功能Gson:解析json数据的框架

界面展示





软件功能前期分析

1.根据天气预报接口,获取网络数据2.展示选择城市的天气情况,温度,风向,各种数据以及未来基本天气情况3.将网络获取的城市天气信息保存到数据库中,便于无网络进行数据请求4.对数据库中的城市天气进行增删改查5.根据LocationManager api获取当前位置位置经纬度,再通过全球逆地理编码api获取网络数据,进而解析出当前所在位置信息

难点分析

1.动态添加VIewPager对应小圆点指示器切换界面时,刷新数据库数据3.返回主界面时,改变ViewPager数据源页面的功能4.改变首页背景图片5.获取当前位置并显示在主页面

页面切换逻辑

1.应用启动时,进入主界面,拓攻获取数据库的城市信息,获取网络数据,展示在Fragment中,在View Pager中滑动,点击加号按钮,跳转城市管理页面,点击更多页面,跳转更多按钮,跳转设置页面2.城市管理页面,展示数据库存储的城市天气最新信息列表,点击返回按钮,返回上一级页面,点击加号按钮,跳转搜索更多城市界面,点击编辑按钮,跳转删除城市界面3.搜索更多界面城市界面,网络展示热门城市名称,点击期中每一项,可跳转主界面,在主界面显示增加的城市信息,也可输入城市名称,点击搜索按钮,判断是否存在该城市信息,存在跳转主页面展示信息,否则提示用户重新输入4.删除城市页面,展示数据库存储的城市名称列表,点击每一项的垃圾同按钮,可从数据库中删除记录,点击错号,弹出提示器,点击对号,从数据库删除操作的记录,并返回上一级城市管理界面,并且上一级页面也是显示删除后的数据信息,在返回上一级主界面,显示依然为操作后剩余的城市信息更多设置界面,包含功能,更改背景颜色,清楚缓存数据,获取版本号,分享软件等操作

所使用的天气预报接口为https://www.juhe.cn/docs/index/otherid/1

免费一天一百次,建议自己申请一个,个人经验有时候调试一百次根本不够用,请求不到数据时会闪退,可以在数据库里存入上一次的数据,但是次数用完了就不能实时更新;

或者可以改用腾云天气:https://wis.qq.com/weather/common?source=pc&weather_type=observe|index|rise|alarm|air|tips|forecast_24h&province=广西省&city=桂林市

免费不限次数,但是有个鸡肋的点,请求数据需要加上省份。
跟着老师做了两个版本,上传的是使用聚合api版本

在老师的版本上加上了定位的功能

源码:https://gitee.com/shidulin/weather_app.git
参考:https://www.bilibili.com/video/BV1QE411i7oQ

更多相关文章

  1. Android基础类之BaseAdapter
  2. Android图形系统(八)-app与SurfaceFlinger共享UI元数据过程
  3. android 开发-数据存储之文件存储
  4. Android之Adapter用法总结
  5. Android之MediaStore应用
  6. 打造android ORM框架opendroid(四)——优雅的删除数据
  7. Android(安卓)activity启动模式理解
  8. Android之Adapter用法总结
  9. Android核心功能

随机推荐

  1. 【Android】关于Android控件EditText的属
  2. android4.0.3多点触摸屏设备设置
  3. Android开发——(二)运行你的APP
  4. 国际版TikTok使用教程(2020更新)
  5. 自定义圆形ProgressBar
  6. Android面试宝典
  7. android 获取当前时间精确到毫秒的两种方
  8. iOS, Android, WindowsPhone三大平台交互
  9. Android(安卓)DataBinding使用总结(一)
  10. Unable to start activity ComponentInfo