Skip to content

Latest commit

 

History

History
58 lines (32 loc) · 4.41 KB

pmui2.md

File metadata and controls

58 lines (32 loc) · 4.41 KB

PMIU (Android) упражнения

1. Структура на андроид проект. Структура на AndroidManifest и gradle. Включване на външни библиотеки.

Да се разработи приложение, което зарежда растерен графичен файл от URL и го прилага на ImageView. Да се използва Picasso (https://github.com/square/picasso).

Допълнителна информация за средата на разработка Android Studio - https://github.com/tllw/pmiu/tree/master/exercise1

Bonus: да се реализира Callback известяващ при зараждане на графичния файл (успешно и неуспешно).


2. Андроид activity клас, намерения (Intent-и). Предаване на параметри чрез намерения. Constraint layout.


3+4. Lifecycle - Events - Callbacks


5+6. Adapter + Adapter use cases (ViewPager, List, etc). RecycleView


8+9. Fragments. FragmentManager, etc.


10+11. Асинхронна обработка на данни. AsyncTask. Handler. Runnables. UI thread.


12 + 13. MVP. MVVM. LiveData.


Курсови задачи

  1. Да се реализира приложение "Прогноза за времето", което при въведена локация да визуализира в подходящ стил прогноза на времето. Програмата да действа като асинхронен REST клиент на HTTP API. За реализация на заявките и десериализация на JSON да се използва Retrofit (https://github.com/square/retrofit).

  2. Да се реализира CRUD телефон указател, като се използва MVVM или MVP архитектура. Да се изберат подходящите структури данни и проектират подходящите обекти за репрезентиране на указателя и неговите елементи. Да се използват Android Architecture Components - ViewModel и LiveData.

  3. Да се проектира CRUD фитнес дневник (таблици: дни, видове упражнения, програми), чиито данни се съхраняват в sqlite база данни. Да се използва Room за абстракция на базата данни.

  4. Да се реализира известната игра Snake (змия).

  5. Да се реализира програма "GPS локатор", в която background service переодично проверява текущото разстояние до зададен обект (дефиниран от GPS координати, например 43.2228918, 27.9345786) и уведомява activity, което го показва на потребителя. Да се реализира функционалност, която позволява експлицитно опресняване на разстоянието.

  6. Да се проектира CRUD to-do приложение. Като всички UI функционалности, както и комуникацията между Model и View сe базират на ReactiveX observables. Да се използва RxJava2-Android.

Изисквания и препоръки