У меня есть приложение Java, которое хранит некоторые данные GPS в странном формате:
(широта, долгота, рабочий) с использованием этого класса:
public class Coordinate {
private final double lon;
private final double lat;
private final int workerId;
public Coordinate(double lat, double lon, int workerId) {
this.lat = lat;
this.lon = lon;
this.workerId=workerId;
}
public double getLon() {
return lon;
}
public double getLat() {
return lat;
}
public int getwId(){
return workerId;
}
}
Дело в том, что каждый раз, когда у меня есть (долгота, широта), я должен добавить к этой паре workerId (который является int).
Теперь вот моя проблема:
Данные в этом формате Я отправляю его в приложение для Android, которое не знакомо с этим форматом....
Не знаете ли вы, если есть какая-либо возможность, как я могу вернуть свою долготу и широту из этого формата на стороне Android моего приложения?
У меня есть причины для отправки данных в этой форме:)
Если я построил в своем приложении для Android класс, подобный этому, который использовался для обертывания данных... Я мог бы вернуть исходные данные?
Update:
Мое первое приложение находится в java и является сервером, который прослушивает входящие подключения к определенному порту.
Мое второе приложение находится на android и является своего рода клиентом.
Эти два общаются через сокет.... SO нет записи на диске.... нет ничего. Первый - на локальной машине, второй - на мобильном телефоне.
И да, я отправляю через сокет и экземпляр класса сверху!
Что-то вроде:
Coordinate coord=new Coordinate(lat,long,id);
os.println(coord);
Как вернуть мои данные в приложение для Android?
Я предполагаю, что ваше приложение отправляет экземпляр класса, который вы показали? Если да, почему бы вам не дать вашему Android-приложению класс файл, чтобы вы могли воссоздать объект и прочитать его?
Если вы хотите делиться вещами между двумя Android -Applications на одном устройстве, используется ContentProvider.
Вы не можете просто отправить экземпляр объекта и получить его с другой стороны. Объект должен быть сериализован и неэтериализован (со стороны приемников). Поэтому Java имеет ObjectOutputStream - и ObjectInputStream -классов.
Если вы отправляете данные в другое приложение, вы используете Intent для его запуска? Если это вы, у вас может быть класс хранения, который реализует сериализуемую информацию и передает данные в Bundle с намерением. Если вы не запускаете Intent, вы можете записать данные на диск и прочитать его из другого приложения.