有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 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

    connFact.setTransportTypeOptions(TransportInfo.TRANSPORT_BIS_B,
            new BisBOptions("mds-public"));
    

    这只是黑莓手机连接的一个小摘要。但它应该给你正确的方向来解决你的问题