如何通过Android Stduio来编写一个完整的天气预报APP
目录
- 一、项目概述
- 二、功能分析
- 三、开发环境
- 四、涉及知识点
- 五、项目演示
- 六、项目总结
- 七、项目源码
一、项目概述
本次项目主要实现了天气预报功能。通过调用天气预报接口来获得天气数据,用LIstView和GridView来搭建每个界面,将查询的天气信息存储在SQLiteDatabase中。应用包括了五大界面:
首页面:有各种组件装饰,显示天气、温度、风向及各种指数,还有未来三天的天气城市管理界面:在这里可以对添加的城市进行管理搜索更多城市页面:可以添加想要查看的城市删除城市页面:可以删除已经添加的城市信息更多设置页面:可以设置壁纸、查看版本信息和分享软件
二、功能分析
通过天气预报接口获取网络数据展示选择城市的天气情况、温度、风向,各种指数以及未来三天的基础天气情况将从网络中获取到的城市信息保存到数据库中,便于没有网时候进行数据请求对数据库中的存储的信息,进行增删改查等操作
三、开发环境
四、涉及知识点
五、项目演示
1、打开项目,运行APP,显示首页面天气及各项指数等信息。
2、点击左下角的+号,进入城市管理页面。
3、再点击右下角的添加按钮,进入城市添加界面,在这里选择你想要查看的城市
4、我们选择【上海】,自动跳转到主页面,显示上海的天气的信息
5、这时候我们再依次添加【深圳】【沈阳】两座城市,可以看到城市和天气信息立刻就更新了
6、这时候我们可以滑动这个界面,下面的指示点对应的已经添加的城市,现在看到一共有4个城市,也就是有4页,我们向左滑动到第一页【苏州】
7、这些穿衣指数、洗车指数等指数点击都会有温馨的提示框,非常人性化
8、我们继续进入到城市管理界面,这里可以对城市进行删除,然后点击右上角的保存按钮
9、我们点击主页面的右下角的三个点按钮,显示更多设置
10、我们选择改变壁纸,一共有三款可以选择,选择完毕立即进行主题更改
11、觉得软件很不错的话,还可以分享本软件给好友
六、项目总结
本次项目通过调用天气接口实现天气预报的功能,逻辑实现上还是比较复杂的,属于进阶项目,通过对这次项目的学习,可以加深基础控件和Activity的理解,还会知道如何使用第三方框架。
七、项目源码
下载地址
到此这篇关于如果通过Android Stduio来编写一个完整的天气预报APP的文章就介绍到这了,更多相关Android Stduio编写天气预报APP内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
编写简易Android天气应用的代码示例
本文所要介绍的简易天气App主要用RxAndroid.MVP.Retrofit实现,首先来看看效果: 主页内容: 右侧栏天气列表: 左侧栏城市列表 首先看看Activity主要代码(使用MVP模式): //调用Presenter的方法获取数据 mMainPresenter = new MainPresenterImpl(this); mMainPresenter.getPlaceData(); mMainPresenter.getWeatherData("成都"); //显示主页和右侧
-
Android天气预报之基于HttpGet对象解析天气数据的方法
本文实例所述为Android天气预报之解析天气数据的代码,可实现获取HttpGet对象读取天气网站天气数据,并从数据中解析出天气数据,比如温度.温度.风力.风向.未来几天天气趋势.当天天气状况.空气污染指数等信息,还包括了调用对应的图片或天气动画文件,对于开发android天气预报程序的可以参考本文实例. 具体功能代码如下: import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayL
-
Android天气预报app改进版
最近总是有人来和我说我以前写的一个小app无法正常获取数据~Android简易版天气预报app 今天就又运行了下来查找问题,发现或许是接口有限制吧,不能在多台手机使用同个apikey 然后,发现了我写的代码实在乱七八糟,界面也实在不好看,就又重写了一遍,小小地修改了一遍,开发环境改为了Android Studio 最终效果图如下 工程图如下 一.获取地区信息 做这么一个天气预报app,首先就要获取到国内地区列表 (在我的另一篇博客有介绍:向任意网址发起数据请求) 中国天气网开放有天气预报接口,访
-
如何通过Android Stduio来编写一个完整的天气预报APP
目录 一.项目概述 二.功能分析 三.开发环境 四.涉及知识点 五.项目演示 六.项目总结 七.项目源码 一.项目概述 本次项目主要实现了天气预报功能.通过调用天气预报接口来获得天气数据,用LIstView和GridView来搭建每个界面,将查询的天气信息存储在SQLiteDatabase中.应用包括了五大界面: 首页面:有各种组件装饰,显示天气.温度.风向及各种指数,还有未来三天的天气城市管理界面:在这里可以对添加的城市进行管理搜索更多城市页面:可以添加想要查看的城市删除城市页面:可以删除已经
-
如何编写一个完整的Angular4 FormText 组件
本文主要介绍了如何编写一个完整的Angular4 FormText 组件,分享给大家,也给自己留个笔记 组件定义 import { Component, Output, Input, forwardRef, EventEmitter} from '@angular/core'; import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; @Component({ selector: 'form-text', te
-
使用Android studio编写一个小的jni程序
1.简单介绍一下NDK和JNI NDK:NDK是Native Development Kit的缩写,是Google提供的一套工具集,可以让你其他语言(C.C++或汇编)开发 Android的 JNI.NDK可以编译多平台的so,开发人员只需要简单修改 mk 文件说明需要的平台,不需要改动任何代码,NDK就可以帮你编译出所需的so库. JNI:JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) 2.打开Android
-
Android编程开发从零开始编写一个轻量级浏览器
目录 返回栈 FragmentNavHostBinding 搜索页面暂时放一个EditView MultiStackParentFragment 在里面实现添加窗口 效果图 既然是浏览器,按照国际按理先实现一个多窗口的功能 我打算用ViewPager+Fragment来实现,但仔细想想,这样缺点是十分明显因为要保证Fragment不销毁重建,当viewpager的fragment个数过多,会造成很明显的卡顿,所以先用FragmentManager试试效果 返回栈 多窗口中,每一个窗口都有自己的返
-
C#编写一个网游客户端的完整步骤
目录 一.认识NetworkStream(网络流) 二.连接服务器 三.客户端向服务器发送数据 四.实现播放背景音乐 五.实现游戏背景图片变换 六.小结 七.参考资料 总结 本过程是使用Virtual Studio 2019实现的,利用老师给出的框架进行的修改. 一.认识NetworkStream(网络流) 1.NetworkStream的相关知识点 ①NetworkStream只能使用于具有TCP/IP协议之中,用于UDP中虽然不会报错,但是会出现异常. ②NetworkStream是面向连接
-
Android基于Flutter编写文件下载管理器
目录 前言 Dio 的下载方法 download 监测下载进度 取消下载 删除已经下载的文件 调试过程中遇到的一些错误 运行结果及代码 总结 前言 文件下载在很多类型的应用中会涉及,例如音乐.文档.包括图片(只是图片可以使用一些组件完成无感知的下载).本篇介绍使用 Dio 的下载方法完成文件的下载,涉及到的内容如下: Dio 插件的 download 方法介绍: 使用 download 的回调方法监测下载进度: 使用 CancelToken 取消正在下载的任务: 删除已下载的文件: path_p
-
使用Python编写一个模仿CPU工作的程序
今天早上早些时候,在我的Planet Python源中,我读到了一篇有趣的文章"开发CARDIAC:纸板计算机(Developing upwards: CARDIAC: The Cardboard Computer)",它是关于名为Cardiac的纸板计算机的.我的一些追随者和读者应该知道,我有一个名为简单CPU(simple-cpu)的项目,过去的数月我一直工作于此,并且已经发布了源代码.我真的应该给这个项目提供一个合适的许可证,这样,其他人可能更感兴趣,并在他们自己的项目中使用.不
-
用Python编写一个简单的Lisp解释器的教程
本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Scheme的一个子集.我将我的解释器称之为Lispy (lis.py).几年前,我介绍过如何使用Java编写一个Scheme解释器,同时我还使用Common Lisp语言编写过一个版本.这一次,我的目的是尽可能简单明了地演示一下Alan Kay所说的"软件的麦克斯韦方程组" (Maxwell's Equations of Software). Lispy支持的Scheme
-
一个完整的ASP.NET 2.0 URL重写方案[翻译]
这篇文章描述了一个完整的 ASP.NET 2.0 URL 重写方案.这个方案使用正则表达式来定义重写规则并解决通过虚拟 URLs 访问页面产生回发事件的一些可能的困难. 为什么要重写 URL ? 将 URL 重写方法应用到你的 ASP.Net 应用程序的两个主要原因是:可用性和可维护性. 可用性 谁都知道,相对于难于辨认的带参数的长的查询路径,用户更喜欢一些短的.简洁的 URL.任何时候,一个容易记住和敲入的路径比添加到收藏夹更有用.其次,当一个浏览器的收藏夹不可用时,记住的地址总比在搜索引擎中
-
Android编程中activity的完整生命周期实例详解
本文实例分析了Android编程中activity的完整生命周期.分享给大家供大家参考,具体如下: android中 activity有自己的生命周期,对这些知识的学习可以帮助我们在今后写程序的时候,更好的理解其中遇到的一些错误.这篇文章很长,希望不要耽误大家的时间- 今天不会涉及太多关于activity栈的东西,主要说activity自身的生命周期 区分几个概念 1 Activity 官方解释为 "An Activity is an application component that pro
随机推荐
- MooTools 1.2介绍
- python算法演练_One Rule 算法(详解)
- python刷投票的脚本实现代码
- iOS在Block中修改外部变量值的实现代码
- asp.net静态方法弹出对话框实现思路
- PHP代码维护,重构变困难的4种原因分析
- 你必须知道的Javascript知识点之"单线程事件驱动"的使用
- Android中实现自动生成布局View的初始化代码方法
- javascript 实现 原路返回
- MySQL统计函数GROUP_CONCAT使用陷阱分析
- Bootstrap fileinput文件上传预览插件使用详解
- jQuery弹出窗口简单实现代码
- 微信小程序 图片上传实例详解
- JavaScript入门系列之知识点总结
- JS实现的车标图片提示效果代码
- Win2003的服务器修改默认上传200k和下载4M的限制
- 一分钟掌握linux系统目录结构
- 14张图看懂什么是区块链技术
- Python callable()函数用法实例分析
- Django web框架使用url path name详解