Привет, я хочу реализовать коммуникационные функции gps-устройств в устройствах Android, но я не знаю, как эти устройства взаимодействуют с сервером, который использует данные этих устройств и сохраняет эти данные на сервере. Я должен задать вопрос о эти устройства
1-Может ли сервер подключать эти устройства и получать данные и сохранять данные на сервере? Или эти устройства подключаются к серверу и отправляют данные на сервер.
этот вопрос важен для меня, потому что я хочу написать приложение для устройств Android, которые имитируют функции gps-устройств на устройствах Android!
2: Я изучаю, как подключиться с сервера к устройствам Android и получить информацию о mqtt! могу ли я подключиться с сервера к устройствам Android с помощью mqtt?
для имитации этих функций устройств на устройствах Android необходимо знать, какой из серверов или устройств подключиться к другим и отправлять данные?Функциональность связи устройств GPS с сервером
ответ
Во-первых, вам нужно получить местоположение на устройстве, а затем отправить его на свой сервер, чтобы вы могли показать эту информацию. Будучи прагматичным с кодом, вам нужно будет получить место на устройстве что-то вроде:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates("gps", 60000, 0, locationListener);
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Here you have both location.getLatitude() and location.getLongitude()
}
public void onProviderDisabled(String provider){}
public void onProviderEnabled(String provider) {}
public void onStatusChanged(String provider, int status, Bundle extras) {}
};
для получения дополнительной информации о местоположении на Android, обратитесь к официальной документации по User Location.
Когда вы закончите с частью местоположения, вы можете начать отправку его на свой сервер. Подумайте, для этого использовать JSON.
Рассмотрим у вас есть ломаная линия с «latitudelongitude», вам нужно будет сначала создать объект JSON:
public JSONObject buildJSONObject(String line) {
String[] toJson = line.split(" ");
JSONObject object = new JSONObject();
try {
object.put("latitude", toJson[0]);
object.put("longitude", toJson[1]);
} catch (JSONException e) {
e.printStackTrace();
}
return object;
}
И тогда вы бы отправить его на сервер с чем-то вроде этого:
public boolean sendTraceLineToServer(JSONObject line) {
// The mock server IP is 10.0.2.2, just for testing purposes
// This server receives a JSON with format {"location":{"latitude":xx.xx, "longitude":yy.yy}}
HttpPost httpPost = new HttpPost("http://10.0.2.2:3000/locations");
DefaultHttpClient client = new DefaultHttpClient();
JSONObject holder = new JSONObject();
boolean sent = false;
try {
holder.put("location", line);
StringEntity se = new StringEntity(holder.toString());
httpPost.setEntity(se);
httpPost.setHeader("Content-Type","application/json");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
HttpResponse response = null;
try {
response = client.execute(httpPost);
sent = true;
} catch (ClientProtocolException e) {
e.printStackTrace();
Log.e("ClientProtocol",""+e);
} catch (IOException e) {
e.printStackTrace();
Log.e("IO",""+e);
}
HttpEntity entity = response.getEntity();
if (entity != null) {
try {
entity.consumeContent();
} catch (IOException e) {
Log.e("IO E",""+e);
e.printStackTrace();
}
}
return sent;
}
Here У вас есть больше примеров того, как отправлять JSON на сервер.
На сервере, на моем случае я написал в Rails, я создаю метод получать JSON просто:
# POST /locations
# POST /locations.xml
def create
@location = Location.new(params[:location])
respond_to do |format|
if @location.save
format.json { render :json => @location, :status => :created, :location => @location }
else
format.json { render :json => @location.errors, :status => :unprocessable_entity }
end
end
end
И что это, место на устройстве, отправляя его с помощью HTTP с JSON, и получение на примере сервера Rails.
Спасибо за вашу помощь в этих кодах устройство отправляет информацию на сервер, я не знаю, какой механизм используется на сайтах, таких как http://gpstrackit.com/. Устройство отправляет информацию на сервер или сервер для получения информации по конкретному транспортному средству? – user1344766
@ user1344766, они предоставляют продукт, поэтому, если вы можете купить его, не имеет значения технология, стоящая за ним, но решает ли он вашу проблему или нет. Поскольку вы размещаете здесь вопрос, связанный с Android, я думаю, что вы хотите сделать сам, поэтому мой ответ предоставит вам голые кости для вас. Я думаю, вы можете это сделать, если требования так же просты, как отправить информацию о местоположении. Если мой ответ соответствует вашим потребностям, отметьте его так. – Eduardo
Могу ли я масштабировать это решение для других платформ, таких как мобильные устройства iphone или windows? – user1344766
- 1. Ошибка связи с GNAT-GPS
- 2. Местоположение Android GPS против других устройств GPS
- 3. Проблема связи с сервером/клиентом
- 4. Функциональность видеовызовов для устройств iOS
- 5. Node.js для связи между сервером и сервером
- 6. захват GPS-устройств в Android
- 7. Apache MINA Java TCP-клиент для связи с сервером связи
- 8. Синхронизация двух устройств с использованием связи UART
- 9. Способ связи между серверным сервером?
- 10. Каков наилучший подход для связи с сервером?
- 11. связи между сервером и клиентом с node.js
- 12. Ошибка связи с сервером эхо-трафика TCP
- 13. ошибка MySQL в связи с сервером
- 14. сплетенные проблемы связи с клиентами/сервером
- 15. Использовать SSL в связи с сервером gRPC
- 16. orientdb-client для связи с сервером orientdb
- 17. Java приложение для связи с MySQL сервером
- 18. Проблема связи с компьютером/сервером .NET TCP
- 19. Ошибка связи с SSLS-сервером Java
- 20. Программирование сети связи с клиентским сервером python
- 21. Android: служба для связи с сервером API
- 22. Использование XML для связи с сервером
- 23. веб-сервер для связи с сервером приложений
- 24. Проблема связи с клиентами и сервером Android
- 25. Формат связи с клиентским сервером Android
- 26. Клиентский модуль для связи с сервером
- 27. Быстрое решение для связи сервера с сервером
- 28. .Net MVC-сервер для связи с сервером
- 29. Android для связи с сервером Arduino
- 30. java сервер для связи с сервером (json)
Если устройства генерируют данные, лучше отправить их на сервер, а не объединять пул каждого устройства через некоторое время для данных. Сервер, взаимодействующий с клиентом, хорош, когда серверу есть что сказать устройству или запрашивает устройство для нечастых данных. Если ваши данные GPS действительно редки или вы хотите собирать их только время от времени (например, если эти устройства находятся прямо сейчас), используйте mqtt. – Hassan
И, насколько мне известно о MQTT, это базовая коммуникационная модель sms, в которой ваше приложение будет перехватывать SMS-сообщения и обрабатывать их в определенном формате с вашего сервера. В ответ вы можете отправить данные обратно на сервер через интернет-запрос или SMS. – Hassan
Спасибо за вашу помощь. Я хочу создать веб-сайт, на котором есть члены с устройствами Android, и собрать их местоположение и показать свою информацию о местоположении на веб-сайте, например, я хочу получить местонахождение транспортного средства Транспортной компании и показать свою информацию для администраторов! есть сайты для этой цели, которые используют gps-устройства для получения информации от транспортных средств, но я не знаю, какие из серверов или gps-устройств подключаются к другим и отправлять информацию !. Я хочу получить своевременное расположение транспортных средств и показать администраторам для этой цели сервер подключается к устройствам или устройствам, подключается к серверам и отправляет данные? – user1344766