基于Android开发的天气预报app(源码下载)

本文详述了基于Android Studio开发天气预报app的过程,包括环境搭建、城市和天气信息的API获取、定位信息API的使用,以及功能模块如定位、下拉刷新、城市管理、Widget的实现。提供了源码下载链接,适合Android初学者实践。
摘要由CSDN通过智能技术生成
原文: 基于Android开发的天气预报app(源码下载)

基于AndroidStudio环境开发的天气app

-系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows10系统下进行开发。主要实现了:1、定位城市天气显示;2、城市编辑功能(增、删、改、查)以及对应天气显示信息的改变;3、天气信息的Widget窗口显示(城市的编辑功能可以远程的更新Widget窗口信息的显示)4、下拉刷新、天气显示界面左右滑动、城市拖拽等小模块。
源码下载
不想用积分下载的留言就就好http://download.csdn.net/detail/for_my_future/9865252
因为看到有很多人有需要,我又没有空一一回复,就在这里分享百度云盘的链接了:
前段时间一直工作很忙,没有注意到网盘链接居然过期了,看到下面很多人留言需要,现在重新分享一下,如果你觉得物有所值,麻烦帮我点个赞,谢谢:
链接:https://pan.baidu.com/s/1J4zEYfYXq5svAA-rZr7hfw 密码:nzfr

目录

一、 开发需求分析

  • 1、开发环境搭建
  • 2、城市信息获取的api
  • 3、天气信息获取的api
  • 4、定位信息获取的api

  • 1、开发环境搭建
    强烈建议使用AndroidStudio做为开发工具,eclipse加上Android SDK进行关联,在eclipse里面再安装 Android Development Tools(ADT)虽然能够进行Android开发,但是环境配置麻烦且效率更低。AndroidStudio现在已经基本成熟稳定,而且AndroidStudio附带Sdk,jdk安装很方便,使用体验很好。
    安装步骤:
    (1)下载。建议在官网下载,因为国内很多映射文件多少都是有点年代的,还是下载最新的比较好,也免去更新的麻烦。不过国内由于网络限制,上Android官网需要FQ,这里推荐一个加速器:雷鸟加速器。这个加速器做得挺不错的,速度很快,而且支持多平台。AndroidStudio下载地址:https://developer.android.google.cn/studio/index.html里面是最新版本的AndroidStudio。
    (2)安装,下载完成之后没有特别要求的话默认选择一直next就好了,一般的话只需要改下安装路径,避免C盘空间不够。因为AndroidStudio自带了JDK和Android SDK,所以Android完成后就可以直接进行开发了。

  • 2、城市信息获取的api
    城市信息这里我直接使用的是Android前辈搭建的一个服务器获取的,数据链接是http://guolin.tech/api/china,访问返回的是JSON数据类型的省份信息(JSON数据类型的解析后面会再详细说明),需要返回城市时只需要在本链接后加上“/对应省份id”即可获取到相应的城市信息,县市信息也是一样的,原链接加上“/对应省份id/对应城市id”即可。
    这里其实也可以从其它天气服务商提供的api接口获取城市信息。

  • 3、天气信息获取的api
    天气信息的获取我使用的是和风天气提供的免费的api,和风天气每天有提供4000次免费的基础天气查询,用来做开发测试是足够用的了。而且和风天气api接口返回的JSON数据类型也比较简单,作为Android初学者做项目是比较好的。想使用该接口只需要简单注册一个账号就可以了(对返回数据的处理我后面再详细说明)。老手的话可以在网上搜索别的服务商提供的免费接口,现在网上的免费接口少了很多,不过有还是有的。

  • 4、定位信息获取的api
    我这里使用的是百度提供的免费api接口http://lbsyun.baidu.com/apiconsole/key,因为Android原生定位API在国产手机中一般被阉割了,或者国内网络限制的原因,使用Android原生定位API一般是很难获取到定位信息的,跟手机厂商和网络环境都有关系。所以这边为了避免这种情况的不确定因素,我选择了使用百度提供的免费地位接口,在国内,百度和高德定位服务做得都还是不错的。使用百度定位api接口同样需要注册一个百度开发者账号,因为这不是本篇文章的重点。这边具体的操作就不再说明了。

二、 系统设计分析

  • 1、天气信息界面显示设计
  • 2、已选择城市信息界面显示设计
  • 3、添加城市信息界面显示设计
  • 4、Widget设计
  • 5、界面转换设计
  • 6、系统总体和局部流程设计(流程图)

  • 1、天气信息界面显示设计
    首先先上效果图:
    天气信息显示图1
    天气信息显示图2

