Передача сложного объекта в Activity - PullRequest
0 голосов
/ 11 ноября 2011

Я работаю с приложением Bluetooth, и у меня есть нить, слушающая входящие сообщения, и 2 действия: главное меню и консоль Bluetooth.Я устанавливаю соединение в меню Activity, а затем мне нужно передать некоторые объекты в консоль Activity:

  • ссылка на поток для использования его метода write ()
  • Контекст из основного задания
  • и логическое значение, которое мне нужно проверить в конечном итоге

Я читал об использовании Intent.putExtra и передаче сериализуемого или доступного для восприятия объекта класса.Я написал класс с объектами, которые мне нужно передать, но я не знаю, как это сделать, или даже что означает сериализуемый и разбираемый.

Нет ли простого способа передать эти объекты изАктивность к другому?

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Вы можете расширить Application и поместить общие объекты в этот класс. Что-то вроде:

public class MyApplication extends Application {
    private boolean myBoolean;

    public boolean getMyBoolean() { return myBoolean; }
}

Вы можете поместить здесь все, что хотите, чтобы использовать глобальные переменные.

Чтобы установить приложение вашего приложения на MyAPplication, используйте AndroidManifest.xml

<application ... android:name=".MyApplication">
0 голосов
/ 11 ноября 2011

Короче ответ. Нет. Действия изолированы друг от друга, потому что они могут охватывать процессы, поэтому единственным переносимым вариантом является их сериализация. Но вы можете использовать библиотеки, такие как Flexjson, чтобы сериализовать старые Java-бины, используя Intent.putExtra (). Гораздо проще, чем ручная запись сериализации с помощью Parcels. Проверить: http://flexjson.sourceforge.net

В Android есть ошибка, из-за которой необходимо сделать следующее:

/** Fix for Android bug http://code.google.com/p/android/issues/detail?id=5697 */
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...