"酷欧天气总结"


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 文件,如果有内容呢就直接启动天气信息活动。
      读取信息
      读取信息
  • 后台更新天气信息,因需要隔一段时候服务去查询天气信息,所以呢就需广播接收器的配合。
    • 服务代码
      定时任务
      定时任务
    • 广播代码
      。。
      。。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容