GPS座標を携帯電話からサーバに送信するプログラムを作成しています。この座標を計算に使用します。しかし、私はいつもブラックベリーと壁を打っています。私はAndroid Appを作りましたが、それは素晴らしいですが、実際のブラックベリーデバイスのサーバーに接続できないようです。私はシミュレータでアプリケーションをテストして、それは完全に動作しますが、実際の電話機にインストールすると、電話は必要ありません。ブラックベリー接続ナイトメア
私はので、私は私の最初の使用可能なトランスポートを取得するには、いくつかのデモコードを適応していないが、まだ何もURLの末尾に追加されるように秘密の文字列についてかなり読んだことがある...
アプリケーションが署名されていますと私は通常、eclipse経由でデバッグするか、.jadファイルから直接デバイスにインストールし、アプリケーションに必要な権限を与えます。
現在のコードは、Blackberry SDKのHTTP接続デモから修正されました。
あなたは見て、私にいくつかの方向を与えることができますか?
ConnectionFactory connFact = new ConnectionFactory();
ConnectionDescriptor connDesc = connFact.getConnection(getUrl());
// Open the connection and extract the data.
try {
// StreamConnection s = null;
// s = (StreamConnection) Connector.open(getUrl());
HttpConnection httpConn = (HttpConnection) connDesc.getConnection();
/* Data is Read here with a Input Stream */
任意のアイデア:
public void run() {
System.out.println("Starting Loop");
Criteria cr = new Criteria();
cr.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
cr.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
cr.setCostAllowed(false);
cr.setPreferredPowerConsumption(Criteria.NO_REQUIREMENT);
cr.setPreferredResponseTime(1000);
LocationProvider lp = null;
try {
lp = LocationProvider.getInstance(cr);
} catch (LocationException e) {
System.out.println("*****************Exception" + e);
}
if (lp == null) {
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
Dialog.alert("GPS not supported!");
return;
}
});
} else {
System.out
.println(lp.getState() + "-" + LocationProvider.AVAILABLE);
switch (lp.getState()) {
case LocationProvider.AVAILABLE:
// System.out.println("Provider is AVAILABLE");
while (true) {
Location l = null;
int timeout = 120;
try {
l = lp.getLocation(timeout);
final Location fi = l;
System.out.println("Got a Coordinate "
+ l.getQualifiedCoordinates().getLatitude()
+ ", "
+ l.getQualifiedCoordinates().getLongitude());
System.out.println("http://" + Constants.website_base
+ "/apis/location?device_uid=" + Constants.uid
+ "&lat="
+ l.getQualifiedCoordinates().getLatitude()
+ "&lng="
+ l.getQualifiedCoordinates().getLongitude());
if (!_connectionThread.isStarted()) {
fetchPage("http://"
+ Constants.website_base
+ "/apis/location?device_uid="
+ Constants.uid
+ "&lat="
+ l.getQualifiedCoordinates().getLatitude()
+ "&lng="
+ l.getQualifiedCoordinates()
.getLongitude());
} else {
createNewFetch("http://"
+ Constants.website_base
+ "/apis/location?device_uid="
+ Constants.uid
+ "&lat="
+ l.getQualifiedCoordinates().getLatitude()
+ "&lng="
+ l.getQualifiedCoordinates()
.getLongitude());
}
Thread.sleep(1000 * 60);
} catch (LocationException e) {
System.out.println("Location timeout");
} catch (InterruptedException e) {
System.out.println("InterruptedException"
+ e.getMessage());
} catch (Exception ex) {
System.err.println(ex.getMessage());
ex.printStackTrace();
}
}
}
}
マイ・コネクションがで作られている:私は
バックエンドサービスが稼働し続けている...ここにあまりにも多くの髪を失っていますか?
....左の髪を持っています。 –
私はConnectionFactoryを使用していますか?私はそれを間違って使っていますか? –
接続に問題はありますか?彼らはタイムアウトしていますか?または、GPSがタイムアウトしている可能性があります(BBで約1分かかります)。 –