1

私はシンプルなHTTP接続を行っているテスト用の簡単なアプリケーションを構築しようとしています。このコードはシミュレータ上では完全に動作していますが、デバイスは応答コードを返さない。私は、http接続に何らかのエラーがあると思います。ここでブラックベリーの実デバイスでHTTP接続エラーが発生しました

は、私がhttp接続のために使用していますコードです:

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

私が使用しているデバイスは、8520 v5.0.0.592

はまた私に行う方法についていくつかのヒントを与えるブラックベリーですeclipseプラグインを使用して実際のデバイスから任意のアプリケーションのデバッグ。

ありがとうございます。

+0

最初に確認する事があります。デバイスは、BlackBerryデータプランは、それのために起動していませんか? APNが正しく設定されていないことを確認して、deviceSide = trueをURLに追加してみてください: "http://www.google.com; deviceSide = true" – Richard

+0

はい、デバイスにBBデータプランがあります。私はdeviceSide = trueを使用しようとしましたが、APN設定を有効にしてユーザー名とパスワードを空白のままにしました。しかし、それは私のために働かなかった。 –

+0

どのようにAPN設定を指定しましたか?どのような演算子がありますか? – hrnt

答えて

2

は、その後、Network 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]をクリックします。

+0

私はこれを試しましたが、シミュレータとリアルデバイスの両方でレスポンスコード302を得ました。.....これについてのアイデアはありますか......... !!! –

+0

HTTP応答コード302は、探しているリソースがLocationヘッダーで指定されている別のURIにあることを意味します。http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html –

+0

(レスポンスコード302の)この問題を解決する方法を教えてください。可能であれば、ソースコードを教えてください。 –

0

のWi-Fi経由で接続するために例えば に対処するために、トランスポートを追加しよう:それはあなたのプログラムがOS 5.0以上で動作することに十分である場合

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

私はデフォルトの接続を使用しています。私はそれも動作するはずだと思います。 Isn it –

1

接続ファクトリは新しいデバイスでは完全に機能しましたが、カーブや太字のような古いデバイスでは機能しませんでした。これは私のためにそれを解決したものです:

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

InputStream inputStream = browserField.getConnectionManager().makeRequest(Req).openInputStream(); 
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(); 
関連する問題