在前两篇博文中已经做了铺垫,下面咱们就可以用前面介绍过的内容开始做一个小项目了(项目中会用到Afinal框架,不会用Afinal的童鞋可以先看一下上一篇博文),正所谓麻雀虽小,五脏俱全,这在里我会尽量的将前期的项目搭建做的相对实用一些,以便后期可以有效的实现团队协作和项目维护。一开始可能会看起来麻烦些,可能会觉得还不如直接用简单的方式去实现来的方便,磨刀不误砍柴工嘛,要想后期开发效率高一些,前期就不要图省事了。
一个项目肯定不是一蹴而就的,咱们一步一步来,本篇博文先详细介绍项目搭建、通过url地址发送网络请求获取json数据。
先来看一下思路:
1、对Afinal中的get或者post方法进行一下封装,目的主要是不用每次请求时都再去写重复代码,并且如果有人员分工的话,各开发人员就可以公用封装好的方法。
2、提交url地址(接口)获取json字符串。
3、将获取到的字符串显示出来。
在这里我们使用360免费笑话接口:http://xiaohua.hao.360.cn/m/itxt
一、首先创建工程,工程名:LaughDemo(在博文:《Android项目开发全程(一)--创建工程》中有介绍)
1、布局文件很简单,只有一个TextView用来显示获取的json数据(activity_main.xml)。
2、创建一个常量接口(Constant.java)
3、创建一个回调接口,让需要做网络请求的Activity实现此接口(DataCallBack.java)
4、创建一个基类(BaseActivity.java),将一些共同的工作放在里面,这里的基类初始化了一个加载对话框(对话框代码布局代码比较简单,就不贴了)。
5、创建一个网络请求工具类(HttpRequest.java),将网络请求方法进行封装。
6、创建一个提交网络地址类(GetNetData.java),将不同的地址提交方法放在此类下。
7、最后一个类了,主窗体类(MainActivity.java),与用户交互,调用GetNetData.java中的getLaughBy方法获取json字符串,然后在tvShow展示。
OK,果断上图看效果
由图分析:
1、程序启动后会调用getLaughBy360()方法做网络请求。
2、同时会通过mHandler.sendEmptyMessage()发送消息显示加载对话框。
3、请求成功后回调onCallBackSuccessed(),获取json字符串并隐藏加载对话框。
4、最后一步匹配请求码,并显示json字符串。
现在获取到的json字符看起来像是一顿乱码,这正是我们想要的,我们后续要做的工作就是解析这些“乱码”,然后让它们有规则的显示到listview中,等整个项目完成后本人会把代码上传并附上下载链接(现在还没完成暂不能上传),今天先更新到这里,后续博文将会详细介绍解析全程。
注:转载时请附上本文链接。
联系客服