楼主没有明白为何访问网络的操作会要求在线程中执行吗?这是为了防止界面无响应严重影响用户体验.
这个问题正常的解决办法是在具体的页面中新建 Handler , 然后在线程中取得数据后直接 sendMessage.
如果一定要使用现有的方法,那得改造一下,增加一个参数,这个参数是一个接口,通过接口回传数据.
这个问题正常的解决办法是在具体的页面中新建 Handler , 然后在线程中取得数据后直接 sendMessage.
如果一定要使用现有的方法,那得改造一下,增加一个参数,这个参数是一个接口,通过接口回传数据.
解决方案 »
- andEngine,scene切换问题!!求大神
- android.os.NetworkOnMainTheadException错误导致的原因和解决的办法
- 请教screenOrientation="nosensor"和configChanges="keyboardHidden|ori
- 请教个问题
- 关于代码混淆
- 是alertdialog还是popwindow啊?
- android版本号和Linux内核的版本号必须对应吗?
- 关于android事件传递的一个问题。
- 新手的第一个项目创建出错,求指导。
- 希望哪位大牛能提供一下代码,可交易
- 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的时候把这些个信息拿出来做你要做的