1. Kotlin Basics
- Basic Syntax
- Idioms
- Coding Conventions
Basics
- Basic Types
- Packages
- Control Flow
- Returns and Jumps
Classes and Objects
- Classes and Inheritance
- Properties and Fields
- Interfaces
- Visibility Modifiers
- Extensions
- Data Classes
- Generics
- Nested Classes
- Enum Classes
- Objects
- Delegation
- Delegated Properties
Functions and Lambdas
- Functions
- Lambdas
- Inline Functions
Other
- Destructuring Declarations
- Collections
- Ranges
- Type Checks and Casts
- This expressions
- Equality
- Operator overloading
- Null Safety
- Exceptions
- Annotations
- Reflection
- Type-Safe Builders
- Dynamic Type
Interop
- Calling Java from Kotlin
- Calling Kotlin from Java
Objectives : Knowing Basics of Kotlin Language
2. Android Introduction
- IDE and SDK
- First App using Android Studio
- Project Structure and resource directories
- Activity and Fragment Lifecycle
- Emulator vs real device
- Android Manifest and Permissions/Runtime Permissions
- Gradle
- Intents (Explicit and Implicit)
Objectives:
Knowing Basics of android and becoming familiar with Development IDE
3. UI Basics
- Widgets
a. TextView
b. Button
c. EditText
d. Spinner
e. CheckBox
f. Radio Button
g. ImageView - Layouts (ConstraintLayout, RelativeLayout, FrameLayout, LinearLayout, etc)
- [dp, sp] versus px
- Custom drawables
a. Drawable
b. Shape
c. Selector - Using Font Icons — rem
- Styles/Themes
- Ripple Effect
Assignment :
Create Login Form and User Identity form
Objectives :
One should be able to build an app (Putting all the knowledge together)
4. Alerts and Dialogs
- Toast
- Menu
- Popup Menu
- Alert Dialog
- Custom Dialog
5. Navigation, Tabs, Fragments
- Toolbars
- Navigation Drawer
- Tabs
- Viewpager
- Fragments
- Dialog Fragment
- Fragment Pager Adapter
- Communication between Fragments
6. Recyclerview and Adapters
- List and Hashmap
- Recyclerview
- GridView and Staggered View
- ViewHolder
- Adapters
- DiffUtil
- Nested Recyclerview
7. Concurrency
- Thread /Runnable Handler – rem
- AsyncTask With examples – rem
- Service
8. Data Storage
- Shared Preferences
- File Storage
a. Reading and Writing Sd card - Database : SQLite
a. . SQLite Basics - Creating database
- CRUD operation
- Content Provider
Assignment:
Database Related Project.
Taking input from the Form and saving it to the database and display the information in Recyclerview.
Objectives:
Knowing use of Database.
9. Data Exchange format
- Json/Xml
- Parsing json using Retrofit
- Multipart Uploads
- Loading remote images using Glide Library.
Assignment:
Create an app using open source API.
10. Notifications
- Broadcast Receivers
- Services and notifications
- Alarms
11. Some Advanced Topics (Brief)
- Material design and its implementation
- Permission Handling
- Integrating external libraries
- Location, Maps, GPS
- How and what you need to publish App
- Introduction to VCS (Github/bitbucket)
12. Final Project
- Weather app using forecast.io
- Movie app using imdb
- Calculator App
- FM Streaming App