美文网首页
"酷欧天气总结"

"酷欧天气总结"

作者: qianxL | 来源:发表于2016-08-16 17:46 被阅读0次

layout: post
title: "酷欧天气总结"
date: 2016-08-15 13:00:44 +0800
comments: true
categories:


应用流程总结


  • 在做一个应用前呢,首先要构思做什么功能,然后在根据功能分解出需要的技术与工具。
    比如此天气应用需要实现的功能至少有:

  • 可在界面列出 省,市,县 信息。

  • 可查看任何城市的天气信息。

  • 可自由切换查看其他城市的信息。

  • 可在后台更新城市天气信息。

  • 首先重建java 文件下的目录结构,这样方便存放和辨别。首先默认删除IDE 建立的MainActivity和activity_main.xml 文件。
21C7.tmp.jpg
+ activity为存放 活动类的。 
+ adapter为存放存放适配器类的
+ db为存放 数据库帮助类的。
+ fragment 为存放碎片类的。 
+ model 为存放实体类的(即资源索引类)。
+ receiver 为存放广播接收器的。
+  service为存放服务类的。
+ util为存放工具类的(即为数据处理和保存)

<br />

  • 根据功能一和功能二可以知道数据的上下关系紧密,且数据量大,能快速挑选合适的数据的存储方式只能用数据库。

  • 此应用用到的Http接口为.Http请求方法为GET

  • 根据Http服务器返回的数据,来制定数据库需要几张表。

    1. 创建一张存储省名的表。


      省名表省名表
    2. 创建一张存储省下的市名和县名的表。


      市,县表市,县表
    3. model文件夹中新建两个实体类,字段变量分别和表中的列名一一对应。以方便后面的开发。
    4. 新建一个数据库的操作类,把构造函数私有并在其中构建数据库和数据库的写对象。并公开一个获取此类的对象的方法就行。

    保存: 省对象get出属性然后保存ContentVaules.put方法中,最后用insert方法插入到数据库中。

    读取:在方法名的参数部分定义一个selection值,查询后获取cursor后,写成实体类,放入List 容器中, 最后把List 返回出去。

  • 因数据是从Http服务端得到的,自然就包含发送请求 ,服务器返回数据,数据处理 ,数据保存。

    1. 在Util文件夹下新建一个HttpUtil类
      用于来发送Http请求(这主要用HttpURLConnection 类)。这里应用了回调机制
      a调用了b的方法,b开始执行,时机到了再调用a的方法。通常这个a方法用接口来实现,这样a 就可以自由定制时机到之后具体的处理。
    2. 在HttpUtil类中新建一个HttpCallbackListener接口 。这里就可以定制具体时机传给a的内容方法。
    3. 在util包中新建一个Utility类其中的方法为服务器返回数据的解析即保存到数据库。首先呢把响应的数据解析成一组数据,再用foreach 提出来一个个保存到数据库。以及文件存储和读取,sharedPreferences的存储及读取。
  • 因功能中 要列出省,市,县的信息,所以得设置一个级别变量,以便后面做切换判断。
    1. 创建活动的布局文件,此应用中用的多的是linearLayout作为父布局,其子控件以垂直方式放置。
    2. 活动类中首先把需要操作的对象创建好引用,通常分为 UI控件对象引用、源对象的引用、标志常量(常量名大写)。以及对控件的点击事件注册。
    3. 查询数据方法,首先一定是本地查询(数据库),如检测到返回List容器的索引值小于O就是本地没有缓存,那么就应该访问服务器获取数据,并成功获得数据后的回调方法中处理数据,存入数据。再调查询方法(逻辑同上)。
    4. 因三个级别的数据查询都是调用同一个请求网络方法,所以呢 不但要传入url 地址 还有类别。因网络请求为 子线程,所以呢当数据处理保存完,要回到主线程更新UI内容。 回主线程回主线程
    5. 查询地方天气信息,因为有两种情况 本地有缓存(已启动后查询完保存到本地的数据)和本地没有缓存(从城市列表界面点击启动的)。
    6. 此处查询到的数据用sharedPreferences的方式保存,其的结构性更强map方式保存的。
    7. 当启动主活动时就要先读取保存天气信息的那个sharedPreferences 文件,如果有内容呢就直接启动天气信息活动。 读取信息读取信息
  • 后台更新天气信息,因需要隔一段时候服务去查询天气信息,所以呢就需广播接收器的配合。
    • 服务代码 定时任务定时任务
    • 广播代码 。。。。

相关文章

网友评论

      本文标题:"酷欧天气总结"

      本文链接:https://www.haomeiwen.com/subject/fzbpsttx.html