接下来我介绍一下天气显示信息中用到的一些设计:
首先是功能实现上的:
1)首先背景图片是每天会更新的,是从必应网上获取到的背景图片。
2)下拉刷新功能。
3)天气显示信息左右活动切换已选择要显示的城市。
4)通过点击右上角的编辑按钮进入城市管理功能。
5)导航组件功能。
6)小时天气小时超出屏幕宽度时的当前页面左右滑动。

其次是具体显示上的(分为一个城市的天气信息一个页面,每个页面又有七个模块)我们从上往下分析:
1)最上部分是城市名的显示和编辑按钮。
2)然后是导航原点显示。
3)其次是当前温度,当天天气和当天最低最高温的显示。(1)(2)部分都是用户比较关心的问题,所以我们放在最前面。
4)接下来是将来的小时预告,由于和风天气返回的数据只有当天每三小时的天气预告,所以这边的显示实现得比较差,不过我这里做的是兼容可以扩展的,不管数据多少都可以显示。如果将来需要更改数据源,这里的操作将非常简单 。
5)接着显示的是接下来几天的天气的大体介绍,这里显示的数据同样受限于获取到的数据。
6)再接着是一些生活指数的显示,由于我艺术细胞不太好,所以这里的图片显示有点丑。。你们可以根据自己的喜好去更改图片。
7)最后就是一些生活建议的显示了。

  • 2、已选择城市信息界面显示设计
    先上图吧
    城市编辑显示1
    城市编辑显示2

这里主要是有点击编辑前后的区别
下面我们来一一说明:
点击编辑前
布局主要分成三个部分:
1、最上方的:
*左侧返回按钮,回到天气显示界面
*中间固定的“城市管理”四个字
*右侧的编辑按钮,点击之后就可以对城市进行增、删、和更改位置了
2、中间部分:
*中间部分是已选择城市信息的显示
3、最下方部分:
*最下面是一个添加城市的按钮,点击之后进入城市添加功能

点击编辑后
1、最上方的ÿ

  • 109
    点赞
  • 336
    收藏
    觉得还不错? 一键收藏
  • 303
    评论
基于Android Studio的下单订餐系统app开发需要以下步骤: 1. 确定需求和功能:首先需要明确订餐系统的需求和功能,包括用户和管理员的功能,如用户登录、注册、浏览菜单、下单、支付等,管理员的功能包括菜单管理、订单管理、用户管理等。 2. 设计UI界面:根据需求和功能设计UI界面,包括登录界面、主界面、菜单界面、订单界面等。 3. 连接数据库:使用Mysql数据库存储用户信息、菜单信息、订单信息等。 4. 编写代码:使用Java语言编写代码,实现用户和管理员的功能,包括登录、注册、浏览菜单、下单、支付等。 5. 测试和调试:在夜神模拟器上进行测试和调试,确保系统的稳定性和可靠性。 以下是一个简单的基于Android Studio的下单订餐系统app开发的例子: ```java // 用户登录 public void login(String username, String password) { // 连接数据库 Connection conn = DriverManager.getConnection(url, user, password); // 查询用户信息 String sql = "select * from user where username = ? and password = ?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ResultSet rs = ps.executeQuery(); // 判断用户是否存在 if (rs.next()) { // 登录成功 System.out.println("登录成功"); } else { // 登录失败 System.out.println("用户名或密码错误"); } // 关闭数据库连接 rs.close(); ps.close(); conn.close(); } // 用户下单 public void placeOrder(String username, String dishName) { // 连接数据库 Connection conn = DriverManager.getConnection(url, user, password); // 查询菜品信息 String sql = "select * from dish where name = ?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, dishName); ResultSet rs = ps.executeQuery(); // 判断菜品是否存在 if (rs.next()) { // 获取菜品价格 double price = rs.getDouble("price"); // 插入订单信息 sql = "insert into order(username, dishName, price) values(?, ?, ?)"; ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, dishName); ps.setDouble(3, price); ps.executeUpdate(); // 下单成功 System.out.println("下单成功"); } else { // 菜品不存在 System.out.println("菜品不存在"); } // 关闭数据库连接 rs.close(); ps.close(); conn.close(); } // 管理员添加菜品 public void addDish(String name, double price) { // 连接数据库 Connection conn = DriverManager.getConnection(url, user, password); // 插入菜品信息 String sql = "insert into dish(name, price) values(?, ?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setDouble(2, price); ps.executeUpdate(); // 添加菜品成功 System.out.println("添加菜品成功"); // 关闭数据库连接 ps.close(); conn.close(); } --相关问题--:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 303
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值