Книга «Android для розробників»

Привіт, Хаброжители! У нас вийшло 3-тє видання книги Підлоги і Харві Дейтл, Александера Уолда:

image Пропонуємо детально ознайомитися з розробкою додатків для смартфонів і планшетів Android з використанням Android Software Development Kit (SDK). Багато навички програмування для Android, представлені в книзі, також застосовні до розробки додатків для Android Wear і Android TV.

У книзі представлені передові технології розробки мобільних додатків для професійних програмістів. В основу книги покладено принцип розробки, орієнтованої на додатки, — розробки концепції продемонстровано на прикладі повністю працездатних додатків Android, а не фрагментів коду. Кожна з глав 2-9 починається з вступної частини, в якій коротко описано розробляється додаток. Потім наводяться результати тестування програми та огляд технологій, що застосовуються в процесі його розробки. Далі виконується детальний аналіз вихідного коду програми.



Цільова аудиторія

Передбачається, що читачі цієї книги знають мову Java і мають досвід об'єктно-орієнтованого програмування. Також передбачається, що читач знайомий з XML — як ви побачите, проекти Android містять багато файлів XML, хоча програміст часто працює з XML в редакторі, в основному приховує значну частину XML. Ми використовуємо тільки завершені робочі програми, тому, навіть не знаючи, Java, але маючи досвід об'єктно-орієнтованого програмування на С++, C#, Swift або Objective-C, ви зможете швидко освоїти представлений у книзі матеріал, а заодно дізнатися багато корисного про Java і об'єктно-орієнтованому програмуванні.

Ця книга є підручником з Java.

Особливості книги

Розробка, орієнтована на додатки. В кожній з глав 2-9 представлено одне повне додаток — розглянуто функції додатка, наведені знімки екрану виконується програми, результати тестових запусків та огляд технологій та архітектури, використовуваних при створенні програми. Потім ми будуємо графічний інтерфейс програми, подаємо його повний вихідний код і проводимо детальний аналіз цього коду; обговорюємо концепції, що застосовуються в програмуванні, і демонструємо функціональність Android API, що використовується при створенні програми.

Android 6 SDK. У книзі розглядаються нові можливості Android 6 SDK (Software Development Kit).

Android Studio IDE. Безкоштовна середа Android Studio (створена на базі IntelliJ IDEA Community Edition) в даний час є основною інтегрованою середовищем, рекомендованої для розробки додатків Android (вихідні засоби розробки Android працювали на базі Eclipse IDE). Середа Android Studio в поєднанні з безкоштовним пакетом Android Software Development Kit (SDK) і безкоштовним пакетом Java Development Kit (JDK) надає все необхідне для створення, запуску та налагодження додатків Android, підтримки їх поширення (наприклад, відправлення в магазин Google Play) і т. д. Інструкція щодо завантаження та інсталяції цих продуктів приведена в розділі «Підготовка».

Матеріальний дизайн. В Android 5 компанія Google представила новий стиль додатків, заснований на специфікації матеріального дизайну.

У цій специфікації Google призводить огляд цілей і принципів матеріального дизайну, а також докладну інформацію щодо методів анімації, стильового оформлення екранних елементів, позиціонування елементів, використання конкретних компонентів інтерфейсу користувача, стандартними схемами взаємодії з користувачем, доступності, інтернаціоналізації і т. д. В даний час компанія Google використовує принципи матеріального дизайну як у своїх мобільних додатках, так і в додатках для веб-браузерів.

Матеріальний дизайн — вельми обширна тема. У цій книзі ми зосередимося на таких його аспектах:

Використання вбудованих матеріальних тим Android — теми гарантують, що зовнішній вигляд вбудованих компонентів Android буде відповідати принципам матеріального дизайну.

Використання вбудованих шаблонів додатків Android Studio — ці шаблони були розроблені компанією Google у відповідності з принципами матеріального дизайну.

Використання компонентів інтерфейсу користувача, рекомендованих у специфікації Google для конкретних цілей, таких як FloatingActionButton, TextInputLayout і RecyclerView.

Підтримка і бібліотеки сумісності. При використанні нових можливостей Android розробники часто зіштовхуються з проблемою забезпечення зворотної сумісності з більш ранніми платформами Android. Багато нові можливості Android тепер вводяться через бібліотеки підтримки. Це дозволяє розробнику використовувати нові можливості в додатках, орієнтованих на сучасні, так і на старі платформи Android. До числа таких бібліотек належить і AppCompat. Шаблони додатків в Android Studio були поновлені; тепер у них використовується бібліотека AppCompat і її теми, що дозволяє нових додатків, які ви створюєте, працювати на більшості пристроїв на базі Android. Якщо ви створюєте додатки, орієнтовані на бібліотеку AppCompat, вам не доведеться змінювати реалізацію коду, якщо ви захочете підтримувати старі версії Android в більш широкої аудиторії користувачів.

