Ошибка соединения Http на реальном устройстве Blackberry - PullRequest
1 голос
/ 25 марта 2011

Я пытаюсь создать простое приложение для целей тестирования, в котором я делаю простое соединение Http. Код отлично работает на симуляторе, но когда я тестирую приложение на реальном устройстве, оно не возвращает код ответа,Я думаю, что в http-соединении есть какая-то ошибка.

Вот код, который я использую для http-соединения:

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

Используемое устройство - Blackberry 8520 v5.0.0.592

Также дайте мне несколько советов о том, как выполнить отладку любого приложения с реального устройства с помощью плагина eclipse.

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 25 марта 2011

Если вам достаточно, чтобы ваша программа работала с ОС 5.0+, попробуйте использовать Сетевой API :

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

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

Этот фрагмент кода пытается использовать первый доступный тип подключения. Вы можете настроить его, если хотите.

Что касается отладки, просто установите BlackBerry Desktop Software, подключите 8520 с помощью USB-кабеля и из eclipse нажмите «Выполнить» -> «Отладка как ...» -> BlackBerry Device.

1 голос
/ 25 апреля 2012

Попробуйте перенаправить ссылку, используя следующий код:

 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();
1 голос
/ 23 августа 2011

Фабрика соединений отлично работала на новых устройствах, но не работала с некоторыми старыми, такими как кривая и жирная.Вот что решило это для меня:

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

InputStream inputStream = browserField.getConnectionManager().makeRequest(Req).openInputStream();
0 голосов
/ 25 марта 2011

Попробуйте добавить транспорт к адресу. Например, для подключения через Wi-Fi:

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