From BC$ MobileTV Wiki
Revision as of 05:35, 4 July 2022 by Bcmoney (Talk | contribs)

Jump to: navigation, search
Android - the open source operating system for mobile devices[1]

Android is the codename (and now working name) of the open source mobile operating system (Mobile OS) project started and currently being lead by Google. Android is to be the core physical product of the labors of the Open Handset Alliance.

HTC touch, the first majorly successful Android mobile phone by Samsung


OS Versions

There's a predictable annual "release cycle" for Android versions:

Android release-cycle.png

[2] [3] [4] [5] [6] [7]



Unofficial name, it was actually still just called Android in the public (and internally they used the term "le petit four").







Ice cream sandwich









No official codename so let's go with "Quindim" (a Brazilian dessert).

[16] [17][18] [19]

R (11)

"Rocky Road" squares are probably one of the best unofficial codenames.

As of Android "R" (11.0 release), the Android platform will now be numbered, and "sweets names" or letters will only be used as a working title internally by Google & OEM partners prior to platform updates, simplifying the "annual to semi-annual" major platform updates.

[20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]


Codenames have returned with "Snow Cone".

[31] [32] [33] [34] [35] [36] [37] [38] [39]


Codenamed "Tiramisu" (but its hidden in Dev preview code).

[40] [41] [42] [43] [44] [45] [46]



[47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57]

Device versions

In comparison to the primary Mobile OS competitor, Apple's iOS, there have been a massively broad variety of Devices released with various combinations of minimum and maximum supported (and upgradeable) Android platform OS version ranges.

[58] [59] [60] [61] [62]


Google entered the Device manufacturing market as their own OEM after first parterning with (and acquiring a majority stake in) the Motorola electronics company. This was later sold off to Lenovo (group built success in PC market after acquiring the IBM ThinkPad product line), at which point Google invested into building their own Device manufacturing arm, citing mainly a desire to fully control the design, development, testing, production, distribution and maintenance/support phases.

[63] [64] [65]


[66] [67]




[70] [71] [72]


The primary vendor OEMs other than those listed above include:

A number of other prominent vendors have "dabbled" into the platform for reasons ranging from "if you can't beat'em join'em" to simply trying to cache in on the Mobile market and Android's notoriety, including:

  • Microsoft (have scrapped their prior Windows Mobile & Windows Phone OS offerings)
  • Blackberry (formerly called RIM, have all but scrapped the BlackBerryOS)
  • HP (briefly launched a Tablet product line but now focusing back on PCs and full Windows Tablets)[73]
  • Dell
  • Toshiba
  • Lenovo
  • Palm
  • Archos
  • Alacatel-Lucent
  • Barnes & Noble ("Nook" series and related E-Books & reader tablets)

Some brands known for more poorly performing, or, simply intentionally lower-powered, cheaper/low-end devices:

  • Oppo
  • OnePlus
  • BBK Electronics
  • BQ Aquaris

[74] [75] [76] [77] [78] [79]

Virtual Environments

A number of platforms support loading Android apps on non-Android Operating Systems, such as:

  • BlackBerry 10
  • Amazon Fire OS
  • Windows 11
  • BlueStacks
  • MEMu
  • Genymotion
  • AnBox
  • Nox App Player


Development Environments

Android Studio