REST-сумісні веб-сервіси і JSON. У розділі 7 представлено додаток Weather Viewer, яке демонструє використання веб-сервісів з підтримкою архітектурного стилю REST (Representational State Transfer) — у даному випадку сервісу отримання 16-денного прогнозу погоди з сайту OpenWeatherMap.org. Цей веб-сервіс повертає прогноз у форматі JSON (JavaScript Object Notation) — популярному текстовому форматі обміну даними, що використовується для представлення об'єктів у вигляді пар ключ—значення». Додаток також використовує класи з пакету org.json для обробки відповіді веб-сервісу.

Дозволу Android 6.0. В Android 6.0 використовується нова модель дозволів, розроблена для зручності користувача. До виходу Android 6.0 користувач зобов'язаний був під час установки заздалегідь надати всі дозволи, які могли коли-небудь знадобитися додатком. Нерідко це відлякувало користувачів від установки додатків. У новій моделі додаток встановлюється, не запитуючи жодних дозволів. Замість цього користувачеві пропонується запросити дозвіл тільки при першому використанні відповідної можливості. Глава 5 знайомить читача з новою моделлю дозволів і демонструє, як у неї запитати у користувача дозвіл на збереження зображення на зовнішньому носії.

Фрагменти. Починаючи з глави 4 ми будемо використовувати фрагменти для створення і управління частинами графічного інтерфейсу кожного фрагмента. Об'єднуючи кілька фрагментів, можна створювати інтерфейси, що ефективно використовують простір екрану планшетів. Розробник може легко замінювати фрагменти, що робить графічний інтерфейс більш динамічним; приклад перемикання фрагментів розглядається в розділі 9.

Патерн View-Holder, компоненти ListView і RecyclerView. Кожне з додатків у розділах 7-9 відображає прокручуваний список даних. У главі 7 дані відображаються в списку ListView; також в ній описаний патерн View-Holder, що підвищує швидкість прокручування за рахунок повторного використання компонентів графічного інтерфейсу, що виходять за межі екрану. При роботі з ListView застосування патерну View-Holder бажано, але не обов'язково. У розділах 8 і 9 дані виводяться в більш гнучкому та ефективному компоненті RecyclerView, для якого патерн View-Holder обов'язковий.

Друк. Можливості друку додатків продемонстровані на прикладі класу PrintHelper (глава 5), що входить в інфраструктуру друку Android. Клас PrintHelper надає користувальницький інтерфейс для вибору принтера, метод для перевірки того, чи підтримує заданий пристрій друк, а також метод для друку об'єктів Bitmap. Клас PrintHelper є частиною бібліотеки Android Support Library.

Режим занурення. Панель стану у верхній частині екрана і кнопки меню в нижній частині можна приховати, щоб ваші програми використовувати більшу частину екрана. Щоб отримати доступ до панелі стану, користувач проводить пальцем від правого краю екрана, а до системної панелі з кнопками Back, Home і Recent Apps — від нижнього краю.

Тестування на смартфонах Android, планшетах і в емуляторі. Для досягнення оптимального результату додатки слід тестувати на фізичних смартфонах і планшетах Android. Корисну інформацію можна також отримати при тестуванні в емуляторі Android (див. розділ «Підготовка»), однак емуляція створює істотну навантаження на процесор і може працювати повільно, особливо в іграх з великою кількістю рухомих об'єктів. У розділі 1 наведено деякі функції Android, не підтримувані емулятором.

Cloud Test Lab. Google працює над новим сервісом Cloud Test Lab — сайтом для тестування додатків на широкому спектрі пристроїв, орієнтацій пристрою, локальних контекстів, мов і станів мережі. Ви зможете проводити автоматизовані тести і отримувати докладні звіти зі знімками екранів і відеороликами, а також протоколами помилок, які допоможуть знайти проблеми і поліпшити програми.

Android Wear і Android TV. Android Wear працює на «розумних годин»; Android TV працює на деяких розумних телевізорах і медіаплеєрах, що підключаються до телевізора (зазвичай кабелем HDMI). Багато прийоми програмування для Android, представлені в книзі, також відносяться і до розробки додатків для Android Wear і Android TV. Android SDK надає емулятори для Android Wear і Android TV, тому ви зможете тестувати свої додатки для цих платформ, навіть якщо у вас немає самих пристроїв.

Мультимедіа. В додатках використовуються різноманітні мультимедійні можливості Android, включаючи графіку, зображення, покадрову анімацію, анімацію і роботу з аудіо.

Відправка додатків в Google Play. В главі 10 описаний процес реєстрації в Google Play і налаштування облікового запису для продажу додатків. Ви дізнаєтеся, як підготувати додаток до відправки в Google Play, як встановити ціну на додаток, і познайомитеся з можливостями монетизації додатків через розміщення реклами та внутрішні продажу. Також будуть представлені ресурси, які можуть використовуватися для маркетингу додатків. Главу 10 можна читати після глави 1.

Рецензенти книги

