Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Архитектура Андроид-приложения

Архитектура
Архитектура Андроид-приложения Архитектура Изолированность приложения Android1. Каждое приложение имеет свой Linux user Id2. Для каждого Размеры экрановРазмерПлотность470dip x 320 dip = WVGA800 (480x800) Как работать?px - пикселиin, mm, pt - дюймы, миллиметры, точки (1/72 дюйма)dip Строительные блоки приложения› Activity› Service› ContentProvider – ПОСТАВЩИК СОДЕРЖИМОГО› BroadcastReceiver – ПОЛУЧЕНИЕ Рабочие лошадкиActivityмалосвязанныене подходят для длительных операцийServiceработают в фоне (backgroud)подходят для длительных операций Структура проекта (Android Studio)› Вместо bin — build, там всё сгенерированное› Папка AndroidManifest.xml› определяет имя Java-пакета приложения = уникальный идентификатор для приложения.› описывает компоненты РесурсыТипы ресурсов› drawable) .png, .jpg, .gif) .9.png) .xml) shape) selector› layout› anim› Ресурсы R.java автоматически генерируется средой разработкиpackage my.favorite;public final class R { Строковые ресурсы› res/values/strings.xmlIt is a simple stringIt is a string with integer Жизненный цикл Activity Жизненный цикл Activity Жизненный цикл Activitypublic class TestActivity extends Activity {private static final String TAG Дополнительные ссылкиhttp://developer.android.com http://android-developers.blogspot.com http://startandroid.ru http://developer.alexanderklimov.ru/android/theory
Слайды презентации

Слайд 2 Архитектура

Архитектура

Слайд 3 Изолированность приложения Android
1. Каждое приложение имеет свой Linux

Изолированность приложения Android1. Каждое приложение имеет свой Linux user Id2. Для

user Id
2. Для каждого приложения запускается своя Dalvik VM
3.

Любой компонент приложения, будет запускаться в своем Linux процессе

Слайд 4 Размеры экранов
Размер
Плотность
470dip x 320 dip = WVGA800 (480x800)

Размеры экрановРазмерПлотность470dip x 320 dip = WVGA800 (480x800)

Слайд 5 Как работать?
px - пиксели
in, mm, pt - дюймы,

Как работать?px - пикселиin, mm, pt - дюймы, миллиметры, точки (1/72

миллиметры, точки (1/72 дюйма)
dip (device independent pixel) - абстрактные

пиксели, зависящие от плотности экрана. Для экрана плотностью 160 dpi один dp равняется одному пикселю (px). 

ldpi: 1 dip = 0,75px


mdpi: 1 dip = 1px


hdpi: 1 dip = 1,5px


xhdpi: 1 dip = 2px


Слайд 6 Строительные блоки приложения
› Activity
› Service
› ContentProvider – ПОСТАВЩИК

Строительные блоки приложения› Activity› Service› ContentProvider – ПОСТАВЩИК СОДЕРЖИМОГО› BroadcastReceiver –

СОДЕРЖИМОГО
› BroadcastReceiver – ПОЛУЧЕНИЕ ВНЕШНИХ СОБЫТИЙ И РЕАКЦИЯ НА

НИХ
› Intent – НАМЕРЕНИЯ

Слайд 7 Рабочие лошадки
Activity
малосвязанные
не подходят для длительных операций
Service
работают в фоне

Рабочие лошадкиActivityмалосвязанныене подходят для длительных операцийServiceработают в фоне (backgroud)подходят для длительных операций

(backgroud)
подходят для длительных операций


Слайд 8 Структура проекта (Android Studio)

› Вместо bin — build,

Структура проекта (Android Studio)› Вместо bin — build, там всё сгенерированное›

там всё сгенерированное
› Папка с исходными файлами теперь содержит

и ресурсы
› Файлы настройки Gradle
› Многие настройки вынесены в Gradle
› Библиотеки можно как подкладывать руками, так и подгружать автоматически

Слайд 9 AndroidManifest.xml
› определяет имя Java-пакета приложения = уникальный идентификатор

AndroidManifest.xml› определяет имя Java-пакета приложения = уникальный идентификатор для приложения.› описывает

для приложения.
› описывает компоненты приложения: Activity, Service, BroadcastReceiver, ContentProvider.

Определяет имена классов, реализующие каждый из компонентов и оглашает их возможности (например, какие Intent-сообщения они могут обрабатывать). Эти объявления позволяют системе Android знать, какие компоненты и при каких условиях могут быть запущены.
› объявляет разрешения, которые приложение должно иметь для доступа к защищённым частям API и взаимодействия с другими приложениями.
› объявляет минимальный уровень Android API, который требует приложение.
› и другие...

Слайд 10 Ресурсы
Типы ресурсов
› drawable
) .png, .jpg, .gif
) .9.png
) .xml
)

