Javascript Sencha Touch Apk和NetworkOnMainThread异常
我开发了一个SenchaTouch应用程序,在登录过程中使用网络连接调用不同的web服务。 我用Sencha CMD构建了本机apk,它可以在Android 2.3.7中正常工作,但不能在较新版本中工作。 我了解到这是一个NetworkOnMainThreadException问题。 我为Android找到的解决方案有: 1) 通过实现AsyncTask进行webservice调用 2) 在Android中使用StrictMode类并设置策略 但是如何在我的Sencha Javascript应用程序中应用这些解决方案呢? 我真的希望你们中有人找到了解决办法 谢谢你的建议 编辑 经过一些测试,我发现我的应用程序在安卓2.3.7中运行良好,但在安卓4中运行不好,因为我的一个Web服务。 这是一个liferay json web服务。这是我调用的第四个web服务,如果我不调用它,我的应用程序工作正常。Javascript Sencha Touch Apk和NetworkOnMainThread异常,javascript,android,html,sencha-touch,apk,Javascript,Android,Html,Sencha Touch,Apk,我开发了一个SenchaTouch应用程序,在登录过程中使用网络连接调用不同的web服务。 我用Sencha CMD构建了本机apk,它可以在Android 2.3.7中正常工作,但不能在较新版本中工作。 我了解到这是一个NetworkOnMainThreadException问题。 我为Android找到的解决方案有: 1) 通过实现AsyncTask进行webservice调用 2) 在Android中使用StrictMode类并设置策略 但是如何在我的Sencha Javascript应用
你们中有人知道Android(版本>2.3.7)Web视图是否不支持Liferay Web服务吗?我想你们是在
UI线程上执行网络操作。这将导致阻塞用户界面。自Android 3.0以来,在UI线程
上执行网络操作不适用,它会引发NetworkOnMainThreadException
在API文档中,它说:
网络操作可能涉及不可预测的延迟。为了防止这种情况
为了避免造成糟糕的用户体验,请始终执行网络操作
在UI的单独线程上。AsyncTask类提供以下功能之一:
从UI线程启动新任务的最简单方法
因此,您应该使用AsyncTask
来处理此问题
看看这个。这可以作为编写AsyncTask
如果您想知道为什么应用此过程以及为什么引发此异常。也请退房
希望这对你有帮助 谢谢gokhanakkurt!我知道问题是什么以及如何用java解决它,但不知道用Sencha/javascript。现在我正在编写一个新的android java应用程序,并试图将app.jar文件放入其中(我使用dextojar工具从apk创建了jar文件),好的,想在Sencha Touch中解决这个问题吗?你能具体地告诉我你的问题吗?你的目的是什么?问题是我的sencha应用程序有一个登录视图,在你输入用户名和密码后,我的应用程序调用6个不同的Web服务,如果一切正常,你就转到下一个视图。我知道这是一个线程问题。我使用了延迟任务,但它不能解决问题。我的应用程序在登录视图中出现问题我之前说过,我的应用程序在Android 2.3.7中运行良好。非常感谢。