Chapters
- Getting started with Android
- Layouts
- Gradle for Android
- RecyclerView onClickListeners
- NavigationView
- Intent
- JSON in Android with org.json
- Android Studio
- Resources
- Data Binding Library
- Exceptions
- Getting Calculated View Dimensions
- AsyncTask
- SharedPreferences
- Emulator
- Material Design
- Lint Warnings
- Service
- Storing Files in Internal & External Storage
- WebView
- Project SDK versions
- RecyclerView
- Google Maps API v2 for Android
- PorterDuff Mode
- 9-Patch Images
- Android NDK
- RecyclerView Decorations
- Camera 2 API
- ViewPager
- CardView
- HttpURLConnection
- SQLite
- ADB (Android Debug Bridge)
- ButterKnife
- Supporting Screens With Different Resolutions, Sizes
- Glide
- Retrofit2
- Dialog
- ACRA
- GreenDAO
- Formatting Strings
- Notifications
- AlarmManager
- Fragments
- Handler
- Creating Custom Views
- BroadcastReceiver
- Activity
- Snackbar
- Runtime Permissions in API-23 +
- Logging and using Logcat
- VectorDrawable and AnimatedVectorDrawable
- Tools Attributes
- Toast
- Interfaces
- Animators
- Location
- Theme, Style, Attribute
- The Manifest File
- Parcelable
- MediaPlayer
- Multidex and the Dex Method Limit
- Data Synchronization with Sync Adapter
- Menu
- Instant Run in Android Studio
- Picasso
- Bluetooth and Bluetooth LE API
- RoboGuice
- Memory Leaks
- Universal Image Loader
- Volley
- Widgets
- Date and Time Pickers
- Integrate Google Sign In
- In-app Billing
- FloatingActionButton
- ContentProvider
- Dagger 2
- Realm
- Unit testing in Android with JUnit
- Android Versions
- Wi-Fi Connections
- SensorManager
- Localization with resources in Android
- ProgressBar
- Custom Fonts
- Vibration
- Google Awareness APIs
- Text to Speech(TTS)
- UI Lifecycle
- Spinner
- Data Encryption/Decryption
- Testing UI with Espresso
- Writing UI tests – Android
- GreenRobot EventBus
- OkHttp
- Enhancing Android Performance Using Icon Fonts
- Handling Deep Links
- Canvas drawing using SurfaceView
- Firebase
- Crash Reporting Tools
- Check Internet Connectivity
- Facebook SDK for Android
- Unzip File in Android
- Android Places API
- Creating your own libraries for Android applications
- Gson
- Device Display Metrics
- TextView
- ListView
- Building Backwards Compatible Apps
- Loader
- ProGuard – Obfuscating and Shrinking your code
- Detect Shake Event in Android
- Typedef Annotations: @IntDef, @StringDef
- Capturing Screenshots
- MVP Architecture
- Orientation Changes
- Xposed
- Security
- PackageManager
- ImageView
- Gesture Detection
- Doze Mode
- Android Sound and Media
- SearchView
- Camera and Gallery
- Callback URL
- Twitter APIs
- Drawables
- Colors
- ConstraintLayout
- RenderScript
- Fresco
- Swipe to Refresh
- AutoCompleteTextView
- Installing apps with ADB
- IntentService
- AdMob
- Implicit Intents
- Publish to Play Store
- Firebase Realtime DataBase
- Image Compression
- Email Validation
- Keyboard
- Button
- TextInputLayout
- Bottom Sheets
- CoordinatorLayout and Behaviors
- EditText
- Android PayPal Gateway Integration
- Firebase App Indexing
- Firebase Crash Reporting
- Displaying Google Ads
- Android Vk Sdk
- Localized Date/Time in Android
- Count Down Timer
- Barcode and QR code reading
- Otto Event Bus
- TransitionDrawable
- Port Mapping using Cling library in Android
- Creating Overlay (always-on-top) Windows
- ExoPlayer
- Inter-app UI testing with UIAutomator
- MediaSession
- Speech to Text Conversion
- FileProvider
- XMPP register login and chat simple example
- Android Authenticator
- RecyclerView and LayoutManagers
- AudioManager
- Job Scheduling
- Accounts and AccountManager
- Integrate OpenCV into Android Studio
- Split Screen / Multi-Screen Activities
- Thread
- MediaStore
- Time Utils
- Touch Events
- Fingerprint API in android
- MVVM (Architecture)
- BottomNavigationView
- ORMLite in android
- Youtube-API
- TabLayout
- Retrofit2 with RxJava
- DayNight Theme (AppCompat v23.2 / API 14+)
- ShortcutManager
- LruCache
- Jenkins CI setup for Android Projects
- Zip file in android
- Vector Drawables
- fastlane
- Define step value (increment) for custom RangeSeekBar
- Getting started with OpenGL ES 2.0+
- Check Data Connection
- Android Java Native Interface (JNI)
- FileIO with Android
- Performance Optimization
- Robolectric
- Moshi
- Strict Mode Policy : A tool to catch the bug in the Compile Time.
- Internationalization and localization (I18N and L10N)
- Fast way to setup Retrolambda on an android project.
- How to use SparseArray
- Firebase Cloud Messaging
- Shared Element Transitions
- Android Things
- VideoView
- ViewFlipper
- Library Dagger 2: Dependency Injection in Applications
- Formatting phone numbers with pattern.
- How to store passwords securely
- Android Kernel Optimization
- Paint
- AudioTrack
- What is ProGuard? What is use in Android?
- Create Android Custom ROMs
- Java on Android
- Pagination in RecyclerView
- Genymotion for android
- Handling touch and motion events
- Creating Splash screen
- ConstraintSet
- CleverTap
- Publish a library to Maven Repositories
- adb shell
- Ping ICMP
- AIDL
- Android programming with Kotlin
- Autosizing TextViews
- Sign your Android App for Release
- Activity Recognition
- Secure SharedPreferences
- Secure SharedPreferences
- Bitmap Cache
- Android-x86 in VirtualBox
- JCodec
- Design Patterns
- Okio
- Google signin integration on android
- TensorFlow
- Android game development
- Notification Channel Android O
- Bluetooth Low Energy
- Leakcanary
- Adding a FuseView to an Android Project
- Accessing SQLite databases using the ContentValues class
- Enhancing Alert Dialogs
- Hardware Button Events/Intents (PTT, LWP, etc.)
- SpannableString
- Looper
- Optimized VideoView
- Google Drive API
- Animated AlertDialog Box
- Annotation Processor
- SyncAdapter with periodically do sync of data
- Create Singleton Class for Toast Message
- Fastjson
- Android Architecture Components
- Jackson
- Google Play Store
- Loading Bitmaps Effectively
- Getting system font names and using the fonts
- Smartcard
- Convert vietnamese string to english string Android
Source : http://goalkicker.com/AndroidBook/