Language Tutorials
Android Tutorials
🏛️ Architecture & Best Practices
📏 Layout
- ConstraintLayout
- Include + Merge Layouts
- Alternative Layout Resources
- DodgeInsetEdges
- Simple RecyclerView (Java)
- Simple RecyclerView (Kotlin)
➡️ Menus & Navigation
- Open Activity on Button Click
- Up Button
- Options Menu with Sub Items
- Popup Menu
- Floating Context Menu
- Contextual Action Mode
- BottomNavigationView
- Navigation Drawer
- Tab Layout with Fragments
🔠 Text, Input & Selection
- SearchView + RecyclerView
- RecyclerView EditText Search
- Translations Editor
- AutoSizing TextView
- Custom Fonts as Resources
- Downloadable Fonts
- FadingTextView
- TextSwitcher
- SpannableString Text Color
- SpannableString Text Style
- ClickableSpan
- android:onClick vs setOnClickListener
- OnClickListener for Multiple Buttons
- TextInputLayout
- Validate Email & Password (Regular Expressions)
- AutoCompleteTextView
- MultiAutoCompleteTextView
- Custom AutoCompleteTextView
- Mask EditText
- EditText Single Line
- ImeOptions
- TextWatcher Enable/Disable Button
- Radio Buttons & Radio Group
- Text Spinner
- Spinner with Custom Objects
- Custom Spinner
- IconSwitch
- SeekBar
🖌️ Usability & Styling
- Remove the ActionBar
- Toolbar
- Hide Soft Keyboard Programmatically
- KeyboardVisibilityEvent
- Easy Splash Screen
- Circular Determinate ProgressBar
- Circular Determinate ProgressBar with Background and Text
- Press Back Again to Exit
- Rate Me Button
- Android-Rate
🖼️ Fragments, Dialogs & Sheets
- Fragment newInstance
- Fragment to Fragment Communication with Interfaces
- Fragment to Fragment Communication with Shared ViewModel
- Fragment + Animation + Interface
- Simple AlertDialog
- AlertDialog + Interface
- Custom Dialog + Interface
- Override Dialog Button
- Persistent Bottom Sheet
- Modal Bottom Sheet
📲 Data Transfer & Data Persistence
- Open a New Activity and Pass Variables to It
- StartActivityForResult
- Parcelable
- Restore Variables on Configuration Change
- Write Text File to Internal Storage
- SharedPreferences
- Save ArrayList to SharedPreferences with GSON
- Execute Code on First Start Only
- SQLite + RecyclerView
- View SQLite Database from Emulator on PC
📬 Notifications & Messages
- Notifications & Notification Channels
- Custom Notification
- Custom Toast
- Custom Snackbar
- StyleableToast
- Toasty
- Toast Position
- Alerter
⚙️ Services & Background Tasks
- Foreground Service
- IntentService
- JobIntentService
- JobScheduler
- AlarmManager
- BroadcastReceiver
- Starting a Background Thread
- Looper Thread
- HandlerThread
- AsyncTask
- Handler postDelayed + Runnable
🌐 Networking & JSON
🎬 Animations & Transitions
- Slide Animation Between Activities
- Intent Animation
- Swipe View + Animations
- Slidr
- ViewFlipper
- AndroidViewAnimations
- Circular Reveal Animation
- Drawable Animations
- Shared Element Transition
- Animated Gradient Background
- KenBurnsView
🎨 Images & Colors
- Batch Import Images for Different Screen Resolutions
- 9 Patch Image
- Custom Button with Images
- Custom Button with ShapeDrawables
- Picasso
- Image Slider
- Picasso Image Slider
- BlurImageView
- Palette
- AmbilWarna (Color Picker Dialog)
- ColorSeekBar
- Generate a Random Color
🎞️ Media, Web & Phone
🕐 Date & Time
- DatePickerDialog
- TimePickerDialog
- TimeSquare/CalendarPickerView
- Get Current Date + DateFormat
- Get Future Date
- CountDownTimer
- Chronometer
🔧 System
- Change the Starting Activity
- Start App on Boot
- Keep the Screen On
- Change the App Icon (Adaptive Icons)
- Run Time Permission Request
- EasyPermissions
- PermissionsDispatcher
- Update UI Every New Minute
- Enable Developer Options
- WiFi State BroadcastReceiver
- Enable/Disable WiFi
🔥 Firebase
- Cloud Firestore
- FirebaseUI – FirestoreRecyclerAdapter
- Firebase Storage – Upload and Retrieve Images
- Simple Firebase Background Notification
🕹️ Games
⌨️ IDE & Productivity
- Migrate to AndroidX
- Android Studio Debugger
- Change Android Studio Theme
- Install More Android Studio Themes
- Logcat Change Text Color
- Live Templates
- Auto Generate Constructor + Getter/Setter
- Android Studio Code Shortcuts
- Android Studio Navigation Shortcuts
- Android Studio Bookmarks
- Android Studio Local History
- Android Studio Clipboard History
- Change Android Studio Text Size and Activate Zoom
- Change Package Name
- Use Fingerprint Sensor on Android Studio Emulator
- Delete Android Studio Emulators & System Images
- ADB Idea
- Exynap
- CodeGlance MiniMap
Ⓜ️ Misc
- App Widget
- Unfortunately App Has Stopped
- What is Context?
- What is @Override?
- The Activity Lifecycle
- Adding 2 Numbers
- Sort Array and ArrayList
Enjoy the content? Help me by sharing it below: