/VMIR

Resources for Development of mobile intelligent solutions class

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Development of Mobile Intelligent Solutions (abbr. VMIR)

This repo contains sources, labs and lectures for VMIR. It is taught during 5th semester for Bachelor's degree in Business Information Systems study programme.

News

Tune into keynotes from AndroidDevSummit CA, USA 7-8.11.2018

Lectures

  • Lecture 1 - Course organization, expected semester results & final exam. Basic construction of mobile apps
  • Lecture 2 - Resources, resource directories, modifiers, R class, drawables sizing, Gradle build script, SDK and platform tools ADB.
  • Lecture 3 - Data persistence in Room DB framework, Database abstraction concepts, Persisting data in files and shared preferences.
  • Lecture 4 - Live Coding - see sources beneath. - How to create a working application ecosystem with Server REST API (ASP.NET Core 2.1) and REST API client (Android app)
  • Lecture 4 - REST API Server - Sources for ASP.NET Core Web API server application. More description will be found inside.
  • Lecture 4 - REST API Client - Sources for Android app with Retrofit2 - consuming REST API responses. More description will be found inside.

Labs

Note: Guide to each Lab is located in each lab folder in README.md

  • Lab 0 - Repeating basic concepts in Java
  • Lab 1 - Layouts, activity, implicit and explicit intent
  • Lab 2 - RecyclerView, ViewHolder pattern, LayoutManager, list adapters (RecyclerView.Adapter)
  • Lab 3 - Runtime permissions, basic safe threading using AsyncTask, Room ORM, Write to internal storage (file), store constants in SharedPreferences
  • Lab 4a - Retrieving user's location using LocationListener and GPS provider
  • Lab 4b - Retrieving user's location using Google Play Services FusedLocationProviderClient and GPS provider
  • Lab 5 - Providing maps using map framework OSMDroid with Open Street Maps
  • Lab 6 - Consuming data from remote web REST APIs using RetroFit2 library
  • Lab 7 - Using indefinitely running background service to carry out location listening independent from activity lifecycle.
  • Lab 7a - Running batch jobs in a separate worker thread from any activity or service using IntentService.
  • Lab 8 - registering sensor listener and receiving data.
  • Lab 8a - using raspberry pi 3 with Android Things. Sample includes RC522 RFID r/w & BMP280 meteo sensor