android app开发的时候,都有很多个activity,基本每个activity都需要请求服务器,获取想要得到的数据。而请求网络的耗时都很大,所以不可以在主线程中做这些操作,需要另开启线程,和Handler配合使用。
我的步骤是:
1.开启线程
2.请求某路径获得json返回值
3.解析json并获得返回对象
4.通知handler操作完成,让handler做下一步处理
但是现在有一个问题,每个activity里,每次请求网络都需要做这相同的步骤,不同的只有请求网络的路径,调用不同的方法解析json,和返回不同的Entity。我想有没有什么样的方法,可以把这个线程抽取出来,让所有activity共用,我们只需要传入相应的路径和想要获得的Entity或者什么样的值,就能得到我们想要的东西。哪位大神有办法,帮我解释一下,谢谢线程android
我的步骤是:
1.开启线程
2.请求某路径获得json返回值
3.解析json并获得返回对象
4.通知handler操作完成,让handler做下一步处理
但是现在有一个问题,每个activity里,每次请求网络都需要做这相同的步骤,不同的只有请求网络的路径,调用不同的方法解析json,和返回不同的Entity。我想有没有什么样的方法,可以把这个线程抽取出来,让所有activity共用,我们只需要传入相应的路径和想要获得的Entity或者什么样的值,就能得到我们想要的东西。哪位大神有办法,帮我解释一下,谢谢线程android
解决方案 »
- android 手机运行c程序
- 请问Android的加速度传感器和重力传感器有什么区别呢?
- 我把联系人全部查询出来了 想要放到一个listview里面去怎么放呢?
- android 如何阻止activity的back行为
- 华为C8650 Root,手机上已显示Root,但Adb Shelll依然是$,为什么?
- 一个android的app,可以没有activity吗?
- eclipse怎么打开别人的项目
- 一个简单android问题
- 这个怎么解决啊?新手求教
- Android 微信支付只有第一次能唤醒成功 下载官方Demo测试同样情况
- android 4.2 插入usb 键盘显示软键盘
- 类似于京东淘宝APP的一键分享微博是怎么实现的啊?
我需要知道的,就是该如何抽取这样的公共类。因为传入一个路径参数我可以做到,但是返回的实体,我该怎么去写?因为我需要在线程里面解析json,比如我这次请求需要得到A实体类,另一个请求就需要返回B实体类,该怎么做?
举个例子:我可能登录的时候,需要请求网络,返回给我一个用户信息的实体。
比如我获取新闻列表的时候,需要得到另一个实体,或List等等
举个例子:我可能登录的时候,需要请求网络,返回给我一个用户信息的实体。
比如我获取新闻列表的时候,需要得到另一个实体,或List等等
那人就封装网络请块这块的功能代码,返回的结果由各个子activity去解析..
举个例子:我可能登录的时候,需要请求网络,返回给我一个用户信息的实体。
比如我获取新闻列表的时候,需要得到另一个实体,或List等等
那人就封装网络请块这块的功能代码,返回的结果由各个子activity去解析..
恩是,我现在只能封装请求网络这块,可以得到一个返回的json,但是有的json会很复杂,或数据量较大,解析会很耗时,所以我才想把解析这一块,也封装进去
举个例子:我可能登录的时候,需要请求网络,返回给我一个用户信息的实体。
比如我获取新闻列表的时候,需要得到另一个实体,或List等等
那人就封装网络请块这块的功能代码,返回的结果由各个子activity去解析..
可是目前看来,我做不到
你在主线程中创建一个Handler对象,把你所谓的“线程类”抽出来做成一个MyThread,然后MyThread的构造函数,传入(“相应的路径”,"想要获得的Entity",“刚创建的Hanlder对象”),然后json回来之后,你接收到之后再通过Handler来处理UI线程~
解析放在另一个类里
把你的各种返回定义一个基类 比如Result神马的
然后不同的返回结果各种继承 AResult BResult...
然后定义协议 返回体 加上返回类型的关键字 比如 resul-type=A
这样你解析得到A 就按AResult这个类的定义去解析(不同的结果调用不同的方法解析) 并用解析到的值实例化一个AResult 返回给请求的activity
不影响啊 你解析单独开线程解析 不要和下载一起 也是可以的
LZ V5