Обмен данными между двумя приложениями Android

1

У меня есть приложение 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?

Теги:
gps

2 ответа

1
Лучший ответ

Я предполагаю, что ваше приложение отправляет экземпляр класса, который вы показали? Если да, почему бы вам не дать вашему Android-приложению класс файл, чтобы вы могли воссоздать объект и прочитать его?

Если вы хотите делиться вещами между двумя Android -Applications на одном устройстве, используется ContentProvider.


Вы не можете просто отправить экземпляр объекта и получить его с другой стороны. Объект должен быть сериализован и неэтериализован (со стороны приемников). Поэтому Java имеет ObjectOutputStream - и ObjectInputStream -классов.

  • 0
    Разве это не два приложения для Android .... взгляните на мой отредактированный вопрос!
  • 0
    Обновил мой ответ.
Показать ещё 2 комментария
1

Если вы отправляете данные в другое приложение, вы используете Intent для его запуска? Если это вы, у вас может быть класс хранения, который реализует сериализуемую информацию и передает данные в Bundle с намерением. Если вы не запускаете Intent, вы можете записать данные на диск и прочитать его из другого приложения.

  • 0
    +1 за посылку, но вещь с SDcard не является обычным способом сделать это.
  • 0
    Я отредактирую свой вопрос!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню