❤️Android Stduio实现一个天气预报APP❤️

Posted 振华OPPO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️Android Stduio实现一个天气预报APP❤️相关的知识,希望对你有一定的参考价值。

一、项目概述

本次项目主要实现了天气预报功能。通过调用天气预报接口来获得天气数据,用LIstView和GridView来搭建每个界面,将查询的天气信息存储在SQLiteDatabase中。应用包括了五大界面:

  • 首页面:有各种组件装饰,显示天气、温度、风向及各种指数,还有未来三天的天气
  • 城市管理界面:在这里可以对添加的城市进行管理
  • 搜索更多城市页面:可以添加想要查看的城市
  • 删除城市页面:可以删除已经添加的城市信息
  • 更多设置页面:可以设置壁纸、查看版本信息和分享软件

二、功能分析

  1. 通过天气预报接口获取网络数据
  2. 展示选择城市的天气情况、温度、风向,各种指数以及未来三天的基础天气情况
  3. 将从网络中获取到的城市信息保存到数据库中,便于没有网时候进行数据请求
  4. 对数据库中的存储的信息,进行增删改查等操作

三、开发环境

四、涉及知识点

容器类布局
RelativeLayout
LinearLayout
基础控件的绘制与使用
TextView:显示文本内容的控件
ImageView:设置显示图片的控件
EditText:可接受用户输入的控件
Button:按钮控件
复杂控件的绘制与使用扩展
ListView:显示列表数据控件,使用适配器填充其内部内容1.BaseAdapter的使用方法 2.通知适配器更新数据3.设置每一项的点击监听器
GridView:显示网格数据控件与ListView使用方式非常相似
ViewPager:可左右滑动的包含多个view或者Fragment的控件1.FragmentStatePagerAdapter的使用2.需要页数发生变化时,提示适配器更新的方式3.设置滑动图标指示器4.设置滑动监听事件
CardView:v7包当中的控件,使用之前需要导包,一般用于listview每一个item的容器类布局,可制作成卡片式效果包含自带属性,需要带入appNs域名。
Activity
1.创建和绑定布局
2.生命周期
3.跳转与传值
Fragment
1.加载进入ViewPager的方式
2.activity向fragment传值的方式
数据存储——数据库的操作
1.SQLiteOpenHelper的创建与使用
2.SQLiteDatabase函数的调用
3.创建表,增删改查数据的方法
数据存储——共享参数存储
1.数据的获取与存储
2.切换首页壁纸图片
简单第三方框架使用功能
Picasso加载网络图片的框架
xutils封装完善的多功能框架,此处主要使用通过网络获取数据的功能
Gson解析json数据的框架,简单方便

五、项目演示

1、打开项目,运行APP,显示首页面天气及各项指数等信息。

2、点击左下角的+号,进入城市管理页面。

3、再点击右下角的添加按钮,进入城市添加界面,在这里选择你想要查看的城市

4、我们选择【上海】,自动跳转到主页面,显示上海的天气的信息

5、这时候我们再依次添加【深圳】【沈阳】两座城市,可以看到城市和天气信息立刻就更新了

6、这时候我们可以滑动这个界面,下面的指示点对应的已经添加的城市,现在看到一共有4个城市,也就是有4页,我们向左滑动到第一页【苏州】

7、这些穿衣指数、洗车指数等指数点击都会有温馨的提示框,非常人性化

8、我们继续进入到城市管理界面,这里可以对城市进行删除,然后点击右上角的保存按钮

9、我们点击主页面的右下角的三个点按钮,显示更多设置

10、我们选择改变壁纸,一共有三款可以选择,选择完毕立即进行主题更改

11、觉得软件很不错的话,还可以分享本软件给好友

六、项目总结

本次项目通过调用天气接口实现天气预报的功能,逻辑实现上还是比较复杂的,属于进阶项目,通过对这次项目的学习,可以加深基础控件和Activity的理解,还会知道如何使用第三方框架。

源码我后面会整理出来,发在文末,点击三连不迷路。

记住了,自己喜欢的东西,就不要问别人好不好看。

以上是关于❤️Android Stduio实现一个天气预报APP❤️的主要内容,如果未能解决你的问题,请参考以下文章

Android Stduio启动模拟器运行项目时做了什么

风云天气是 Android 平台开源天气 App,采用 KotlinRoomOKHttp3 协程等框架实现

Android Studio实现天气预报小程序

Android项目之天气预报 的实现分析

android应用开发-从设计到实现 3-6 静态原型的天气预报

❤️Android Studio实现一个记账本项目❤️