2015-08-24 7 views
1

Мне нужно отправлять и получать объекты между смартфоном и удаленным рабочим столом (работающим на Java) через Bluetooth. Смартфон и настольный компьютер совместно используют серию классов, которые составляют модель данных приложения.Как сделать объект доступным через общий класс

Мне нужно реализовать интерфейс Parcelable в приложении для смартфона, чтобы при приеме объекта из приложения для рабочего стола я мог отправить его обратно в основное действие с помощью обработчика. К сожалению, это не сработает, потому что это сделает классы непригодными для использования в настольном приложении.

Итак, мой вопрос: могу ли я отправить объекты без интерфейса Parcelable, реализованные в настольном приложении, а затем сделать их Parcelable через общий класс при их получении.

Нечто подобное:

Object orgObject = new Object(); 

//Make an object Parcelable 
ObjectParcelable objPble = GenericClass.makeParcelable(orgObject); 

//Remove the Parcelable implementation 
orgObject = GenericClass.undoParcelable(objPble); 
+0

Как насчет использования сериализации. Вы можете отправлять и получать как потоки. – RajSharma

ответ

1

Моя предпочтительным решением для этой задачи сериализации объект JSON (например, с использованием библиотеки Gson) и отправить его в виде строки. Затем с другой стороны вы можете десериализовать JSON на объект, используя вашу предпочитаемую библиотеку.

0

Вам необходимо преобразовать объект, который вы хотите отправить, например, в некоторый промежуточный формат, например, json или xml. Затем вы можете отправить это сериализованное сообщение со стороны android и десериализовать его на стороне java и наоборот. Вы можете использовать для этого библиотеку, которая работает одинаково на андроиде и java, например https://github.com/google/gson. Таким образом, вы можете использовать одни и те же файлы классов java для своей модели в обоих приложениях.