Ми хочемо подякувати рецензентів цього і двох попередніх видань книги. Вони ретельно перевірили текст і надали безліч рекомендацій щодо його поліпшення: Пол Бойстерьен (Paul Beusterien), головний фахівець компанії Mobile Developer Solutions; Ерік Дж. Боуден (Eric J. Bowden), головний керуючий компанії Safe Driving Systems, LLC; Тоні Кантрелл (Tony Cantrell) (Північно-західний технічний коледж штату Джорджія); Іен Дж. Кліфтон (Ian G. Clifton), незалежний підрядник, розробник додатків Android і автор книги «Android User Interface Design: Implementing Material Design for Developers, 2nd Edition»; Даніель Гэлпин (Daniel Galpin), ентузіаст Android Геннон і автор книги «Intro to Android Application Development»; Джим Хэзевэй (Jim Hathaway), розробник з компанії Kellogg; Дуглас Джонс (Douglas Jones), старший інженер-програміст, компанія Fullpower Technologies; Чарльз Ласки (Charles Lasky), муніципальний коледж Нагаутук; Енріке Лопес-Манас (Enrique Lopez-Manas), старший фахівець з архітектури Android і викладач інформатики в Університеті Алкала, Мадрид; Себастіан Никопп (Sebastian Nykopp), головний архітектор, компанія Reaktor; Майкл Пардо (Michael Pardo), розробник Android, компанія Mobiata; Ронан «Зеро» Шварц (Ronan «Zero» Schwarz), директор з інформаційних технологій, компанія OpenIntents; Ариджит Сенгупта (Arijit Sengupta), Державний університет Райта; Дональд Сміт (Donald Smith), Колумбійський коледж; Хесус Убальдо (Jesus Ubaldo), Кеведо Торреро, Університет штату Вісконсін, Парксайд; Дон Двк (Dawn Wick), Південно-Західний муніципальний коледж; Френк Сю (Frank Xu), Геннон Університет.

Про авторів

Пол Дж. Дейтел (Paul J. Deitel), генеральний і технічний директор компанії Deitel & Associates, Inc., закінчив Массачусетський технологічний інститут (MIT) за фахом «Інформаційні технології» (Information Technology). Власник сертифікатів Certified Java Programmer, Certified Java Developer і Oracle Java Champion. Пол також отримав премію Microsoft Most Valuable Professional (MVP) по C# в 2012-2014 роках. У Deitel & Associates, Inc. він провів сотні занять по всьому світу для корпоративних клієнтів, включаючи Cisco, IBM, Siemens, Sun Microsystems, Dell, Fidelity, NASA (Космічний центр імені Кеннеді), Національний центр прогнозування сильних штормів, ракетний полігон Уайт-Сендз, Rogue Wave Software, Boeing, SunGard Higher Education, Stratus, Cambridge Technology Partners, One Wave, Hyperion Software, Adra Systems, Entergy, CableData Systems, Nortel Networks, Puma, iRobot, Invensys і багатьох інших. Пол і його співавтор, д-р Харві М. Дейтел, є авторами всесвітньо відомих бестселерів — підручників з мов програмування, призначених для початківців і для професіоналів, а також відеокурсів.

Харві М. Дейтел (Dr. Harvey M. Deitel), голова і головний стратег компанії Deitel & Associates, Inc., має 50-річний досвід роботи в області інформаційних технологій. Він отримав ступені бакалавра і магістра Массачусетського технологічного інституту і ступінь доктора філософії Бостонського університету. У 1960-ті роки він працював в групах, що займалися створенням різних операційних систем IBM, Advanced Computer Techniques і Computer Usage Corporation, а в 1970-ті роки займався розробкою комерційних програмних систем. Харві має величезний досвід викладання в коледжі і обіймав посаду голови відділення інформаційних технологій Бостонського коледжу. В 1991 році разом з сином — Підлогою Дж. Дейтелом — він заснував компанію Deitel & Associates, Inc. Харві з Підлогою написали кілька десятків книг і випустили десятки відеокурсів LiveLessons. Написані ними книги отримали міжнародне визнання і були видані на китайською, корейською, японською, німецькою, російською, іспанською, французькою, польською, італійською, португальською, грецькою, турецькою мовами і на мові урду. Дейтел провів сотні семінарів з програмування у великих корпораціях, академічних інститутах, урядових і військових організаціях.

Александер Уолд (Alexander Wald), практикант в компанії Deitel, допоміг нам перетворити книгу і програми для Android 4.3 та 4.4 з використанням Eclipse на Android 6 з використанням Android Studio. В даний час Александер збирається отримати ступінь бакалавра в області «Інформаційні технології» в Уорчестерском політехнічному інституті з непрофільною освітою в області електротехніки. Він зацікавився математикою і наукою в ранньому віці і пише програмний код близько 9 років. Його надихає пристрасть до творчості і нововведень, а також бажання поділитися своїми знаннями з іншими.

Більш докладно з книгою можна ознайомитися на сайті видавництва
Зміст
Уривок


Для Хаброжителей знижка 25% по купону — Android for Programmers

За фактом оплати паперової книги відправляємо на e-mail електронні версії книг, при покупці електронної книги — всі доступні версії відправляються користувачам.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.