课程概况
Вы уже умеете работать с такими базовыми и простыми сущностями, как:
Context, xml, Activity, Fragment, SharedPreferences, различные View и так далее. Но этого не достаточно, чтобы написать хоть какое-то приложение, которое будет востребовано на рынке. В этом курсе мы:
* Рассмотрим как можно грамотно выстроить взаимодействие с многопоточностью в приложении
* Вспомним про инструменты и классы для работы с многопоточности из Java : Thread, Runnable, Callable, Future, Executors
* Рассмотрим работу инструментов для обеспечения многопоточности в Android AsynсTask, паттерн HaMeR, он же Handler-* * * Message-Runnable, Loader, ContentProvider
* Научимся правильно работать со списками
* Познакомимся с Room, чтобы вы имели представление о том, как должна происходить работа с БД.
* Научимся работать с сетью, расскажем и покажем стандарты в нашей области – okhttp3 и retrofit2
* Познакомим вас с миром реактивного программирования.
课程大纲
Многопоточность
Рассмотрим инструменты для обеспечения многопоточности из Java и Android, вынесем тяжелую работу в фоновые потоки, и научимся показывать уведомления. Вы освоите Service, IntentService, BroadcastReceiver, PendingIntent, Notification, AsyncTask,Handler, HandlerThread, Message, Runnable.
Хранение и отображение данных
Научимся работать со списками, а также хранить данные в базе данных. Также изучим RecyclerView, Adapter, ViewHolder, SwipeRefreshLayout, Runtime Permissions, AsyncTaskLoader, ContentProvider, Cursor, CursorLoader, FileSystem (Storage), Room (SQLite).
Работа с сетью
Настроим сетевой слой приложения и научимся показывать данные из сети. Также изучим HTTP, REST
, okhttp3, Retrofit2, GSON.
Реактивщина
Познакомимся с парадигмой реактивного программирования на примере RxJava2. Научимся работать с данными как с одним потоком и принимать решения прямо в одном месте.