как хранить структуру данных, соответствующую .proto - PullRequest
1 голос
/ 28 октября 2011

У меня есть довольно простое приложение для Android, которое извлекает данные с сервера с помощью protobuf, а затем позволяет пользователю просматривать дерево данных (упрощенно)

Теперь мне нужны только эти данные в моей структуре, поэтому я использовал ответ protobuf (через автоматически сгенерированный класс) в качестве внутреннего набора данных.

проблема в том, что я хочу иметь возможность обновлять некоторые данные в нем, а также получать больше данных с сервера и подключаться к дереву ... это невозможно из-за неизменности данных.

Итак, мой вопрос: как мне с минимально возможной вычислительной мощностью хранить мои сообщения protobuf как изменяемые структуры данных?

мне нужно сделать свою собственную соответствующую структуру данных (похоже, двойную работу) или есть какой-то другой способ?

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Подход, который я использовал, заключается в реализации моих собственных типов, которые отражают типы protobuf, но которые предоставляют дополнительные функциональные возможности, такие как модификация на месте, а также реализуют набор функций перевода для преобразования между каждой парой типов. Затем я использую классы, сгенерированные Protobuf, только когда мне действительно нужно отправить или получить что-то по проводам.

0 голосов
/ 28 октября 2011

Ваши сообщения protobuf являются изменяемыми структурами данных.Вы можете изменить их через интерфейс Builder и сохранить их, используя локальное хранилище файлов Android или BLOB-объект SQLite.

См. Следующие примеры:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...