не залежить від інших компонентів. Для доступу до завантажувач використовується спеціальний компонент Loader Manager, який дозволяє працювати з завантажувачами будь-яким класам, що реалізує інтерфейс Loader Manager Loader Callbacks. Незважаючи на деякі вбудовані під фреймворк реалізації, розробникам досить часто доводиться реалізовувати свої специфічні завантажувачі, наприклад, для роботи з локальною базою даних або отримання масивів інформації по мережі. Гарну статтю про практичну реалізацію завантажувачів можна знайти за адресою [8]. Там же можна знайти і інші корисні статті по специфічним шаблонами проектування.
Незважаючи на досить динамічний розвиток SDK і впровадження нових шаблонів проектування, останнім часом видавалося багато літератури з упором на актуальні версії засобів розробки. В якості одного з прикладом, можна привести [9]. Книга у багато схожа з [2], однак базується на сучасній версії платформи і окремо зачіпає тему забезпечення сумісності з використанням стандартних компонентів.
Оскільки Android-розробка є фреймворк-орієнтованої, тобто, досить сильно зав'язаної на стандартні класи і генерацію коду, перед усіма розробниками постає питання: яку ж середовище розробки слід використовувати для максимально зручного програмування під Android? Однозначної відповіді на нього немає, скоріше це питання особистих переваг. Існує чотири основних інтегрованих середовища розробки (Integrated development environment, далі IDE) з підтримкою Android-проектів:
- Eclipse + ADT Plugin;
- InelliJ IDEA;
- NetBeans;
- Android Studio.
Довгий час найчастіше використовувалися перші два IDE. Eclipse є скоріше платформою для створення універсальних середовищ розробки, заснованих на інтегруванні спеціальних модулів розширення - плагінів. Відповідний плагін для Android-розробки носить ім'я ADT Plugin і володіє дуже великим функціоналом. Спочатку саме його широка функціональність принесла популярність зв'язці Eclipse + ADT Plugin, оскільки вона дозволяла, наприклад, редагувати користувальницький інтерфейс в WYSIWYG стилі. Незважаючи на це, останнім часом Eclipse сильно поступилася InelliJ IDEA у зв'язку з бурхливим і динамічним розвитком останньої. InelliJ IDEA також підтримує розширення у вигляді плагінів і дозволяє створювати Android-проекти, однак об'єктивно володіє набагато більш вражаючими можливостями для написання, редагування і рефакторинга вихідного коду в порівнянні з Eclipse.
Найменш поширеною IDE є NetBeans, оскільки вона використовується в основному користувачами Linuх, які раніше застосовували NetBeans для своїх проектів.
На даний момент досить перспективно виглядає IDE від Google - Android Studio. Вона позиціонується як спеціалізований засіб для Android-розробки від компанії розробника самої ОС. Android Studio грунтується на InelliJ IDEA і володіє всіма її достоїнствами. На додаток до цього Android Studio містить спеціалізовані засоби розробки та аналізу коду, специфічні для Android-розробки. Мабуть, єдиним недоліком Android Studio є те, що вона офіційно все ще перебуває в стадії бета-тестування. При розробці даного проекту використовувалася саме ця IDE. Детальніше ознайомиться з даним продуктом можна за допомогою [10]. Там же можна знайти докладні описи процесу міграції проектів на новою IDE з інших популярних рішень.
Відмінною особливістю Android Studio є використання поступово набирає популярність системи збірки Gradle. Її опис можна знайти на офіційному сайті [11] або ж на ресурсі [12], стосовно конкретно до Android Studio. До особливостей Gradle, вигідно відрізняє її від інших систем збірки, варто віднести сплав концепції «build by convention», використовуваної в усіх популярних аналогах, наприклад, Maven, з використання скриптів на мові Groovy. Подібний підхід дозволяє легко створювати багатомодульні збірки, що вельми актуально для Android-проектів, що використовують користувальницькі бібліотеки. Ще однією можливістю Gradle, активно використовуваної в Android Studio є можливість створювати засновані на Gradle проекти, при цьому фактично все, що необхідно - це пара стандартних скриптів для побудови і скачуваний із загальнодоступного репозиторію модуль для їх обробки. Подібна лаконічна структура досить ефектно виглядає при використанні системи контролю версій: фактично всі файли проекту є функціонально необхідним і не захаращують репозиторій.
Варто відзначити, що всі вище перераховані середовища розробки або є повністю безкоштовними, або мають безкоштовні версії.
У висновку слід згадати деякі джерела, специфічні для даного дипломного проекту. У проекті активно використовується взаємодія з базою даних (БД). На ОС Android в якості БД використовує SQLite. SQLite є про...