Лучший способ сделать вложенные пользовательские объекты разделяемыми в Android

#android #parcelable

#Android #разделяемый

Вопрос:

Существует много информации, касающейся Parcelable в Android. Оглядевшись, я не смог найти хорошего решения для своей проблемы.

Итак, мне нужно создать класс (назовем его «MyClass»), который расширяет пользовательский класс, написанный кем-то другим («HisClass»). В HisClass есть много переменных экземпляра, некоторые из которых сами являются объектами пользовательских классов. Я хочу передать объект MyClass из одного действия в другое, и я понимаю, что мне нужно сделать его разделяемым. Но как насчет переменных экземпляра, которые являются пользовательскими объектами?

Читая это, я думаю, мне нужно, чтобы каждый отдельный пользовательский объект реализовал разделяемость. Поскольку в MyClass и HisClass есть много пользовательских объектов, которые снова имеют пользовательские объекты для переменных экземпляра, мне это кажется плохим решением.

Есть ли лучший способ? Может быть, я просто совершенно слеп здесь. Надеюсь, кто-нибудь сможет мне помочь.

Ответ №1:

Ну, вы можете использовать Serializer , но это приведет к снижению производительности. AFAIK, реализация Parcelable — лучший способ передачи данных. Кроме того, не пытайтесь усложнять себя, создавая так много сложной структуры данных для передачи Intent .

Либо используйте Parcelable для чего-то дешевого / легкого / меньшего количества, либо для чего-то еще, например, вывода в файлы…и передача его путей.

Комментарии:

1. Я думал об использовании файла в качестве временного хранилища. Но по соображениям безопасности я бы предпочел этого не делать. В этих объектах хранятся конфиденциальные данные, и я не хочу, чтобы эта информация хранилась в файловой системе. Я мог бы, конечно, зашифровать данные перед записью их в файл, но я не уверен, повредит ли это производительности.