Naše kurzy
The course is aimed to teach you by practice programming of Android applications. There will be none or very limited amount of time spent with presentations and maximum time spent with programming. The materials provided will be the links to official documentation, interesting books or online trainings.
Requirements for the participants
- Currently obtaining degree in Software Engineering, Computer Science or similar
- Language
- English - able to understand and ask questions
- Devices
- Knowledge
- Intermediate-Advanced knowledge of Java
- Basic-Intermediate knowledge of XML
- None-Basic knowledge of Gradle/Maven
- Capacity
- 20 participants (3 for Concur)
Syllabus
- Lesson 1
- Introductions, course plan, description of big homework project
- Creating a new project in Android studio &project structure basics
- Resource introduction
- Layout introduction – Linear Layout, Relative Layout,
- Adding new elements: Button, TextView, EditText
- App built on lesson: Hello World, \\n my name is _____
- Lesson 2
- Constrain Layout, ImageView, ScrollView
- Layout composition from other layouts
- Activity lifecycle basics
- Intent/Bundle
- Adding a second Activity, editing AndroidManifest
- App built on lesson: Choose a button in one activity, display an image based on
that in another activity
- Lesson 3
- ListView & Adapter
- RecyclerView
- Reading/writing shared preferences
- App built on lesson: TODO list, adding a new TODO.
- Lesson 4 - Database
- Introduction to SQLite
- Working with the DB - insert, update, delete, DB upgrade
- Loaders
- App built on lesson: Something with a simple DB (two tables), basic Loaders,
showcase
- Lesson 5 - Async
- Long running operations and blocking the main thread
- AsyncTask
- Basics of Android Service & Offloading work to a service
- App built on lesson: Something that will execute for a long time, showcasing the
need to NOT block the main thread.
- Lesson 6 – Google Mobile Vision
- Discussion about progress on homework projects
- Introduction to basics of Face detection
- Introduction to basics of real-time OCR
- Lesson 7 - Fragments
- Discussion about progress on homework projects
- Fragment, FragmentManager, Fragment lifecycle
- Communication between Activity/Fragment
- App built on lesson: Something where Fragments would be an advantage, a fun
use of polymorphism
- Lesson 8
- Discussion about progress on homework projects
- Introduction to multi-module project
- Conversion of an application to library
- Lesson 9 - Networking
- Getting images from network – Picasso
- Network REST communication – Retrofit / JSON (using a lib)
- App built on lesson: Get list of pictures on the website, download and display
chosen picture
- Lesson 10 - Inter-app Communication
- Discussion about progress on homework projects
- Interaction with the Android ecosystem
- Data from other apps: CursorLoader, Cursor
- Intents to other apps: Camera, Phone, Email
- App built on lesson: Create a business card for a contact on my phone, add a
photo from camera. Be able to call/email from this card.
- Lesson 11 - Homework presentation
- During this lesson, you will present your project