Серіалізация – Android

&nbsp

Серіалізация – це процес перетворення даних з швидких, ефективних, внутрішньосистемних уявлень в таку форму, яка забезпечує довготривале зберігання даних або передачу їх по мережі Перетворення даних в серіалізовані форму часто називається маршалинга Зворотне перетворення даних в живе уявлення, що існує в оперативній памяті, називається десеріалізацію або демаршалінгом

Точний принцип сериализации даних залежить від тієї причини, по якій проводиться сериализация Наприклад, дані, Серіалізуемое для передачі по мережі, буває неможливо зчитувати, поки вони в дорозі З іншого боку, інформація, Серіалізуемое для зберігання в базі даних, буде набагато корисніше, якщо її уявлення допускає SQL-запити, які легко складати і розуміти У першому випадку формат серіалізації може бути двійковим У другому випадку це, ймовірно, буде анотований текст (labeled text)

У середовищі Android існує чотири найпоширеніші варіанти використання сериализации

Управління життєвим циклом – на відміну від більш великих пристроїв, наприклад ноутбуків і настільних компютерів, пристрій Android, як правило, не дозволяє оперативно перемістити додаток у допоміжний своп-файл памяті, коли це додаток стає неактивним У такій ситуації фреймворк надає обєкт, званий Bundl е Коли робота додатка призупиняється, воно записує свій стан в Bundle При відновленні додатка фреймворк Android гарантує надання копії того ж Bundl е в ході ініціалізації Додаток повинен бути здатне серіалізовать всі дані, які йому необхідно зберегти на час призупинення роботи, і вміти зберегти серіалізовані версію даних в Bundlе

Довготривале зберігання – окрім безпосереднього стану програми, що зберігається в Bundle, більшість програм також керує тим чи іншим довготривалим сховищем даних Звичайно як такого сховища виступає база даних SQLite, загорнута в ContentProvider Додатки повинні перетворювати стану внутрісистемного представлення даних обєкта та подання цих же обєктів в базі даних У великих системах такий процес називається обєктно-реляційних відображенням (ORM, object-relational mapping) Ця технологія підтримується такими фреймворками, як Hibernate і iBATIS Локальне сховище даних Android побудовано простіше, до того ж воно легковажно

Локальна межпроцессной комунікація – під фреймворці Android пропагується архітектура, при якій великі монолітні додатки поділяються на більш дрібні компоненти: користувальницькі інтерфейси, постачальники вмісту та сервіси (служби) Ці компоненти не мають доступу до простору один одного, займаному в памяті, і, передаючи інформацію один одному, повинні посилати її через кордони процесів у вигляді серіалізовать повідомлень Для цього в Android є відмінно пристосований інструмент – мова AIDL

Мережева комунікація – це одна з родзинок роботи з мобільними пристроями Можливість підключатися до Інтернету і користуватися неймовірним безліччю сервісів, які там є, – це суть Android Додатки повинні бути пристосовані до взаємодії з протоколами, необхідними для роботи із зовнішніми сервісами При цьому необхідний механізм для перетворення внутрішньої інформації в запити до таких сервісів і подальшого зворотного перетворення отриманої відповіді

У наступних підрозділах описуються різні класи, що надаються для досягнення цих цілей

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*