我开发了一个应用程序,使用j2me为诺基亚手机通过移动应用程序访问网络但是当我尝试在黑莓设备上运行此应用程序时,我遇到了问题,没有网站想要打开,它只是冻结 所以任何人都可以帮助我,因为我找不到任何解决方案 这些是我在应用程序中使用的代码行
这条线我用来读取网页上的内容
hc = (HttpConnection) Connector.open(url); dis = hc.openDataInputStream();
int dataleft = dis.available();
for (int j = 0; j < dataleft; j++) {
buffer.append((char) dis.read());
}
dis.close();
hc.close();
此行打开网站
this.platformRequest("http://stackoverflow.com/questions");
答案 0 :(得分:0)
你可能正在运行那个代码(它有一些问题...不依赖于available()是准确的,你应该只调用read()直到它返回-1)在事件线程上,这是黑莓手机上的大禁忌。该应用程序可能会尝试提示用户发出HTTP请求的权限,但由于偶数线程被阻止,因此无法执行此操作。这里有关于黑莓事件线程的操作和不做的非常好的描述:
http://www.thinkingblackberry.com/archives/182
在HttpConnection的API文档中也提到了它:
此接口执行阻止输入和输出操作。如果此接口的实现从主事件线程中打开连接,则应用程序将锁定。通过从与主事件线程分开的线程中打开连接来阻止应用程序锁定。
API文档位于:
http://www.blackberry.com/developers/docs/4.5.0api/javax/microedition/io/HttpConnection.html