Лекция№ 2 - math.spbu.ru · Историяверсий}2.0 Eclair —...
Transcript of Лекция№ 2 - math.spbu.ru · Историяверсий}2.0 Eclair —...
1
--------------------------------------------------------------------------------------------------
Лекция № 2ОС Android
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Лаборатория Системного ПРограммирования иИНформационных Технологий СПбГУ
План
} История создания ОС Android
} Архитектура Android, отличия отLinux
} Схема ОС Android, описаниекомпонент
} Bionic — исправленный glibc
} Java-машина Dalvik
} Обзор Java интерфейсовприкладного программиста.
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
История создания ОС Android
} Компания Google в 2002 годузаинтересовалась разработками Э.Рубина
} В 2005 году Google купила Android Inc
} В ноябре 2007 года состоялся анонсAndroid.
} Google создала альянс под названиемOpen Handset Alliance, объединившийвсех ведущих производителеймобильных устройств и разработчиковпрограмм.
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
История версий
} 2.0 Eclair — включает новый браузер,расширяет API камеры.
} 2.1 Eclair — поддержка голосового контроля.
} 2.3 Gingerbread — улучшенный UI,добавлением программной клавиатуры.Добавлена поддержка соединения междуустройствами.
} 3.2 Honeycomb — оптимизация для широкогодиапазона экранов (планшеты), новый «зум-заполнитель» экрана
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Архитектура Android
} Ядро - модифицированный Linux
} Набор системных С++ библиотек} Android Runtime – среда выполнения
Java на основе виртуальной машиныDalvik.
} Application Framework — набор Javaбиблиотек для прикладногопрограммиста
} Уровень приложений, включаяпредустановленные
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Android – не Linux!
} Android — это не очередной дистрибутив Linux!
} Ядро Adroid очень похоже на ядро Linux, но...
} В Android сильно модифицирован glibc
} В Android радикально сокращен набор утилитLinux
} В Android нет встроенной оконной системы
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Особенности ядра Android
} Binder — межпроцессное взаимодействие
} Поддержка логирования logcat
} Управление памятью (ashmem, pmem,oom)
} Избыточная сетевая безопасность
} Файловая система YAFFS2
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Схема ОС Android
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Bionic – «исправленный» glibc
} Bionic —— библиотека стандартныхвызовов языка C для Android, заменаglibc
} Особенности:l BSD лицензия вместо GPLl Малые размеры объектного кодаl Ориентация на процессоры снизкими частотами
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Java – машина Dalvik} Виртуальная машина Dalvikявляется частью мобильнойплатформы Android
} Dalvik является регистр-ориентированной, а не стек-ориентированной машиной
} Dalvik использует JITкомпиляцию
} Dalvik использует свойсобственный байт-код, но умеетконвертировать оригинальныйбайт-код в свой
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Обзор Java API
} Java: java.io, java.lang.*, java.util,java.security, …
} Расширения Java: javax.net.*,javax.xml.*, …
} org.apache.http.*
} Другие расширения: org.json,org.w3c.dom.*, org.xml.sax.*
} Android API: android.*
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Обзор Android API – графика
} android.view, android.widget —элементы GUI, взаимодействие спользователем
} android.graphics — примитивыдвумерной графики, графическиефайлы
} android.animation — анимация, в т.ч. вGUI
} android.opengl — OpenGL ES 2.0
} android.gesture — поддержкауправления жестами
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Обзор Android API – сеть
} android.net — сетевые протоколывысокого уровня, WiFi
} android.webkit — движок веб-браузера
} android.bluetooth — стек BlueTooth
} android.nfc — стек Near FieldCommunication
} android.telephony — примитивытелефонной связи и SMS
} android.drm — управление правамиконтента
Разработка приложений для нетбуков планшетников. Лекция 2-----------------------------------------------------------------------------------------------------------
Обзор Android API – разное
} android.app — модель приложенийAndroid
} android.os — межпроцессноевзаимодействие
} android.hardware — камера и датчики
} android.location — геолокация
} android.media — кодирование звуковыхи видео потоков
} android.database — базы данных,включая SQLite
} и многое другое...Разработка приложений для нетбуков планшетников. Лекция 2
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
Благодарю за внимание!
Вопросы?
Разработка приложений для нетбуков планшетников. Лекция 2