Skip to content

Instantly share code, notes, and snippets.

@SammyVimes
Last active May 30, 2017 20:04
Show Gist options
  • Save SammyVimes/b30240ee98042a960601a48361f654b7 to your computer and use it in GitHub Desktop.
Save SammyVimes/b30240ee98042a960601a48361f654b7 to your computer and use it in GitHub Desktop.
Plan for summer android course

План для доклада

Тема: "Хранение данных"

  1. Когда нужно хранить данные

  2. Как можно хранить данные
    2.1 Файлики

    • Картинки, музыка, etc.
    • Можно хранить на карте памяти (общая память), можно в приватной папке приложения (тут можно ввернуть про владельца папки приложения в linux).
    • Постоянное хранение/кэш

    2.2 SharedPreference

    • Небольшой объём данных, НЕ списки, не объекты. Например: имя пользователя.
    • Режимы public/private

    2.3 База данных

    • Пара слов про реляционные базы данных (и картинки с таблицами)
    • Примеры простых SQL-запросов (CRUD)
    • Пример ORM-фреймворка (например active android)

    2.4 (Опционально) можно рассказать про Realm и транзакции, но это уже хардкор

Тема: "Разрешения"

  1. Почему в Android есть "Разрешения"?

  2. Разрешения до Android 6 и после (раньше все разрешения давались при установке)

  3. Виды разрешений
    3.1 Разрешения времени установки

    • интернет, чтение и отправка SMS ...

    3.2 Разрешения, запрашивающиеся один раз

    • Доступ к памяти, камере, микрофону, ...

    3.3 Разрешения, запрашивающиеся каждый раз

    • Bluetooth, GPS
  4. Обработка ситуации, когда пользователь не дал разрешение (или отменил позднее)

  5. User-friendly запрос разрешений (Пример: G+ -- показывают snackbar с кнопкой разрешить, клик поднимает диалог)

Тема: "Support library"

  1. Кратко о том, зачем нужны support library (для нивелирования фрагментации версий ОС)
  2. Какие есть support library (основные):
    2.1 v4 (fragment, actionbar)
    2.3 v7 (toolbar, preference activity)
    2.3 Design (Drawer, Floating action button)
    2.4 Card View
    2.5 Recycler
  3. Как правильно их подключать (про версии build tools и support library)

Тема: "Анимации"

  1. XML-анимации (старые)
  2. ValueAnimtor
  3. ObjectAnimator
  4. XML-анимации (новые, object/value animator в XML)
  5. Анимации с помощью View::animate(). Подводные камни translate и clipping. Пример "сложной" анимации (последовательность), например: открывается активити, картинка выезжает а-ля shared element transition, Floatung Action Button скейлится + reveal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment