“阶段一”是指我第一次系统地学习Android开发。这主要是对我的学习过程作个记录。

在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用。即使功能很简单,但我还是想把它做成一个相对完整的应用。这样的话,像以前想到什么就做什么,显然是不行的,很容易就乱了。所以我就琢磨了一下,弄个什么,让自己的思路变得更加清晰,仅此而已。

经过一些思考和总结之后,我觉得可以是这么一个流程:

第一步:想好这个应用要实现什么功能,并罗列出来,然后就开始写代码,实现这些功能

说明:(1)对于这个模型的具体实现步骤,不必写出来,但要了然于心。在第二步优化的时候,就可以根据这个模型看看那部分可以优化。

(2)在做这一步时,不要太在意UI,只要实现所需的控件和基本样式就可以了。

这一步完成之后,带有核心功能的应用就出来了。

第二步:优化

这里的优化分两部分,“主要”指的是应用本身所要实现的功能和其UI界面,“其它”指的是所有应用都有的,都应该注意的,是共性问题,例如文字、图片、间距等怎样适配各种手机屏幕,设备旋转对页面产生的影响,记录页面状态,用户和系统的操作对应用的生命周期产生的影响等。相信还有更多的地方需要思考,留意。只是我现在只能想到这些。另外,随着深入地学习和不断地练习,应该会有很多地方,在第一步时已经注意到并完善了。

这一步完成之后,应用就相对完整了。

接下来,就以我的情况来做分析:

一、基本模型

而这里,我的概括说明是:

(1)在EditText上输入城市名,单击“确认”按钮后;

(2)调用自定义类的方法,把EditText的内容转为拼音;

(3)将API地址和城市名拼音拼接,传给AsyncTask的自定义子类,在其doInBackground方法中实现“发送请求、获取网络数据、解析并存储所需数据”的功能,在其onPostExecute方法中实现“显示数据”的功能;

(4)用Handler设置每过5分钟,就执行一次(3)的操作,来达到“自动刷新”的效果;

(5)单击“刷新”按钮,也是重复(3)的操作,来完成“主动刷新”的功能;

这不是详细说明,而是概括的,因为我也尝试过这样写,但真的写不下去,没写多少我就感到要吐了,真的很繁琐,所以这里只是简单地做个例子。

另外,由于这个接口是免费的,所以国内的城市只能换成拼音发送,国外的城市没访问过。还有关于自动定位的,我原打算是自动获取手机当前的经、纬度,然后再传到API获取其地址。而百度地图也有这个免费的API服务,但我在申请密钥时遇到点麻烦,没弄成,而且关于定位这块还是比较不理解。所以这部分先搁置。

有了清晰的思路和规划之后,就可以开始写代码了:

这里我没有贴出完整的代码,只把核心部分贴出来。

后台处理网络请求和解析数据

输入城市名、启动自动刷新和主动刷新功能

结果是这样子的:

阶段一:通过网络请求,获得并解析JSON数据(天气应用)的更多相关文章

  1. andlua,andlua发送http请求,并解析json数据

    andlua发送http请求,并解析json实例 import'cjson'import 'http'--导入cjson库url = 'https://www.baidu,com'--设置urlHtt ...

  2. Retrofit网络请求库应用02——json解析

    PS:上一篇写了Retrofit网络请求库的简单使用,仅仅是获取百度的源码,来证明连接成功,这篇讲解如何解析JSON数据,该框架不再是我们之前自己写的那样用JsonArray等来解析,这些东西,我们都 ...

  3. 使用Charles进行网络请求抓包解析

    使用Charles进行网络请求抓包解析 0. 懒人的福音(⌐■_■)(破解版下载地址,记得安装java库支持) http://pan.baidu.com/s/1c08ksMW 1. 查看电脑的ip地址 ...

  4. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. 使用jQuery解析JSON数据(由ajax发送请求到php文件处理数据返回json数据,然后解析json写入html中呈现)

    在上一篇的Struts2之ajax初析中,我们得到了comments对象的JSON数据,在本篇中,我们将使用jQuery进行数据解析. 我们先以解析上例中的comments对象的JSON数据为例,然后 ...

  6. iOS多线程与网络开发之解析json数据

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. // 同步发送信息 2 NSData *data = [NSURLConnection sendSynchronousRequest:request r ...

  7. autojs,autojs 发送http请求,autojs 解析json数据

    如题,我这个就直接上代码吧 (function () { let request = http.request; // 覆盖http关键函数request,其他http返回最终会调用这个函数 http ...

  8. iapp,iapp http请求,iapp解析json数据

    iapp发送http请求,并解析json数据 //http操作 t() { s a = "http://wap.baidu.com/" //目标url hs(a, null, nu ...

  9. C# 解析json数据出现---锘縖

    解析json数据的时候出现 - 锘縖,不知道是不是乱码,反正我是不认识这俩字.后来发现是json的 '[' 字符转换的 网上搜了一下,说的是字符集不匹配,把字符集改为GB2312. 一.贴下处理jso ...

  10. IOS 解析Json数据(NSJSONSerialization)

    ● 什么是JSON ● JSON是一种轻量级的数据格式,一般用于数据交互 ● 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除 外) ● JSON的格式很像OC中的字典和数组 ...

随机推荐

  1. UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

  2. 在 Ubuntu 14.10 中借用 Windows 的字体

    在前一篇随笔中,我详细讨论了字体的分类及用途,也以 Fedora 20 为例,展示了字体配置的思路和方法.我在配置 Fedora 20 系统字体的时候,采用的是一种釜底抽薪的方法,完全抛开了系统原有的 ...

  3. 前端自学路线之js篇

    上一篇我们讲了前端切图的学习路线,不知大家有没有收获.今天来聊聊前端工程师的核心技能之——JavaScript.js这门语言看似简单,但要做到入门.熟练以至于架构的程度,还是有一段路要走的,今天就来聊 ...

  4. VR ( Virtual Reality )、AR(Augmented Reality)、MR(Mix Reality)和CR(Cinematic Reality)是什么鬼?

    整个社会对虚拟现实的研究和开发源于上个世纪六十年代,计算机图形学.人机接口技术.图像处理与模式识别.多传感技术.语音处理与音响技术.高性能计算机系统.人工智能等领域在之后半个世纪取得了长足的发展为虚拟 ...

  5. Atitit java onvif 开源类库 getProfiles getStreamUri

    Atitit java onvif 开源类库 getProfiles getStreamUri 1. ONVIF Java Library by Milgo1 1.1. https://github. ...

  6. ASP.NET OAuth:解决refresh token无法刷新access token的问题

    最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...

  7. 版本控制工具比较-CVS,SVN,GIT

    首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(62)-EF链接串加密

    系列目录 前言: 这一节提供一个简单的功能,这个功能看似简单,找了一下没找到EF链接数据库串的加密帮助文档,只能自己写了,这样也更加符合自己的加密要求 有时候我们发布程序为了避免程序外的SQL链接串明 ...

  9. 基于.NET平台常用的框架整理(转)

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的 学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到, ...

  10. vim 编辑器简单使用总结

    http://blog.csdn.net/sharp_allen/article/details/27075133转载 说了这么多,其实还少一个和word,记事本一样的编辑器,在各个操作系统都有编辑器 ...