Skip to content

Android Application Development

Rajesh Khadka edited this page Apr 4, 2019 · 6 revisions

Beginner

Android Components

  • Activity, Service, Broadcast Receiver and Content Provider
  • Life cycle of Components

Logging and using logcats

  • Using Logcat
  • Creating own functions for logging
  • Using logging library

Runtime Permission

  • Handling runtime permission
  • Using runtime permission library

Material Design

  • Material Design Concepts
  • Elevation
  • Ripple Effect
  • Typography
  • Material design guidlines
  • Toolbar
  • Floating Action button
  • Snackbar, Toast
  • Navigation drawer
  • Tablayout
  • BottomNavigationView
  • Dialog
    • Bottom Sheet Dialog
    • Alert Dialog
  • Chip

UI layout

  • Fragments
    • Fragments back stack
    • Fragments manager
    • Begin and commit fragment transaction
  • Constraint Layout
  • Coordinator Layout
  • Relative Layout
  • Linear Layout
  • Frame Layout
  • Card view

Adapters

  • Recyclerview
  • Recylerview Adapter
  • Card view
  • Deletion of Item
  • Addition of Item
  • Notify Dataset Changed
  • Item Decoration
  • Gridlayout Manager
  • ViewHolder
  • List Adapter
  • Nested Recyclerview
  • CliptoPadding

Internationalization and Localization

  • RTL support
  • Providing Alternative strings

Supporting Screens with Different Resolutions and Sizes

  • Using Configuration Qualifiers
  • Converting dp and sp to pixels
  • Text size and different Android screen sizes

Formatting Strings

  • Formatting String Resource
  • Formatting data types to String and vice-versa
  • Format a timestamp to string

Vector Drawables

  • Importing SVG file as VectorDrawable
  • VectorDrawable Usage example

Menu

  • Adding menu in toolbar
  • Menu Click Action

Progaurd

  • Why progaurd
  • Adding progaurd provided by library
  • Handling missing classes in the packages

Orientation Change

  • Persist data on configuration change

Retrofit

  • Gson
  • Okhttp
  • Retrofit
  • Request Interceptor
  • Response Interceptor
  • Retrofit ConverterFactory
  • Retrofit serializer
  • Network Logger
  • Retrofit Response Wrapper

Parcelable and Serializable

  • Parcelable
  • Serializable
  • Passing the parcelable and serializable class

Location

Themes and Style

  • Use android default theme and styles
  • Inherit Styles
  • Referencing theme attributes on UI elements
  • Primary Color, Primary Dark, Accent Color
  • Exploration of styles and themes in android sdk

Storage

  • Key-value storage
    • Shared Preferences
    • Using functions provided by androidx
  • SQLite
  • ORM
  • File
  • Libraries for the storage (Realm, Hawk)

Navigation

  • Intent
  • Deeplink

Android Jetpack

  • Android KTX
  • Data Binding
  • Lifecycles
  • LiveData
  • Navigation
  • Paging
  • Room
  • ViewModel
  • WorkManager

Uses of External Libraries

  • Retrofit
  • Glide
  • Hawk
  • Event Bus

Notifications

Multi-Threading

Animations and Transition

  • Shared Element Transition
  • Translate,Scale and Rotate

Android Architectures

  • MVVM
  • MVP
  • Clean Architecture

Application Deployment

  • App signing
  • App Release

Firebase


Advanced Android Development

  • Library Development
  • Custom Views
    • Create custom views
    • Create custom attributes
    • Draw on canvas
    • Create compound views
  • Component base design
  • Reactive Programming
  • Clean Code
  • Code Review
  • Architecture Setup
  • Unit Testing and Test Driven Development
  • Refactor Code
  • Library Customization
  • Problem Solving Techniques
  • Deployment Automation
  • Debugging Techniques
  • Performance Monitoring and controlling
  • Handling critical updates
  • Functional Programming
  • Kotlin coroutines
  • Multithreading( Looper, Handlers and Thread pool )
  • Dependency Injection
  • Continuous integration and Continuous Delivery
  • Performance monitoring tools
  • Crash Reporting tools
  • Saving passwords securely
  • Optimization
    • Progaurd
    • Memory Leaks
    • Memory Monitor
  • Design Patterns
  • Android Debug Bridge
  • Annotation Processor
  • Data Binding