楼主没有明白为何访问网络的操作会要求在线程中执行吗?这是为了防止界面无响应严重影响用户体验.
这个问题正常的解决办法是在具体的页面中新建 Handler , 然后在线程中取得数据后直接 sendMessage.
如果一定要使用现有的方法,那得改造一下,增加一个参数,这个参数是一个接口,通过接口回传数据.
这个问题正常的解决办法是在具体的页面中新建 Handler , 然后在线程中取得数据后直接 sendMessage.
如果一定要使用现有的方法,那得改造一下,增加一个参数,这个参数是一个接口,通过接口回传数据.
解决方案 »
- 这个问题,搞定的了吗?
- 按下返回键 不退出应用程序 从桌面点击再回来 类似腾讯微博
- android可以获取网络时间么?
- PreferenceActivity存入的值,在一个另activity中如何取出(一个看似简单的问题)
- 请问Android 上层应用里的Java程序的消息怎么打印到串口里?
- Android绘制图像时布局文件选择问题。鱼和熊掌兼得?!
- 头疼问题!求助!Android系统如何能绑定80端口创建socket?
- string.xml特殊符号转译
- android开发,自定义ViewGroup的传参问题
- android MediaPlayer+ SurfaceView 播放视频 全屏播放视频没有成功
- Android java开发能用javax.ws.rs.client吗?
- 基于Android的室内定位导航系统 源代码
访问网络放到子线程中就是为了避免ui受影响,如果按lz的思路,非要得到一个什么返回值,还不如直接在主线程访问网络。解除主线程网络访问限制StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // or .detectAll() for all detectable problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
简单的话Message.what 和 Message.object都可以,还可以按楼上说的放bundle(Message.setData(Bundle bundle)),handleMessage的时候把这些个信息拿出来做你要做的