Skip to content

strvcom/android-academy-2017

Repository files navigation

Academy Workshops

1. Tools & Project structure

  • Java
  • Kotlin
  • Android Studio
  • Project setup
  • SDK manager
  • Monitor/DDMS
  • Emulator
  • ADB
  • Gradle
  • Maven
  • Support libraries
  • Manifest
  • Project structure
  • Packages
  • Code formatter
  • Tech stack
  • Templates and utilities
  • Resources, news, dev support

2. Activities

  • Application class
  • Config class
  • Activity
  • Fragment
  • Lifecycle
  • Context

3. Layouts & Views

  • FrameLayout, LinearLayout, RelativeLayout
  • CoordinatorLayout
  • StatefulLayout
  • Basic views (text, button, checkbox, image, edittext, progress, webview)
  • Toolbar, FAB, NavigationView, SwipeRefreshLayout
  • Toast, Snackbar, AlertDialog
  • Intro to RecyclerView
  • Intro to ViewPager
  • Include, merge

4. Styles & Resources

  • Theme
  • Style
  • Text appearance
  • Resources (dimens, colors, strings)
  • Drawable (vector, shape, 9-patch)
  • Selector
  • Menu

5. Intents & Permissions & Notifications

  • Bundle, Parcelable
  • Start Activity
  • Implicit Intent
  • Intent filters
  • Deep linking
  • Permissions
  • Notifications
  • Broadcast receiver
  • Intro to SharedPreferences

6. Logging & Debugging

  • Monitor
  • Logcat utility
  • Debugger
  • Developer options in Settings menu
  • Tools

7. MVVM architecture

  • Model, View, ViewModel
  • Responsibilities of layers
  • Handling orientation change
  • Libraries

8. Data binding

  • Layout file, variables
  • Binding class
  • Events (lambda, method reference)
  • Include
  • Expressions
  • Observable (fields, collections, BaseObservable)
  • BindingAdapter
  • BindingConversion
  • Data binding & MVVM

9. RecyclerView & ViewPager

  • Adapters
  • ViewHolder pattern
  • RecyclerView, LayoutManager
  • ViewPager
  • Generic adapters

10. Dialogs

  • DialogFragment
  • Basic dialogs (simple, items, single/multi choice, progress, custom)
  • Bottom sheet
  • Data binding in dialog
  • Dialog theme
  • Arguments and result

11. Threading & Background tasks

  • Main thread
  • Handler
  • AsyncTask
  • Service
  • IntentService

12. RxJava (optional, advanced)

  • Basics (observable, special observables, observer)
  • Creators (just, create, from)
  • Operators
  • Schedulers, compose
  • Composite subscription
  • Flowable, backpressure, cold VS hot
  • Subject
  • RxManager, RestRxManager
  • RxBus

13. REST

  • OkHttp library
  • Interceptors
  • Retrofit library
  • GSON parser library
  • Call manager
  • Network utility
  • Retrofit & RxJava

14. Image processing & Media

  • Glide
  • Binding adapter
  • Picking image from gallery/camera
  • MediaPlayer
  • ExoPlayer

15. Database & Preferences

  • ORM (Room, DBFlow, ORMLite)
  • Realm
  • SharedPreferences, PreferenceFragment

16. Firebase (optional)

  • Web panel
  • Firebase realtime database
  • FCM
  • Firebase & RxJava

17. Map & Geolocation

  • Google APIs Console
  • Maps API
  • Geolocation

18. Animations

  • Property animations
  • Animations with CoordinatorLayout
  • Activity transitions
  • Page transformer

19. Testing

  • Unit tests
  • UI tests

20. Build & Deployment

  • Keystore
  • Gradle script
  • Build APK
  • Run tests
  • Play Store Developer Console
  • CI

21. Best practices & Guidelines

  • Best practices
  • Common mistakes
  • Preventing memory leaks
  • Android Coding Guidelines
  • Google Design Guidelines

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published