黑莓真实设备上的Http连接错误

时间:2011-03-25 11:44:52

标签: blackberry blackberry-simulator blackberry-eclipse-plugin

我正在尝试为测试目的构建一个简单的应用程序,我正在进行一个简单的Http连接。代码在模拟器上运行完美但是当我在真实设备上测试应用程序时它没有返回任何响应代码。我认为http连接有一些错误。

以下是我用于http连接的代码:

httpConnection = (HttpConnection)Connector.open("http://www.google.com"); 

我使用的设备是Blackberry 8520 v5.0.0.592

另外,请给我一些关于如何使用eclipse插件从真实设备中对任何应用进行debuging的提示。

提前致谢。

4 个答案:

答案 0 :(得分:2)

如果您的程序适用于OS 5.0+,那么请尝试使用Network API

ConnectionFactory f = new ConnectionFactory();
ConnectionDescriptor descr = f.getConnection("http://www.google.com");

HttpConnection connection = (HttpConnection) descr.getConnection();

该段代码尝试使用第一个可用的连接类型。如果你愿意,你可以对它进行微调。

关于调试,只需安装BlackBerry Desktop Software,使用USB线连接8520并从eclipse连接,单击Run - >调试为... - > BlackBerry Device。

答案 1 :(得分:1)

连接工厂在新设备上完美运行,但不适用于一些较旧的设备,如曲线和粗体。这就是为我解决的问题:

BrowserField browserField = new BrowserField();
BrowserFieldRequest Req = new BrowserFieldRequest("http://www.yourserver.com/");

InputStream inputStream = browserField.getConnectionManager().makeRequest(Req).openInputStream();

答案 2 :(得分:1)

尝试使用以下代码重定向链接:

 HttpConnection hc = (HttpConnection) Connector.open(url1);

 hc.setRequestMethod(HttpConnection.GET);
 hc.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
 InputStream is = null;
 String location =hc.getHeaderField("Location");

 HttpConnection hcc = (HttpConnection) Connector.open(location);
 is = hcc.openDataInputStream();

答案 3 :(得分:0)

尝试将传输添加到地址 例如,通过Wi-Fi连接:

httpConnection = (HttpConnection)Connector.open("http://www.google.com;interface=wifi");