android: Как создать свое первое приложение?
TRANSCRIPT
![Page 1: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/1.jpg)
Android: Как создатьсвое первое приложение
Кубан Джакипов2011
web: https://sites.google.com/site/bishkekgtug/twitter: http://twitter.com/#!/BishkeksGTUG
![Page 2: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/2.jpg)
Кто я?
● В команде Сайбирс (sibers.com)● Люблю открытые разработки● Опыт разработки андроид приложений 6+
мес.● Участник Bishkek GTUG
![Page 3: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/3.jpg)
Содержание
1. Краткий обзор платформы Андроид 2. Средства разработки3. Установка окружения4. Обзор Android SDK4. Знакомство с базовыми компонентами Андроид5. Вопросы
![Page 4: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/4.jpg)
Краткий обзор платформы Андроид
![Page 5: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/5.jpg)
2005 годиюль — Компания Google купила Android Inc.
2007 год5 сентября —было официально объявлено о создании группы компаний Open Handset Alliance (OHA)23 сентября — первое устройство на базе платформы Android T-Mobile G1(HTC Dream).
2009 год30 апреля — вышло официальное обновление Android 1.5 (Cupcake).15 сентября — вышла версия Android 1.6 (Donut).26 октября — выпущена версия Android 2.0 (Eclair).
2010 годмай — выпущена Android 2.2 (FroYo)декабрь — выпущена Android 2.3 (Gingerbread)
2011 год22 февраля — выпущена Android 3.0 (Honeycomb)19 октября - выпущена Android 4.0 (Ice Cream Sandwich)
Краткая история
![Page 6: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/6.jpg)
Цифры
![Page 7: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/7.jpg)
Деление рынка смартфонов
* source Nielsen
![Page 8: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/8.jpg)
Средства разработки
![Page 9: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/9.jpg)
Разработка
На каких языках программирования можно разрабатывать приложения на андроид?
![Page 10: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/10.jpg)
Разработка1. Java 2. Кофеин для андроида
● кросс-платформенные средства разработки○ PhoneGap (JavaScript, HTML5, CSS3○ Appcelerator Titanium
● альтернативные языки Ruboto (JRuby), Mirah, Scala, Clojure, Kawa● нативные инструменты разработки (NDK) С/C++● несвободные альтернативы
○ MonoDroid○ Adobe AIR (в след. презентации)
● Scripting Layer for Android (SL4A) Beanshell, JavaScript (Rhino), JRuby, Lua, Python, Perl, PHP, Shell, Tcl
● Mobile Boilerplate● Rhomobile Rhodes
![Page 11: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/11.jpg)
IDE
● Eclipse● Netbeans● IntelliJ IDEA
![Page 12: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/12.jpg)
Установка окружения
![Page 13: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/13.jpg)
Установка окружения
1. Установка JDK (java.com)2. Установка Android SDK (d.android.com)3. Устанавливаем плагин ADT на Eclipse
![Page 14: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/14.jpg)
Установка JDK
Скачиваем Java JDK с java.com
![Page 15: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/15.jpg)
Установка Android SDK
Скачиваем и распаковываем Android SDK с d.android.com
![Page 16: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/16.jpg)
Установка ADT
1. Добавляем репозиторий https://dl-ssl.google.com/android/eclipse (Help -> install new software)
2. Устанавливаем Eclipse ADT3. Настраиваем ADT с Android SDK
Preferences -> Android (указ на скач SDK)
Полная инструкция доступна на сайте http://developer.android.com/sdk/installing.html
![Page 17: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/17.jpg)
Инструменты ADT
● Emulator● Logcat● AVD manager● SDK manger● File Explorer● Profiller● Debug● Другие инструменты
![Page 18: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/18.jpg)
Android SDK и AVD manager
![Page 19: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/19.jpg)
Emulator
![Page 20: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/20.jpg)
DDMS - Davlik Debug Monitor Server
![Page 21: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/21.jpg)
Demo
![Page 22: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/22.jpg)
Знакомство с базовыми компонентами приложения
![Page 23: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/23.jpg)
Hardware Abstraction Layer
![Page 24: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/24.jpg)
Базовые компоненты
![Page 25: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/25.jpg)
Начнем
![Page 26: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/26.jpg)
Manifest
Манифест представляет главную информацию о приложении:
● название приложения● необходимые права доступа● указываются возможные активиты и сервисы● указывается миним. и макс. API запуска ● указывается список библиотек
![Page 27: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/27.jpg)
Пример манифеста
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.sibers.mobilerater" android:versionCode="1"android:versionName="1.0"> <uses-sdk android:minSdkVersion="4" /><supports-screens android:xlargeScreens="true" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><application android:icon="@drawable/icon" android:label="@string/app_name"android:theme="@android:style/Theme.NoTitleBar"><activity android:name=".activities.HomeActivity"android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".activities.JurisdictionActivity"android:configChanges="orientation" /></application></manifest>
![Page 28: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/28.jpg)
Activity
● Базовый компонент приложения ● Создает окно приложения● Отвечает за взаимодействие с пользователем
![Page 29: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/29.jpg)
Цикл жизни активити
![Page 30: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/30.jpg)
Методы создания активити
public class ExampleActivity extends Activity { protected void onCreate(Bundle savedInstanceState);
protected void onStart(); protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy(); }
![Page 31: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/31.jpg)
Основные методы активити
● setContentView, findViewById - связь с интерфейсом и конкретной View
● startActivity, startActivityForResult - запуск другой Activity, явный или неявный
● onActivityResult - обработка результата работы другой Activity
![Page 32: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/32.jpg)
Ресурсы
● Графика и аудио● Строки● Разметка интерфейса пользователя● Стили● XML-файлы● Произвольные файлы
![Page 33: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/33.jpg)
Размещение ресурсов
Следующие папки доступны для размещения● anim - xml c описанием анимации● color - xml c цветовыми настройками● drawable - картинки● layout - xml разметка интерфейса ● raw - произвольные файлы● values - строки, массивы, размеры, стили, цвета в xml● xml - произвольные xml файлы
![Page 34: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/34.jpg)
Доступ к ресурсам с помощью кода
// Указываем layout для экранаsetContentView(R.layout.screen)
// Находим ViewTextView tv = (TextView) findViewById(R.id.tv);tv.setText(getString(R.string.hello));
![Page 35: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/35.jpg)
Доступ к ресурсам в xml
Доступ ресурсов между собой осуществляется следующим образом:
@[<package-name>:]<resource_type>/<resource_name>
Примеры:<TextView android:textColor="@color/red" android:text="@string/hello" ... />
<ImageView android:drawable="image.png" ... />
![Page 36: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/36.jpg)
Альтернативные ресуры
Ресурсы для разных размеров экрана
● телефоны (240x320; 240x400; 480x800 .....)● планшеты (1024x600; 2048x1536 ... )● и т.д
![Page 37: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/37.jpg)
Классификация размеров экрана
![Page 38: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/38.jpg)
Альтернативные ресуры
Задаются модификаторами , см ниже примеры:
res/layout/my_layout.xml // layout for normal screen size ("default")res/layout-small/my_layout.xml // layout for small screen sizeres/layout-large/my_layout.xml // layout for large screen sizeres/layout-xlarge/my_layout.xml // layout for extra large screen sizeres/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium densityres/drawable-hdpi/my_icon.png // bitmap for high densityres/drawable-xhdpi/my_icon.png // bitmap for extra high density
![Page 39: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/39.jpg)
Demo
+ примеры Google и другие разработки
![Page 40: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/40.jpg)
Литература
● d.android.com● android-developers.blogspot.com ● android books on amazon (http://goo.gl/KfoL6)● habrahabr.ru
![Page 41: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/41.jpg)
Вопросы?
![Page 42: Android: Как создать свое первое приложение?](https://reader036.vdocuments.pub/reader036/viewer/2022081401/557f400ed8b42aba678b4dd6/html5/thumbnails/42.jpg)
web: https://sites.google.com/site/bishkekgtug/group: https://groups.google.com/forum/#!forum/bishkek-gtugtwitter: http://twitter.com/#!/BishkeksGTUGfacebook: http://www.facebook.com/pages/Bishkek-GTUG/277717478922516
Всем спасибо за внимание!
Благодарности:
IT.KG