[81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

Programming Languages

Java (Dalvik)

See: Java#Dalvix


See: Kotlin


See: Mobile Testing

Unit Testing

See: JUnit

Instrumented Testing

[93] [94] [95]

UI Automator









The core, original Android platform was designed to run on SmartPhones, and was later extended to support a broader variety of screen sizes, capable of running on anything from a small "feature phone" (original before DPI/PPI-scaling was 320x240) to a standard high-resolution scaled SmartPhone display (768x1024). As of Android 4.0 a platform resdesign broguht in support for much larger Phablet phones (some as high as 2960x1440 DPI/PPI-scaled) up to full tablets (starting at 1366x768 unscaled up to 2224x1668 DPI/PPI-scaled), which actually enabled Android to be used for a number of larger other types of display such as TVs or Kiosks (starting at 1920x1080 before DPI/PPI-scaling up to 3840x2160 all the way up to 4K 4096x2304 or 8K 7680x4320).


Android TV

The development of a large number of "Android TV boxes" as of Android 4.x which were primarily software-based .

[100] [101] [102] [103]

Android Wear

SmartWatches, Fitness Bands/Trackers, and similar wearable devices.

Android Things

Android-based mini operating system (OS) for embedded devices and micro-controllers such as Raspberry PI, Arduino, etc.


Android Auto


Announced at GoogleIO 2018[105], Android Jetpack is a collection of reusable, purpose-built, highly-performant and customizable software components for the Android platform which help us in building great Android apps in a consistent manner across the various media/devices the Android platform supports (Android Mobile/Tablet, TV, Wear, Things).

These software components help in:

  • Following the best practices and providing IDE auto-complete and/or templates to avoid needing to re-write any necessary boilerplate code
  • Making complex concerns such as managing activity lifecycles, surviving configuration changes, preventing memory leaks, and passing/persisting data much simpler

The JetPack software components have been arranged into 4 distinct categories:


[106] [107] [108] [109] [110]


AndroidX is a major improvement to the original "Android Support Library" (ASL), which is no longer maintained but still functions for Android OS versions 1-9. There are Androidx packages to replace each Support Library, providing feature parity and also provide unique new features through additional libraries. Artifacts within the "androidx" namespace comprise the Android Jetpack libraries. Like the Support Library, libraries in the androidx namespace ship separately from the Android platform and provide backward compatibility across Android releases.

[111] [112] [113] [114] [115]

Foundation Components

Architecture Components

[116] [117] [118] [119] [120] [121]

Behavior Components


"Compose" is a library that offers a set of UI Components that can replace much of the XML-based UI configuration which was previously required for all native Android apps.





Project Mainline

Cite error: Closing </ref> missing for <ref> tag





[127] [128] [129] [130] [131] [132]





Privacy Dashboard

[133] [134]



[135] [136] [137] [138] [139]


[140] [141] [142] [143] [144] [145] [146]

Dynamic Bundle loading

[147] [148] [149] [150]




[152] [153] [154]






[155] [156] [157] [158]



[159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176]

Machine Learning


[177] [178]





[194] [195] [196] [197] [198]

File System







[200] [201]


[202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221]

Android Beam (discontinued)

[222] [223] [224] [225]

Nearby "Sharing/Fast Share"

Nearby Sharing (also referred to as FastShare) is the name of the successor of the "Android Beam" feature for "local network"-based file sharing over WiFi-Direct/NFC/Bluetooth.

[226] [227] [228] [229]

Development concepts


[230] [231]

  • Re-using layouts with <include/>:


[233] [234] [235]




[239] [240] [241]

Manifest XML

The Manifest XML

[242] [243] [244]

App Links

Standard App links - linking into a specific app from a standard web link (URL) - take the format:<package_name>&launch=true

[245] [246] [247] [248]

Activity Intent Deep-Linking

You can also "deep-link" from the web into specific screens (Activities) of your Android app using Intents.

[249] [250] [251] [252]

Android assetlinks.json

Further to app-linking and deep-linking, you can also "asset-link" which will enable automatically launching a specific App/Activity/Intent combination based on a two-way configuration between your app and your website, using "./well-known/assetlinks.json" file on your web server, and a specific "<intent-filter>" configuration within your app's "AndroidManifest.xml" file.

[253] [254] [255] [256] [257] [258] [259] [260] [261]

Instant App

[262] [263]


Abbreviated displays of part of an app's full capabilities, shown on the lock screen and/or notification center.

Manifest JSON

The Manifest JSON configuration file enables both PWA features, and, enhanced deep-linking between Web & Mobile App experiences. This file typically lives on the web server to help in associating a website or WebApp to a corresponding Mobile App. It typically lives in the ".well-known" path, such as:

Though it could just be placed in the root director as well.

[264] [265]




[266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281]


[282] [283]



[285] [286]


[287] [288] [289] [290] [291]

Google Play

The Google Play! store (formerly Google WebStore), is the online marketplace for downloading games, apps, ringtones, content, etc for your Android mobile device.

[292] [293] [294]






[316] [317] [318][319] [320] [321] [322] [323]


[329] [330]

[331] [332] [333] [334] [335]

[336] [337] [338] [339] [340] [341] [342]

[343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353]

[356] [357]

[358] [359] [360] [361] [362] [363] [364] [365] [366] [367]


[370] [371] [372]

[373] [374]

[377] [378] [379]


[388] [389]

[390] [391] [392]

[393] [394]


[397] [398] [399]


[405] [406] [407] [408]

[409] [410] [411] [412] [413] [414]

[417] [418] [419] [420] [421] [422]

[432] [433]


[435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451]

[453] [454] [455]


[462] [463] [464] [465] [466] [467] [468]

[475] [476] [477]

[502] [503]


[507] [508]

External Links

[509] [510]


  1. ANDROID Robot + Logo: Portions of this page are modifications based on work created and <a href="">shared by Google</a> and used according to terms described in the <a href="">Creative Commons 3.0 Attribution License</a>.
  2. wikipedia: Android version history
  3. wikipedia: List of features in Android
  4. Android versions -- A living history from 1.0 to 11:
  5. The ugly truth behind Android's OS version/capabilities upgrade problem:
  6. Retrieving Android API version programmatically:
  7. The 10 Greatest Versions of Android, Ranked:
  8. wikipedia: Android Ice Cream sandwich
  9. wikipedia: Android Jelly Bean
  10. wikipedia: Android KitKat (4.4, API 19-20)
  11. wikipedia: Android Lollipop (5.0, API 21-22)
  12. wikipedia: Android Marshmallow (6.0, API 23)
  13. wikipedia: Android Nougat (7.0, API 24-25)
  14. wikipedia: Android Oreo (8.0, API 26-27)
  15. wikipedia: Android Pie (9.0, API 28)
  16. wikipedia: Android Q (10.0, API 29)
  17. Android Q -- Everything you need to know!:
  18. Welcoming Android 10!: (2019-09-03)
  19. Google cuts the sugar out of Android with a simplified name and fresh logo :
  20. wikipedia: Android 11 (11.x aka "R", API 30)
  21. Turning it up to 11 - the first Developer Preview of Android 11:
  22. Android 11 - Developer preview highlights:
  23. Top Features of Android 11 from Developer’s Point of View:
  24. Android 11 timeline -- Three developer previews, first beta in May, and Q3 2020 launch:
  25. Android 11 release date and what we know about the upcoming OS upgrade:
  26. Android 11 preview released -- These are the top new features:
  27. Google releases Android 11 developer preview earlier than expected:
  28. The first Android 11 developer preview has already landed:
  29. Android 11 roundup -- Everything new with Android 11:
  30. How to install the Android 11 Developer Preview on Google Pixel devices (VIDEO):
  31. First preview of Android 12:
  32. Google Will Let You Opt Out of Being Tracked by Apps in Android 12:
  33. Android 12 Beta 2 adds more privacy features:
  34. Android 12 Beta 4 reaches "Platform Stability":
  35. What Is Android 12L?:
  36. Google Brings Back Dessert Codenames For New OS, Names Android 12 ‘Snow Cone':
  37. "Material You" Coming to more Android devices near you:
  38. Android 12’s “Material You” Is Coming to These 5 Phones: (sSmsung,
  39. How to Install Android 12L on a Google Pixel:
  40. The first developer preview of Android 13:
  41. Google debuts Android 13 with its first developer preview:
  42. Android 13’s Developer Preview Boosts Your Photo Privacy:
  43. Android 13 Is Named After the Classic Italian Dessert:
  44. Yep, Android 13’s dessert codename is ‘Tiramisu’ after all:
  45. Android 13 Phones Can Run Windows 11, Here’s Why:
  46. Android 13 deep dive -- Every change, thoroughly documented:
  47. Google is working on software that could eventually replace Android:
  48. Google Fuchsia - Armadillo Smartphone OS, Not Based on Linux, Spotted in Images and Video:
  49. Fuchsia OS Spotted on Google's Android Open Source Project (AOSP), Said to Natively Support Android Apps:
  50. Is Fuchsia going to replace Android? Flutter with Fuchsia next big thing?:
  51. What is Google’s Fuchsia OS?:
  52. Leaker says Samsung will probably switch to Google’s mysterious new mobile OS:
  53. Google might have quietly teased the OS that will replace Android:
  54. Google’s mysterious OS (Fuchsia) that might replace Android just reached a new milestone -- Bluetooth Cerification (Google Sapphire 1.0 Bluetooth Core Host Solution):
  55. Google Fuchsia First Beta to Replace Android, Chrome OS: How to Download?:
  56. Report -- Google's new Fuchsia OS could replace Android - or not:
  57. Why Google's Fuschia won't replace Android and Chrome OS:
  58. How to Find Out What Model of Android Phone You Have:
  59. Top Android phone manufacturers:
  60. Top 10 Smartphone OEMs Listed, 6 Of Them Are From China:
  61. New report compares Android OEMs - Motorola is the fastest with updates, Sony has lowest crash rate:
  62. What are "Android Skins"?: (custom "entire OS" themes/styling/gestures/default-apps/settings)
  63. Google Nexus vs Google Pixel -- What's the difference?: (Nexus is designed & manufactured by Google partners based on Google's specs: Samsung, LG, Motorola, Nokia; whereas Pixel is fully designed, developed, manufactured, distributed & supported by Google, but some phases still having strategic partner involvement such as Intel design & HTC manufacture)
  64. Google Nexus vs Google Pixel - What's the difference?:
  65. Google Pixel starts to challenge Samsung in UK Android market:
  66. Samsung Galaxy S7:
  67. wikipedia: Category:Android_(operating_system)_devices
  68. List of Android 10 Supported LG Devices:
  69. wikipedia: HTC Sense
  70. wikipedia: Google Nexus
  71. wikipedia: Nexus One
  72. What Was HTC Sense, and How Did It Change Android?:
  73. HP abandons low-end Android tablets to focus on profitability with iPad-like prices:
  74. wikipedia: Android_One#Products_by_year_of_announcement_or_release (intentionally low-powered/lower-end/cheaper Android devices from well-known Android OEMs)
  75. Stock Android vs Android One vs Android Go:
  76. IDC data shows 66% of Android's 81% smartphone share are junk phones selling for $215 or less (high "designed for the dumb" likelihood, in network-limited markets, leading to low real-world usage outside of calls/texts):
  77. Cheap smartphones have a disturbing secret:
  78. Best budget phones you can buy (January 2020):
  79. Apps with great experiences on large screens:
  80. Why Windows 11’s Android apps are better than BlueStacks:
  81. The powerful Android Studio: (animated GIFs of some key new feature as of 2016)
  82. How I automated creating files for a new screen with my own Android Studio plugin:
  83. Android Studio - Debug Your App: (steps for when you want to debug a native or hybrid app and have access to the code)
  84. Android Studio - Create and Edit Run/Debug Configurations:
  85. How to Debug Android application line by line using Eclipse?:
  86. How to increase the font size in Android Studio?:
  87. Search all the occurrences of a string in the entire project in Android Studio: (CTR+SHIFT+F shortcut to "Find All in Project")
  88. My Android Studio project keeps running my old project/application:
  89. How to fixed if it won't run unless I update "google play service" in android studio:
  90. How To Change Package Name In Android Studio:
  91. Quick search on filename Android studio: (double-type SHIFT key for "Search All" across all IDE including settings, CTRL+SHIFT+N to "find by filename" similar to Eclipse/Netbeans)
  92. How to get the package name of current launcher in Android?:
  93. Developing Android unit and instrumentation tests (in Java) tutorial:
  94. Android Testing - How to Perform Instrumented Tests (in Kotlin): | BACKUP
  95. A guide to test pyramid in Android — Instrumented tests — Part 3:
  96. Friendspell: (Party icebreaker game based on the Google Nearby API, with usages of Unit Tests, Instrumentation Tests, Espresso UI Tests)
  97. Getting The Most Out Of Android Lint:
  98. Little more about ProGuard for Android:
  99. TV resolution confusion: 1080p, 2K, UHD, 4K, 8K, and what they all mean:
  100. Channels on the home screen:
  101. How to Force Close Apps on Android TV:
  102. How to Customize the Android TV Home Screen:
  103. How to Use Your Android Phone as a Google TV Remote:
  104. IoT, Android Things, and the Cloud:
  105. Android gets a Jetpack:
  106. What is Android Jetpack and why should we use it?:
  107. What exactly is Android Jetpack?:
  108. Android JetPack - Navigation Architecture Component:
  109. Using the Navigation Component (from JetPack) in a modular world:
  110. The State of Navigation in Jetpack Compose:
  111. How AndroidX changes the way we work with Activities and Fragments:
  112. Migrating to AndroidX - tips, tricks, and guidance:
  113. Restitching Plaid: (migrating to AndroidX)
  114. Patchwork Plaid — A modularization story:
  115. Loaders in Support Library 27.1.0: (basically any call to getLoaderManager() becomes LoaderManager.getInstance(this) so the code will need changing to LoaderManager.getInstance(this).initLoader(LOADER_ID, null, this);)
  116. What are Android Architecture Components?:
  117. Architecture Components - Easy Mapping of Actions and UI State:
  118. Android Architecture Components -- Lifecycle example using Camera access use-case:
  119. Architecture Components - Easy Mapping of Actions and UI State:
  120. Architecture Components & MVP / MVVM:
  121. Introducing Android Sunflower:
  122. A modern approach to Android development, with Jetpack Compose and more!:
  123. Jetpack Compose is now 1.0 -- announcing Android’s modern toolkit for building native UI:
  124. ShapeableImageView — "Material Components" for Android:
  125. Android Open Source Project:
  126. Run Multiple Apps, All At Once on Android-Powered Phones:
  127. Scan Barcodes with ML Kit on Android:
  128. QR Code Scanner – Barcode Scanner for Android:
  129. Android Barcode Reader and Qr Code Scanner using Google Mobile Vision:
  130. Android SDK -- Create a Barcode Reader - ZXing (Zebra Crossing):
  131. Android QR Code Scanner Tutorial using Zxing Library:
  132. Creating a Barcode Scanner using Android Studio:
  133. What Is the Privacy Dashboard on Android?:
  134. Android 13's privacy dashboard prepares to show you the big picture:
  135. Create an Android library:
  136. Why your Android Studio takes forever to build:
  137. Why your Android Studio takes forever to build-Part 2:
  138. How Linux kernel interfaces with android runtime and libraries?:
  139. How to publish and distribute your Android library:
  140. wikipedia: Android_application_package (Android application Package)
  141. What does APK stand for? What is the internal format?:
  142. Getting inside APK files:
  143. APK vs AAB - Why Is Google Changing Android’s App Format?:
  144. What Is an Android App Bundle (AAB)?:
  145. A Practical Guide to Android App Bundle for Beginners:
  146. R8 Shrinking in Android:
  147. Android Tutorial - How to reduce Android app size?:
  148. Reduce APK size:
  149. 5 Easy Hacks To Reduce The Android APK Size:
  150. Twitter uses app bundles to keep their app featherweight, reducing its app size by a third: http://
  151. How to Disable Automatic App Updates in Android:
  152. Ten New Features in Android 10:
  153. Google’s Digital Wellbeing is schooling Apple on how to combat smartphone addiction:
  154. Android Digital Wellbeing - How to sign up, set up, and break your bad habits:
  155. Where are notepad notes stored?:
  156. Where does Huawei Ascend Y300 store "Notes"?: (initially stored in /data/data/ in SQLite format in a file called note_pad.db but this seems to have changed in later Android versions)
  157. How to Trans­fer Notes to a New Phone:
  158. How to Transfer Notes from Huawei to Samsung (2020):
  159. Firebase Test Lab:
  160. Firebase Android Codelab - Build Friendly Chat (in Java): | SRC
  161. How to get the SHA-1 fingerprint certificate in Android Studio for debug mode?:
  162. Compile OpenSSL 1.1.1 for Android application:
  163. Firebase Android Codelab - Grow Friendly Chat: | SRC
  164. Firebase Quickstart Samples for Android
  165. Firebase docs -- Authenticating Your Client: (Mac/Linux and Windows versions of the command... basically swap "~" for "%USERPROFILE%")
  166. Firebase docs -- Manage Users in Firebase:
  167. Firebase docs -- Authenticate with Firebase using Password-Based Accounts on Android:
  168. Can't login my App using Firebase:
  169. Firebase Android - Google Sign In Failure:
  170. Google SignIn Fails with code 10 (on Android):
  171. Facebook login & Google sign in not working on Android app in production?:
  172. Firebase docs -- Understand Firebase Realtime Database Rules:
  173. Firebase docs -- Security quick start:
  174. Firebase docs -- Authenticate with Firebase Anonymously on Android:
  175. Firebase docs -- User Based Security:
  176. Signed APK build failure collision:
  177. Difference between SurfaceView and View?:
  178. Android UI Internal -- SurfaceView Vs View:
  179. Porter/Duff Compositing and Blend Modes:
  180. Animate all the things - Transitions in Android:
  181. How to get package name of camera application:
  182. Google Camera:
  183. Taking pictures with camera on Android programmatically:
  184. Android - Camera API example:
  185. Taking Photos Simply:
  186. Android’s New Image Capture from a Camera using File Provider:
  187. Android dev docs -- Build a Camera App:
  188. Android dev docs -- Control the camera (Camera 2.x API):
  189. Understanding Camera2 API from callbacks: Part 1 | Part 2
  190. Google - Camera2 basic example:
  191. Android CAMERA2 API example tutorial:
  192. How to use Android's camera or Camera2 API to support old and new API versions without deprecation notes?:
  193. The least you can do with Camera2 API:
  194. Google Codelabs -- Android - Getting Started with CameraX:
  195. Android CameraX - overview: | SRC
  196. CameraX - An Introduction:
  197. Introduction to Android’s CameraX With Java:
  198. What’s new in CameraX:
  199. How to Wirelessly Transfer Files from Windows to Android:
  200. Turn cookies on or off:
  201. How to Install Chrome Browser on Android TV:
  202. Google's Android Dev blog -- Developer tools to debug WebView in beta:
  203. The Crosswalk Project: (prior way to get Chrome into a WebView, before Google officially started making Chrome the default browser AND WebView rendering engine)
  204. Android 4.4+ KitKat ships without browser app. OEMs have to license Chrome or build their own:
  205. Use Chrome as render engine for Android webview:
  206. Is it better to use Android System Webview when not using Chrome as default browser?:
  207. Google explains how Chrome will become WebView in Android 7.0 (Nougat):
  208. Google Chrome to Replace WebView in Android 7.0 Nougat:
  209. Change to Chrome Web Browser in Android?:
  210. Why is the Android stock browser still alive?:
  211. example of Native Mobile App PDF conversion:
  212. Android PDF not loading in browser and WebView:
  213. Google dev docs -- Android - PdfRenderer: (added in API level 21)
  214. Rendering PDFs on Android the easy way:
  215. Rendering a PDF Document in Android Activity/Fragment (Using PdfRenderer):
  216. Rendering PDF Document’s in Android using PdfRenderer:
  217. How to render PDF in Android (using Intent and/or App chooser):
  218. Open PDF file from sdcard in Android programmatically:
  219. How can I display a PDF document into a Webview?: (by loading the PDF from URL to local temporary PDF file)
  220. How to render PDF in Android: (using Google Docs - PDF viewer)
  221. PDF Rendering in Android App — from raw/assets and internal storage:
  222. Android Beam - why you should care about this hidden gem:
  223. How to use Android Beam to send files and photos:
  224. How to Use Android Beam to Wirelessly Transfer Content Between Devices (on OS versions that support it):
  225. Android Q won't have Android Beam (API/service has been deprecated and is now getting removed):
  226. Android Beam’s replacement will be called Nearby Sharing:
  227. Google working on ‘Fast Share,’ Android Beam replacement and AirDrop competitor:
  228. How to Send Apps Between Android Devices:
  229. AirDrop for Android - How to Use Android Nearby Share:
  230. Three Key Lessons When Migrating from RelativeLayout To ConstraintLayout:
  231. ConstraintLayout in the LIMELIGHT:
  232. Learning ConstraintLayout — 🚀Live Templates for Rescue:
  233. How to make a custom FrameLayout with a cover?:
  234. Enabling the `onClick` method in a custom FrameLayout view:
  235. Android showcase designs UX and Android touch gestures: | SRC
  236. Android - How to find which tab is active in a tablayout?: (getSelectedTabPosition provides a "zero-based" index of the currently selected Tab)
  237. Android ListView with icons/images ….and “sharks with lasers”:
  238. Back to Top -- Android vs. iO:
  239. Android docs -- Quick Settings - Tile:
  240. Quick Tip -- Create a Custom Quick Settings Tile for Android:
  241. Full-Screen Intent Notifications — Android:
  242. Android -- Getting “Manifest merger failed” error after updating to a new version of gradle: (add in a compilation block to the bottom of the Gradle build script)
  243. Supercharging your app development speed with custom file templates:
  244. android.useDeprecatedNdk=true is no longer supported:
  245. Google -- Android dev docs - Linking to Google Play store:
  246. Google -- Android dev docs - App Link indexing:
  247. How to directly open any given app dashboard home page inside Play Store on programmatically from an Android app:
  248. How to link to Android Market app:
  249. Android Deep Linking (from web to native app) guide:
  250. Intro to Deep Linking on Android:
  251. The 15 best tips and tricks for Chrome on Android:
  252. Android Deep Linking (SLIDES):
  253. What is the "assetlinks.json" file for, when using Android deep links?:
  254. How to implement Android App Links with wildcard domains?:
  255. Android Studio - Add Android App Links:
  256. Android docs -- Handling Android App Links:
  257. Verify Android App Links:
  258. Handling specific routes in Android M app links:
  259. Intent Filters and android:pathPattern:
  260. App links intent filters in assetlinks.json not working on Android: (look out for "Windows line-breaks", and keep in mind it would only work on Android 6.0, API 23 or later)
  261. How to setup /.well-known/assetlinks.json on Google AppEngine Web App (Java):
  262. Digital Assets Link InstantApp link to my website:
  263. A Guide to Android Instant Apps:
  264. MozDev -- PWAs - Web App Manifest:
  265. Can I Use -- PWA & Manifest JSON - Add to home screen (A2HS):
  266. Android dev docs -- LiveData overview:
  267. Understanding LiveData: | SRC
  268. ViewModels -- A Simple Example:
  269. ViewModels and LiveData -- Patterns + AntiPatterns:
  270. LiveData overview:
  271. Unit-testing LiveData and other common observability problems:
  272. Android "Activity Lifecycle" considered harmful: (how MVVM & LiveData can avoid the most common pitfalls)
  273. MVVM DB ToDo List example:
  274. Android MVVM — Do’s and Don’ts:
  275. Android ViewModels: Saving State across Process Death:
  276. Healthier cleaner code in your Android projects - SCA with Sonarqube & JaCoCo:
  277. View Model Creation in Android — Android Architecture Components & Kotlin:
  278. Flow and LiveData in MVVM architecture:
  279. MVVM on Android with the Architecture Components & Koin:
  280. How to use a ViewModel with a custom view:
  281. ViewModel: One-off event antipatterns:
  282. Android docs -- ObservablesList:
  283. Android docs -- Observable:
  284. Observe LiveData from ViewModel in Fragment:
  285. Using Retrofit 2 for web-services in Android with a simple demo project: | SRC
  286. Working with MVP and Retrofit 2 in Android with demo project: | SRC
  287. How to maximize Android’s UI reusability — 5 common mistakes:
  288. The Contract of the Model-View-Intent architecture: | SRC - Kotlin | SRC - Java
  289. The State of Managing State with RxJava:
  290. Introduction of Model View Intent (MVI) for Android:
  291. Android MVI with Jetpack Compose:
  292. Chrome WebStore: (built on same infrastructure as GooglePlay store
  293. Use pre-launch reports to identify issues:
  294. Make your app shine on Google Play:
  295. How to install Adobe Flash Player on Android:
  296. How to Install Adobe Flash Player on Android Devices:
  297. Flash player version archive (including old Android versions):
  298. An Update on Flash Player and Android:
  299. How to add Adobe Flash support to Android 5.0 Lollipop:
  300. How to manually install Adobe Flash Player on your Android device:
  301. Now in Android -- Episode #3 - Android Studio 3.5:
  302. The Best Features in Android Studio 4.0 Beta:
  303. ADB Survival Guide for Android:
  304. How to solve Specified AAPT2 executable does not exist on Android Studio 3.2:
  305. Google Play -- Manage your store listings - Graphic assets, screenshots & video specs (for marketplace listing):
  306. A New Reference App for Multi-device Applications: | SRC
  307. New Android Code Samples: | SRC
  308. Web App Manifest:
  309. Android Development - 15 Libraries You Should Be Using:
  310. Android Studio shortcuts like Eclipse:
  311. What is the shortcut to Auto import all in Android Studio?:
  312. How To Auto Import All Class In Android Studio: http://
  313. ShortCut for adding class field to existing constructor in AndroidStudio or IDEA: (ALT+ENTER to auto-fix)
  314. Develop Android Apps Fast(er) and Easier (saves 30 min daily):
  315. Android -- checkbox listener:
  316. Protecting secrets in an Android project:
  317. Android applications security — part 1, reverse engineering and token storage problems:
  318. Android applications security — part 2, client-server communication:
  319. Android OWASP crackmes -- Write-up UnCrackable Level 3:
  320. What is the preferable way to hide private information in Android Studio?:
  321. Hiding API keys from your Android repository:
  322. Where to Store Android KeyStore File in CI/CD Cycle?:
  323. Keeping Your Android Project’s Secrets Secret:
  324. Android Programming Cookbook:
  325. Android Cookbook -- Ch.10 (Sample Chapter):
  326. Head First Android Development: | SRC
  327. Head First Android Development (2nd edition): | SRC
  328. Android core APIs -- Free Samples! (and PRs)
  329. Implement Caching In Android Using RxJava Operators: | SRC
  330. Implement Search Using RxJava Operators: | SRC
  331. WoWoViewPager: (transition/animation helper lib)
  332. Refining an Onboarding Experience with MotionLayout:
  333. Swipe right on Motion Layout:
  334. MotionLayout + ShapeOfView:
  335. 5 Must-Have Android Libraries For Smooth App Development:
  336. How to import RecyclerView for Android L-preview:
  337. Using the RecyclerView:
  338. Android RecyclerView List Example:
  339. RecyclerView in Android with example:
  340. Why does java.lang.IllegalStateException: RecyclerView has no LayoutManager in Fragment happen when using new RecyclerView:
  341. Getting Started With RecyclerView and CardView on Android:
  342. How to resolve NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener; error:
  343. Optimizing Nested RecyclerView:
  344. RecyclerView item optimizations:
  345. Saving Scroll Positions of Nested RecyclerViews:
  346. Learning Android Development in 2019 - A Practical Guide:
  347. Android developer Roadmap for 2019:
  348. Learning Android Development in 2018 (Comprehensive Beginner’s Edition):
  349. Android Paging Library with multiple view types:
  350. Android paging Network + Database:
  351. A better way to set RecyclerView items margin:
  352. Android CardView Sample Project (with RecyclerView): | SRC
  353. Getting Started With RecyclerView and CardView on Android:
  354. Best practices for Video Playback in Android:
  355. Florina Muntenescu -- Google Android Dev envangelist:
  356. Material Design - Components catalog:
  357. Material UI -- Motion system:
  358. wikipedia: Samsung phones
  359. Samsung Android phones:
  360. wikipedia: List of LG mobile phones
  361. LG Android phones:
  362. wikipedia: Comparison_of_HTC_devices#Android_devices
  363. HTC Android phones:
  364. Best Android Phones for 2018:
  365. Best Android devices released in 2018:,2817,2483688,00.asp
  366. List of Samsung Phones To Get The Android Oreo 8.x Update:
  367. Complete List Of Android Devices To Get The ANDROID 4.4 Kitkat Update:
  368. Finding Android SDK on Mac and adding to PATH: (/Users/USERNAME/Library/Android/sdk)
  369. Building an Android App from the Command Line:
  370. How to make Android apps without IDE from command line:
  371. Building and Running from the Command Line: (legacy Android versions)
  372. Building Android application (.apk) from the Command Line v2 using ANT:
  373. Build Android Studio app via command line:
  374. Building Android applications with Gradle - Tutorial:
  375. How to Sideload Apps on Android:
  376. Uncomfortable Questions About App Signing: (soon to be required for new apps through move to AAB)
  377. Android Get Application Context From Anywhere Example:
  378. Getting activity from context in android:
  379. pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY) not giving corerct answer:
  380. Responsive Web Made Easier with Chrome DevTools Device Mode:
  381. A Concise Guide to Remote Debugging on iOS, Android, and Windows Phone:
  382. Run Apps on a Hardware Device:
  383. How to Enable USB Debugging in Android Phones:
  384. Chrome DevTools for Mobile -- Screencast and Emulation:
  385. What is the best android emulator for low spec PC ? :
  386. BlueStacks -- Android Emulator
  387. Andryoid - Android emulator:
  388. How to find and turn on USB debugging mode on Nexus 4:
  389. Enabling USB Debugging on an Android Device:
  390. NVIDIA -- Android lifecycle for application developers - guidelines and tips: (from chip manufacturer's perspective)
  391. Writing Your First Android App, in Assembly:
  392. Creating an Android Weather App using Java:
  393. Constraint layout the best layout ever!:
  394. How to make ConstraintLayout work with percentage values?:
  395. Adding a menu to the toolbar in Android:
  396. How to change Menu SearchView Widget Icon Color In Android:
  397. Get the position of a spinner in Android:
  398. Change text color of selected item in spinner:
  399. How to change Spinner text color in Android:
  400. Make a button take 25% of a linearlayout:
  401. Calling findViewById("thing") in Fragment (rather than Activity): (you should call via getView().findViewById("thing") instead of calling directly)
  402. How to Manage App Permissions on Android:
  403. Permissions on the fly with Dexter lib (as compared to requesting programmatically in Kotlin):
  404. Seven Things You Don’t Have to Root Android to Do Anymore:
  405. Android SQLite Database with example:
  406. Android SQLite ListView with example:
  407. Android Loading SQLite Data Into TableLayout:
  408. Android Dynamically Add rows to Table Layout:
  409. Room Persistence Library With Pre-Populated Database:
  410. Gradually Migrate to Room from SQLite:
  411. 7 Steps To Room:
  412. 7 Pro-tips for Room:
  413. Room Flow:
  414. Doing DB queries in Room with RxJava:
  415. Navigation in Modular Applications with Deep Linking:
  416. How to Stop Android Apps from Using Background Mobile Data:
  417. Introducing WorkManager:
  418. Practical guide to Dagger 2:
  419. Dagger 2 — Dependency Injection basics in Android:
  420. Dagger 2 on Android - The Simple Way:
  421. Using Dagger in a multi-module project:
  422. Android Inter-Module Navigation With Dagger:
  423. error -- resource android:attr/fontVariationSettings not found:
  424. Two floating action buttons next to each other:
  425. Floating Action Button (FAB) in Android with "multi-FAB" example:
  426. How to create android:pathData?:
  427. Understanding VectorDrawable pathData commands in Android:
  428. List of available (OOTB Android platform) icons?:
  429. Fix common "AAPT: error: resource android:drawable/ic_search is private": (mostly caused by using "@android:drawable" instead of "@drawable" directly, or, forgetting to map in the icon via "mipmap --> New --> Vector Asset")
  430. Since the Android getFragmentManager() API is deprecated, is there any alternative?:
  431. Using ViewPager to Create a Sliding Screen UI in Android: | SRC | DOCS
  432. How to communicate between Fragments and Activities in Kotlin:
  433. Advocating Against Android Fragments:
  434. How to get a string back from AsyncTask?:
  435. 350% performance improvement in fetching data from the server, by using RxJava:
  436. Retrofit with RxJava to fetch data asyncronously:
  437. Loading entities from database and server API by using RxJava:
  438. First steps with RxJava and RxAndroid:
  439. RxAndroid’s New Async API:
  440. Android Studio AsyncTask Return Value to Caller:
  441. Return a value from AsyncTask in Android:
  442. AsyncTask is Deprecated, Now What?:
  443. Google is deprecating Android’s AsyncTask API in Android 11:
  444. Was AsyncTask Deprecated For No Reason?:
  445. Android Multithreading - Threads, UI, Garbage Collector, Memory Leaks and More:
  446. Android -- Alternatives to AsyncTask?:
  447. Some great alternatives for AsyncTasks:
  448. Handling success data and error callback responses from a network for Android projects using Sandwich: | SRC - DisneyMotion | SRC - MarvelHeroes | SRC - TheMovies2 | SRC - Pokedex
  449. AsyncTaskLoader basic example (Android):
  450. Getting Started with JSOUP in Android (DuckDuckGo scraping example):
  451. Implementing DuckDuckGo API in SUSI Android:
  452. How to Read JSON file from the Assets folder in Android?:
  453. How To Read String Value Array From strings.xml In Android:
  454. Android -- How do I get string from resources using its name?:
  455. Android getting value from selected radiobutton: http://
  456. Mipmaps vs. drawable folders:
  457. How to add icon image button in Android Studio:
  458. Android Hello GridView Tutorial Will Not Display Images:
  459. Android -- Bitmaps loaded from gallery are rotated in ImageView:
  460. Modern User Storage on Android: (StorageAccessFramework & "Scoped Storage" APIs are coming to Android 11+)
  461. VLC adapts for Android TV to bring users’ personal videos to the big screen:
  462. Android get image from gallery into ImageView:
  463. How to load an image in ImageView from gallery?:
  464. Custom Gallery For Android:
  465. Creating A Photo Gallery In Android Studio With List Fragments:
  466. "Gallery" widget tutorial with example app in Android Studio: (legacy approach only works up until API v16)
  467. Create a Photo Gallery App for Android for Local Images:
  468. Add image to Media Gallery - Android:
  469. Universal Android Music Player Sample: (reference implementation of a Music Player in Android)
  470. Android Media Player example:
  471. How to play audio in Android?:
  472. Android -- sample microphone without recording to get live amplitude/level?:
  473. Sensing Voice Amplitude with Android:
  474. Android Audio - Seek Bar:
  475. MediaPlayer error (1, -1004) aka MEDIA_ERROR_IO trying to stream music on Samsung S3:
  476. Why does it take so long for Android's MediaPlayer to prepare some live streams for playback?:
  477. MediaPlayer.OnPreparedListener doesn't work:
  478. Audio Recording In ".wav" Format In Android Programming:
  479. Android - Audio Capture: (basic example of working with Microphone to record Audio and save to device)
  480. How can I record a Video in my Android App?:
  481. Android Canvas - Draw Happy Face!:
  482. Measure, Layout, Draw, Repeat - Custom Views and ViewGroups:
  483. Android Canvas Example:
  484. Draw in Canvas by finger, Android:
  485. Android Shape Drawables tutorial:
  486. Drawing Shapes in Android:
  487. Android Canvas And Paint Common Drawing Function Example:
  488. Drawable resources:
  489. Draw with a Canvas in Android:
  490. Basic Painting with Views:
  491. Calling JavaScript function from an Android Activity:
  492. Android Calling JavaScript functions in WebView:
  493. Call Android methods from JavaScript:
  494. Android webview & localStorage:
  495. Sample App — Android Unidirectional Data Flow:
  496. Google I/O 2013 - The New Android SDK Build System: (introduced move from Ant to Gradle)
  497. How to Add Libraries to Android Studio:
  498. How to Manage Gradle Dependencies in Android Project:
  499. How do I add a library project to Android Studio?:
  500. Android plugin for Gradle HTTP proxy settings:
  501. Better dependency management in Android Studio 3.5 with Gradle buildSrcVersions:
  502. Copying APK file in Android Gradle project:
  503. How to get the attr reference in code?:
  504. Gradle exclude in Android Javadocs when internal classes depend on
  505. Excluding BuildConfig.class and R.class from Android library jar in Maven:
  506. How to create JavaDoc using Android Studio without R and BuildConfig?:
  507. Webview Localhost Connection refused using address:
  508. Android -- ConnectivityManager always returning null: (how to check Network state)
  509. How Google Makes Money from Android - Business Model Explained:
  510. How does Google make money from Android?:
  511. How To Resolve Package R Does Not Exist Error In Android Studio:

See Also

Linux | Java | Kotlin | Flutter | Mobile Phone | Tablet | Wearables | IoT | OS | OpenMoko | iOS | QR code | Image Recognition | Voice Recognition | Speech Recognition | Biometrics