java无法在Blackberry设备中连接到internet?
我正在开发一个应用程序,其中我使用浏览器字段加载html文件。我的代码如下
梅因。爪哇
//pushing screen to browser field page..
public Main()
{
// Push a screen onto the UI stack for rendering.
pushScreen(new WebViewController());
}
WebViewController。爪哇
BrowserFieldConfig bfConfig = new BrowserFieldConfig();
bfConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,
BrowserFieldConfig.NAVIGATION_MODE_POINTER);
bfConfig.setProperty(BrowserFieldConfig.JAVASCRIPT_ENABLED,
Boolean.TRUE);
bfConfig.setProperty(BrowserFieldConfig.ALLOW_CS_XHR, Boolean.TRUE);
bfConfig.setProperty(BrowserFieldConfig.INITIAL_SCALE, new Float(0.0));
bwf = new BrowserField(bfConfig);
add(bwf);
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
// TODO Auto-generated method stub
bwf.requestContent("local:///html/index.html");
}
}, 500, false);
所有我的服务器代码&;用户界面设计采用javascript&;分别从索引调用的html页面。html页面强>
根据以下代码,它在模拟器&;中工作(执行);在运行时从服务器获取数据。但当我在BlackBerry设备上运行时,只有UI设计是从索引加载的。html页面,但未从服务器获取数据。我不知道是什么错误。 我也在Blackberry设备中启用了javascript,但它仍然不起作用
由于我对这款黑莓手机还不熟悉,所以在黑莓手机上运行时,我找不到我的应用程序有什么问题
根据以下代码,我是否必须添加任何外部代码才能从服务器获取数据(比如在签名后仅在Blackberry设备中访问互联网)
在模拟器中,它运行良好&;正在从服务器获取数据。在Blackberry设备中执行时,只加载主页UI(index.html中的UI),而不从服务器获取数据强>
谁能帮我做这个
# 1 楼答案
这个问题是“为什么我在黑莓上的连接有问题”问题的变体。我会尽力给你解决问题的方法
网络连接非常复杂,不像j2me、android或iphone连接,在这些连接中,您主要要求系统打开TCP/HTTP/UDP连接。RIM推出了Network Transports。我不确定原因是什么——或者他们想给开发者选择特定传输的权力,或者因为BES管理员/运营商可能会限制某些连接,或者其他原因。但副作用是,BB开发者必须指定设备上当前连接要使用的传输。引人注目的是,默认连接是直接TCP(通过APN运营商设置)。而且直接TCP在模拟器上工作得很好。但BB设备上使用最多的连接是BIS-B和WiFi。此外,BIS-B以前也不适用于普通的开发人员,他们最近刚刚为所有人打开了它
在5.0操作系统之前,开发人员有大量代码来确定设备上有哪些传输可用,并且有一个接一个的传输试图按顺序打开。 RIM在5.0操作系统中引入了^{} ,它提供了标准机制来打开、确定可用的传输并打开连接(example)
您必须始终使用
ConnectionFactory
来打开连接。直接通过Connector
或通过BrowserField
到达远程主机并不重要。你必须使用ConnectionFactory
戏剧性的是,即使你使用它,你也无法到达BIS-B运输。正如我之前提到的,它只对联盟成员开放。RIM目前没有限制任何开发者使用BIS-B。但我看不出他们也给出了任何例子。要允许ConnectionFactory打开BIS-B,您需要next line:
这只是黑莓手机连接的一个小摘要。但它应该给你正确的方向来解决你的问题