РесурсыТипы ресурсов› drawable) .png, .jpg, .gif) .9.png) .xml) shape) selector› layout›

shape
) selector
› layout
› anim
› values
) strings
) dimensions
) colors
) arrays

xml
› raw

Селекторы ресурсов
› Ориентация
) land, port
› Плотность точек
) ldpi, mdpi, hdpi, xhdpi, nodpi
› Размер экрана
) small, normal, large, xlarge
› Версия Android
) v3, . . . , v15
› Язык
) en, fr, ru, . . .


Слайд 11 Ресурсы R.java автоматически генерируется средой разработки
package my.favorite;

public final class

Ресурсы R.java автоматически генерируется средой разработкиpackage my.favorite;public final class R {

R { public static final class attr {
}
public static

final class drawable { public static final int ic_launcher=0x7f020000;
}
public static final class id { public static final int message_edit_text=0x7f050000;
public static final int message_show_text_view=0x7f050003;
public static final int send_button=0x7f050002;
public static final int show_button=0x7f050001;
}
public static final class layout {
public static final int message_input_layout=0x7f030000;
public static final int message_show_layout=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f040003;
public static final int message_input_message_hint=0x7f040000;
public static final int message_input_send_button=0x7f040002;
public static final int message_input_show_button=0x7f040001;
}
}

  содержит ссылки на все ресурсы проекта


Слайд 12 Строковые ресурсы
› res/values/strings.xml
It is a simple string

Строковые ресурсы› res/values/strings.xmlIt is a simple stringIt is a string with

name="args_string">It is a string with integer arg: %1$d

› res/values-ru/strings.xml

name="simple_string">Это обычная строка
Это строка с целочисленным аргументом:
%1$d


› src/my/favorite/TestActivity.java
TextView simpleText = (TextView)findViewById(R.id.text_view); simpleText.setText(getString(R.string.simple_string));

TextView argsText = (TextView)findViewById(R.id.text_view); simpleText.setText(getString(R.string.args_string, 999));

Слайд 13 Жизненный цикл Activity


Жизненный цикл Activity

Слайд 14 Жизненный цикл Activity

Жизненный цикл Activity

Слайд 15 Жизненный цикл Activity
public class TestActivity extends Activity {
private

Жизненный цикл Activitypublic class TestActivity extends Activity {private static final String

static final String TAG = TestActivity.class.getSimpleName();

@Override
protected void onCreate(Bundle savedInstanceState)

{ super.onCreate(savedInstanceState); Log.d(TAG,"onCreate"); setContentView(R.layout.main);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); Log.d(TAG,"onRestoreInstanceState");
}

@Override
protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Log.d(TAG,"onSaveInstanceState");
}

@Override
protected void onDestroy() {
Log.d(TAG,"onDestroy");
super.onDestroy();
}
//...
}

  • Имя файла: arhitektura-android-prilozheniya.pptx
  • Количество просмотров: 85
  • Количество скачиваний: 0