Что нужно знать начинающему разработчику на Android
-
Upload
ilya-blokh -
Category
Software
-
view
91 -
download
1
Transcript of Что нужно знать начинающему разработчику на Android
![Page 1: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/1.jpg)
Что нужно знать начинающему разработчику на Android
![Page 2: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/2.jpg)
![Page 3: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/3.jpg)
![Page 4: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/4.jpg)
![Page 5: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/5.jpg)
![Page 6: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/6.jpg)
![Page 7: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/7.jpg)
Android реализован на ядре Lunix
![Page 8: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/8.jpg)
Cобственная виртуальная машина для Java-кода
Dalvik 1–4.4
ART 4.4–5
![Page 9: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/9.jpg)
Android NDK для портирования библиотек на C и C++
![Page 10: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/10.jpg)
Версии Android
![Page 11: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/11.jpg)
![Page 12: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/12.jpg)
+ Android 5 Lollipop
![Page 13: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/13.jpg)
![Page 14: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/14.jpg)
Основные принципы
![Page 15: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/15.jpg)
Множественность точек входа в приложение
![Page 16: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/16.jpg)
Android Responsive Layout
![Page 17: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/17.jpg)
Приложения адаптируются под устройства
![Page 18: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/18.jpg)
Приложения адаптируются под устройства
![Page 19: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/19.jpg)
Принцип минимальных привилегий
![Page 20: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/20.jpg)
Android: how get started
![Page 21: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/21.jpg)
Шаг 1. Установка IDE
1. Android Studio 2. Eclipse 3. IntelliJ IDEA
![Page 23: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/23.jpg)
Компоненты приложения
1. Activity
2. Service
3. Broadcast Receiver
4. Content Provider
![Page 24: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/24.jpg)
Activity
1. Один экран с UI
2. Независимая сущность
3. Имеет свой жизненный цикл
![Page 25: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/25.jpg)
![Page 26: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/26.jpg)
Service
1. Работа в background
2. Используется для длительных операций
![Page 27: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/27.jpg)
Broadcast Receiver
1. Трансляция сообщений в систему
2. Нет UI, уведомления в Status Bar
3. Запускают другие компоненты приложения
![Page 28: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/28.jpg)
Content Provider
1. Управление расшаренными данными приложения
2. Точка входа для других приложи
3. Сохранение и запись приватных данных
![Page 29: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/29.jpg)
Intent — асинхронное сообщение, используемое для взаимодействия компонент
![Page 30: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/30.jpg)
UI
![Page 31: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/31.jpg)
![Page 32: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/32.jpg)
![Page 33: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/33.jpg)
![Page 34: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/34.jpg)
![Page 35: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/35.jpg)
Relative Layout Linear Layout Web View
UI. Layouts
![Page 36: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/36.jpg)
ListView GridView
Adapters
![Page 37: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/37.jpg)
Android: Resources
![Page 38: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/38.jpg)
Android: Resources
![Page 39: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/39.jpg)
Shared Preferences
Internal Storage
External Storage
SQLite Databases
Network Connection
Хранение данных
![Page 40: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/40.jpg)
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="background_lightGrey">#f2f2f2</color> <color name=“background_darkGrey">#dfdfdf</color> </resources>
colors.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="composeEmail">Написать</string> <string name="comments">Комментарии</string> </resources>
string.xml
![Page 41: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/41.jpg)
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="write">Write</string> <string name="comments">Comments</string> </resources>
string-en.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="write">Написать</string> <string name="comments">Комментарии</string> </resources>
string-ru.xml
![Page 42: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/42.jpg)
Manifest- package name приложения - описывает компоненты приложения - указывает permissions - указывает минимальную версию API - прочая информация общего характера
![Page 43: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/43.jpg)
Resume
1. Использует ВМ для Java (Dalvik -> ART) 2. Приложение собирается из независимых компонент:
Activity, Service, Content Provider, Broadcast Receiver 3. Компоненты общаются с помощью асинхронных сообщений (Intents)
4. Интерфейс описывается языком XML 5. Существует несколько опций для хранения данных 6. Для решения проблемы высокой фрагментации устройств используется механизм альтернативных ресурсов
![Page 44: Что нужно знать начинающему разработчику на Android](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a67e3f1a28ab776f8b46e8/html5/thumbnails/44.jpg)
Полезные материалы
- developer.android.com - www.vogella.com/tutorials/android.html - http://startandroid.ru/