Android版本——天气预报制作过程
一、 Android版本
(一) 创建项目工程
1. 安装Android Studio并初始化工程
2. 将项目上传到github
(1) 注册github账号,在github上创建一个仓库。
(2) 进入天气预报项目,初始化git项目
(3) 将项目提交到github
(二) 制作项目UI界面
1. 制作工具栏
顶部工具栏包含“选择城市”、“分隔符”、“天气名称”、“定位”、“刷新”等控件。
(1)将资源文件导入项目drawable目录下中:
(2)在“weather_info”布局文件中增加一个RelativeLayout布局,之后在这个布局中依次增加城市图标、城市信息、定位图标、分享图标等。 效果如下:
2. 今日天气信息制作
把所需的资源文件放置到对应的资源目录中,采用嵌套布局的方式,放置一个线性布局,采用垂直方式分布,分别放置今日天气、7日天气信息以及广告信息。并指定背景图片。 效果如下:
(三) 项目联网
1. 检查网络状态
创建一个工具类NetUtiil,在其中实现getNetworkState方法,在连接网络之前,直接调用检测网络连接状态方法。最后,增加项目访问网络状态的权限。效果如下:
2. 获取网络数据
为更新按钮添加单击事件,从SharedPreferences读取城市的id,在l文件中增加访问INTERNET 的权限。效果如下:
3. 解析网络数据
编写解析函数,解析出城市名称已经更新时间信息并在获取网络数据后调用。
4. 更新今日天气数据
初始化界面控件以及控件内容,在onCreate方法中调用。效果如下:
(四) 搜索城市功能
1. 制作选择城市界面
添加“选择城市”的布局文件,选择城市的Activity。为选择城市的ImageView添加点击事件,在l中注册Activity。效果如下:
完善选择城市界面布局,为选择城市界面的返回按钮设置点击事件。效果如下:
返回主界面时,传递城市代码数据。修改更新按钮的单击事件处理程序,并编写onActivityResult函数用于接收返回的数据。
效果如下:
2. 从数据库中读取城市列表
将数据库文件city.db导入assets目录中,建立City的Bean,建立MyApplication类,创建getInstance方法,创建cityDB操作类,创建打开数据库的方法。初始化城市信息列表,在程序运行时读取数据库信息。效果如下:
3. 通过ListView展示城市信息
在布局文件l中新增一个ListView组件,在java文件中定义ListView变量,并与
该组件绑定,并加载ListView内容。将ListView内容加载为我们从数据库文件读到的城市列表。效果如图:
4. 选中城市并将结果返回
根据得到的citycode,更新主界面天气信息。在SelectCity类中onClick方法中新增点击返回
按钮时,将citycode传递给MainActivity类。在MainActivity的onCreate方法中新增如果citycode改变过,更新天气预报的代码段。效果如图:
5. 搜索城市
l布局中增加SearchView控件,效果如下:
使用SearchView的setOnQueryListener
(SearchView.OnQueryTextListener listener)方法监听搜索框的文字变化,一有输入,则重新对搜索框内文字进行搜索,更新 adapter的数据集。搜索完毕后,使用 ArrayAdapter 的 notifyDataSetChanged()方法,通知 ListView 更新数据。效果如下:
(五) 定位功能
1. 申请百度SDK账号
进入百度地图开放平台,选择开发文档中的Android 定位 SDK,申请密钥,创建应用,完善信息,复制AK,下载SDK并放在程序中相应位置。
2. 配置adle文件
3. 添加定位权限
制作android软件流程使用定位 SDK,需在 Application 标签中声明 service 组件,每个 App 拥有自己单独的定位 service
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论