Android

From BC$ MobileTV Wiki
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


Contents

OS Versions

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

Android release-cycle.png

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

Android

Brownie

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

Cupcake

Donut

Eclair

Froyo

Gingerbread

Honeycomb

Ice cream sandwich

Jellybean

KitKat

Lollipop

Marshmallow

Nougat

Oreo

Pie

Q

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]


12

Codenames have returned with "Snow Cone".

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

13

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

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


14

Fuchsia

[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

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]

Samsung

[66] [67]

LG

[68]

HTC

[70] [71] [72]


Other

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

[80]


Development Environments

Android Studio

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


Programming Languages

Java (Dalvik)

See: Java#Dalvix

Kotlin

See: Kotlin


Testing

See: Mobile Testing

Unit Testing

See: JUnit

Instrumented Testing

[93] [94] [95]

UI Automator

Espresso

[96]


SCA

[97]

ProGuard

[98]



Platform

Mobile/Tablet

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).

[99]


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.

[104]


Android Auto


JetPack

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:

AndroidJetpack.png

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


AndroidX

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

"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.

[124]


Features

[125]

[126]

Project Mainline

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


Accessibility

TTS

STT

OCR

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

Security

Keystore

Credentials

SSO

Privacy Dashboard

[133] [134]


Utilities

Libraries

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

Bundles

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


Dynamic Bundle loading

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

Auto-Update

[151]

Focus

[152] [153] [154]


Clock

Alarm


Calendar

Reminders

Notes

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

Clipboard


Firebase

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

Machine Learning


Graphics

[177] [178]

Animation

[180]


Layering

Camera

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

File System

Photos


Bluetooth

[199]

Email


Internet

Browser

[200] [201]

WebView

[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

Layouts

[230] [231]

  • Re-using layouts with <include/>: developer.android.com/training/improving-layouts/reusing-layouts

[232]

[233] [234] [235]

Views

ListView

Intents

[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:

https://play.google.com/store/apps/details?id=<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]

AppWidgets

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:

https://www.example.com/.well-known/manifest.json

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

[264] [265]


Architectures

MVC

MVVM

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

Observables

[282] [283]

[284]


MVP

[285] [286]

MVI

[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]



APPS



Tools


Resources

[309]

[315]

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

[328]

[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]


Tutorials

[370] [371] [372]

[373] [374]

[377] [378] [379]

[384]

[388] [389]

[390] [391] [392]

[393] [394]

[395]

[397] [398] [399]

[401]

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

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

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

[432] [433]

[434]

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

[453] [454] [455]

[461]

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

[475] [476] [477]

[502] [503]

[504][505][506]

[507] [508]


External Links

[509] [510]


References

  1. ANDROID Robot + Logo: Portions of this page are modifications based on work created and <a href="http://code.google.com/policies.html">shared by Google</a> and used according to terms described in the <a href="http://creativecommons.org/licenses/by/3.0/">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: https://www.computerworld.com/article/3235946/android-versions-a-living-history-from-1-0-to-today.html
  5. The ugly truth behind Android's OS version/capabilities upgrade problem: https://www.computerworld.com/article/3175067/android-upgrade-problem.html
  6. Retrieving Android API version programmatically: https://stackoverflow.com/questions/3423754/retrieving-android-api-version-programmatically
  7. The 10 Greatest Versions of Android, Ranked: https://www.howtogeek.com/719851/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!: https://www.androidcentral.com/android-q
  18. Welcoming Android 10!: https://android-developers.googleblog.com/2019/09/welcoming-android-10.html (2019-09-03)
  19. Google cuts the sugar out of Android with a simplified name and fresh logo : https://www.digitaltrends.com/mobile/google-rebrands-android-drops-dessert-naming-scheme/
  20. wikipedia: Android 11 (11.x aka "R", API 30)
  21. Turning it up to 11 - the first Developer Preview of Android 11: https://android-developers.googleblog.com/2020/02/Android-11-developer-preview.html
  22. Android 11 - Developer preview highlights: https://levelup.gitconnected.com/android-11-developer-preview-highlights-5b56c5b1c3cb
  23. Top Features of Android 11 from Developer’s Point of View: https://android.jlelse.eu/android-11-developers-point-of-view-39f0f135da88
  24. Android 11 timeline -- Three developer previews, first beta in May, and Q3 2020 launch: https://9to5google.com/2020/02/19/android-11-launch-timeline/
  25. Android 11 release date and what we know about the upcoming OS upgrade: https://www.techradar.com/news/android-11
  26. Android 11 preview released -- These are the top new features: https://www.tomsguide.com/news/android-11-preview-released-these-are-the-top-new-features
  27. Google releases Android 11 developer preview earlier than expected: https://www.theverge.com/2020/2/19/21143789/google-android-11-developer-preview-release-5g-security-early
  28. The first Android 11 developer preview has already landed: https://www.androidpit.com/android-11-release-date-news-features
  29. Android 11 roundup -- Everything new with Android 11: https://9to5google.com/guides/android-11/
  30. How to install the Android 11 Developer Preview on Google Pixel devices (VIDEO): https://9to5google.com/2020/02/19/android-11-google-pixel-install-developer-preview/
  31. First preview of Android 12: https://android-developers.googleblog.com/2021/02/android-12-dp1.html
  32. Google Will Let You Opt Out of Being Tracked by Apps in Android 12: https://gizmodo.com/google-will-let-you-opt-out-of-being-tracked-by-apps-in-1847029681
  33. Android 12 Beta 2 adds more privacy features: https://sdtimes.com/softwaredev/android-12-beta-2-adds-more-privacy-features/?activecampaign_id=123002
  34. Android 12 Beta 4 reaches "Platform Stability": https://android-developers.googleblog.com/2021/08/android-12-beta-4-and-platform-stability.html
  35. What Is Android 12L?: https://www.howtogeek.com/767928/what-is-android-12l/
  36. Google Brings Back Dessert Codenames For New OS, Names Android 12 ‘Snow Cone': https://www.republicworld.com/technology-news/mobile/google-brings-back-dessert-codenames-for-new-os-names-android-12-snow-cone.html
  37. "Material You" Coming to more Android devices near you: https://android-developers.googleblog.com/2022/02/material-you-coming-to-more-android.html
  38. Android 12’s “Material You” Is Coming to These 5 Phones: https://www.howtogeek.com/785428/android-12s-material-you-is-coming-to-these-5-phones/ (sSmsung,
  39. How to Install Android 12L on a Google Pixel: https://www.howtogeek.com/799089/how-to-install-android-12l-on-a-google-pixel/
  40. The first developer preview of Android 13: https://android-developers.googleblog.com/2022/02/first-preview-android-13.html
  41. Google debuts Android 13 with its first developer preview: https://www.theverge.com/2022/2/10/22926874/android-13-features-developer-previewlanguage-controls
  42. Android 13’s Developer Preview Boosts Your Photo Privacy: https://www.howtogeek.com/785448/android-13s-developer-preview-boosts-your-photo-privacy/
  43. Android 13 Is Named After the Classic Italian Dessert: https://www.howtogeek.com/785630/android-13-is-named-after-the-classic-italian-dessert/
  44. Yep, Android 13’s dessert codename is ‘Tiramisu’ after all: https://www.theverge.com/tldr/2022/2/11/22928812/android-13-cake-codename-tiramisu
  45. Android 13 Phones Can Run Windows 11, Here’s Why: https://www.howtogeek.com/785972/android-13-phones-can-run-windows-11-heres-why/
  46. Android 13 deep dive -- Every change, thoroughly documented: https://blog.esper.io/android-13-deep-dive/
  47. Google is working on software that could eventually replace Android: https://mashable.com/article/google-fuchsia-os-replace-android-five-years/
  48. Google Fuchsia - Armadillo Smartphone OS, Not Based on Linux, Spotted in Images and Video: https://gadgets.ndtv.com/internet/news/google-fuchsia-armadillo-linux-smartphone-os-image-video-leak-1691260
  49. Fuchsia OS Spotted on Google's Android Open Source Project (AOSP), Said to Natively Support Android Apps: https://gadgets.ndtv.com/android/news/fuchsia-os-android-aosp-art-native-support-android-apps-1844248
  50. Is Fuchsia going to replace Android? Flutter with Fuchsia next big thing?: https://sanjibsinha.com/is-fuchsia-going-to-replace-android-flutter-with-fuchsia-next-big-thing/
  51. What is Google’s Fuchsia OS?: https://www.androidauthority.com/what-is-google-fuchsia-os-847784/
  52. Leaker says Samsung will probably switch to Google’s mysterious new mobile OS: https://www.yahoo.com/entertainment/leaker-says-samsung-probably-switch-161332751.html
  53. Google might have quietly teased the OS that will replace Android: https://www.msn.com/en-us/news/technology/google-might-have-quietly-teased-the-os-that-will-replace-android/ar-BB1dQB44
  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): https://www.msn.com/en-us/news/technology/googles-mysterious-os-that-might-replace-android-just-reached-a-new-milestone/ar-BB17UGj9
  55. Google Fuchsia First Beta to Replace Android, Chrome OS: How to Download?: https://www.techtimes.com/articles/258295/20210323/google-fuchsia-first-beta-replace-android-chrome-os-download.htm
  56. Report -- Google's new Fuchsia OS could replace Android - or not: https://www.cnet.com/news/report-google-new-fuchsia-os-could-replace-android-or-not/
  57. Why Google's Fuschia won't replace Android and Chrome OS: https://www.techrepublic.com/article/why-googles-fuschia-wont-replace-android-and-chrome-os/
  58. How to Find Out What Model of Android Phone You Have: https://www.howtogeek.com/347761/how-to-find-out-what-model-of-android-phone-you-have/
  59. Top Android phone manufacturers: https://www.appbrain.com/stats/top-manufacturers
  60. Top 10 Smartphone OEMs Listed, 6 Of Them Are From China: https://www.androidheadlines.com/2015/05/top-10-smartphone-oems-listed-6-china.html
  61. New report compares Android OEMs - Motorola is the fastest with updates, Sony has lowest crash rate: https://9to5google.com/2016/08/16/android-oems-compared/
  62. What are "Android Skins"?: https://www.howtogeek.com/701801/what-are-android-skins/ (custom "entire OS" themes/styling/gestures/default-apps/settings)
  63. Google Nexus vs Google Pixel -- What's the difference?: https://www.pocket-lint.com/phones/buyers-guides/google/135451-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?: https://www.quora.com/Google-Nexus-vs-Google-Pixel-Whats-the-difference
  65. Google Pixel starts to challenge Samsung in UK Android market: https://telecoms.com/502822/google-pixel-starts-to-challenge-samsung-in-uk-android-market/
  66. Samsung Galaxy S7: https://www.gsmarena.com/samsung_galaxy_s7-7821.php
  67. wikipedia: Category:Android_(operating_system)_devices
  68. List of Android 10 Supported LG Devices: https://www.getdroidtips.com/list-of-android-q-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?: https://www.howtogeek.com/717107/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: https://appleinsider.com/articles/15/12/03/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: https://www.androidauthority.com/stock-android-vs-android-one-vs-android-go-860020/
  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): https://appleinsider.com/articles/13/11/12/idc-data-shows-66-of-androids-81-smartphone-share-are-junk-phones-selling-for-215
  77. Cheap smartphones have a disturbing secret: https://www.fastcompany.com/90408472/cheap-smartphones-have-a-disturbing-secret
  78. Best budget phones you can buy (January 2020): https://www.androidauthority.com/cheap-android-phones-269520/
  79. Apps with great experiences on large screens: https://developer.android.com/large-screens/stories
  80. Why Windows 11’s Android apps are better than BlueStacks: https://www.howtogeek.com/766547/why-windows-11s-android-apps-are-better-than-bluestacks/
  81. The powerful Android Studio: http://saulmm.github.io/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: https://proandroiddev.com/how-i-automated-creating-files-for-a-new-screen-with-my-own-android-studio-plugin-5d54b14ba6fa
  83. Android Studio - Debug Your App: https://developer.android.com/studio/debug/index.html (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: https://developer.android.com/studio/run/rundebugconfig.html
  85. How to Debug Android application line by line using Eclipse?: https://stackoverflow.com/questions/8551818/how-to-debug-android-application-line-by-line-using-eclipse
  86. How to increase the font size in Android Studio?: https://stackoverflow.com/questions/16590216/how-to-increase-the-font-size-in-android-studio
  87. Search all the occurrences of a string in the entire project in Android Studio: https://stackoverflow.com/questions/20252180/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: https://stackoverflow.com/questions/27132140/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: https://stackoverflow.com/questions/39730327/how-to-fixed-if-it-wont-run-unless-i-update-google-play-service-in-android-stud#40333081
  90. How To Change Package Name In Android Studio: https://abhiandroid.com/androidstudio/how-to-change-package-name-android-studio.html
  91. Quick search on filename Android studio: https://stackoverflow.com/questions/25419684/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?: https://stackoverflow.com/questions/25055762/how-to-get-the-package-name-of-current-launcher-in-android
  93. Developing Android unit and instrumentation tests (in Java) tutorial: https://www.vogella.com/tutorials/AndroidTesting/article.html
  94. Android Testing - How to Perform Instrumented Tests (in Kotlin): https://medium.com/swlh/android-testing-how-to-perform-instrumented-tests-2000a75b6f73 | BACKUP
  95. A guide to test pyramid in Android — Instrumented tests — Part 3: https://proandroiddev.com/a-guide-to-test-pyramid-in-android-instrumented-tests-part-3-3ae46049fe
  96. Friendspell: https://github.com/chiuki/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: https://medium.com/@intelia/getting-the-most-out-of-android-lint-6df05a7ab054
  98. Little more about ProGuard for Android: https://medium.com/android-news/little-more-about-proguard-for-android-5aed2e18f6f1
  99. TV resolution confusion: 1080p, 2K, UHD, 4K, 8K, and what they all mean: https://www.cnet.com/news/4k-1080p-2k-uhd-8k-tv-resolutions-explained/
  100. Channels on the home screen: https://developer.android.com/training/tv/discovery/recommendations-channel
  101. How to Force Close Apps on Android TV: https://www.howtogeek.com/688347/how-to-force-close-apps-on-android-tv/
  102. How to Customize the Android TV Home Screen: https://www.howtogeek.com/686217/how-to-customize-the-android-tv-home-screen/
  103. How to Use Your Android Phone as a Google TV Remote: https://www.howtogeek.com/757203/how-to-use-your-android-phone-as-a-google-tv-remote/
  104. IoT, Android Things, and the Cloud: https://dzone.com/articles/iot-android-things-and-the-cloud
  105. Android gets a Jetpack: https://techcrunch.com/2018/05/08/android-gets-a-jetpack/
  106. What is Android Jetpack and why should we use it?: https://blog.mindorks.com/what-is-android-jetpack-and-why-should-we-use-it
  107. What exactly is Android Jetpack?: https://stackoverflow.com/questions/50251658/what-exactly-is-android-jetpack
  108. Android JetPack - Navigation Architecture Component: https://medium.com/deemaze-software/android-jetpack-navigation-architecture-component-b603c9a8100c
  109. Using the Navigation Component (from JetPack) in a modular world: https://medium.com/swlh/using-the-navigation-component-in-a-modular-world-e7578825962
  110. The State of Navigation in Jetpack Compose: https://proandroiddev.com/the-state-of-navigation-in-jetpack-compose-cc13eb6ac3d9
  111. How AndroidX changes the way we work with Activities and Fragments: https://medium.com/@miloszlewandowski/how-androidx-changes-the-way-we-work-with-activities-and-fragments-73b88d157678
  112. Migrating to AndroidX - tips, tricks, and guidance: https://medium.com/androiddevelopers/migrating-to-androidx-tip-tricks-and-guidance-88d5de238876
  113. Restitching Plaid: https://medium.com/@crafty/restitching-plaid-9ca5588d3b0a (migrating to AndroidX)
  114. Patchwork Plaid — A modularization story:
  115. Loaders in Support Library 27.1.0: https://medium.com/androiddevelopers/loaders-in-support-library-27-1-0-b1a1f0fee638 (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?: https://blog.mindorks.com/what-are-android-architecture-components
  117. Architecture Components - Easy Mapping of Actions and UI State: https://android.jlelse.eu/architecture-components-easy-mapping-of-actions-and-ui-state-207663e3fdd
  118. Android Architecture Components -- Lifecycle example using Camera access use-case: https://android.jlelse.eu/android-architecture-components-lifecycles-8990957e7e28
  119. Architecture Components - Easy Mapping of Actions and UI State: https://medium.com/android-news/architecture-components-easy-mapping-of-actions-and-ui-state-207663e3fdd
  120. Architecture Components & MVP / MVVM: https://medium.com/android-news/architecture-components-mvp-mvvm-237eaa831096
  121. Introducing Android Sunflower: https://medium.com/androiddevelopers/introducing-android-sunflower-e421b43fe0c2
  122. A modern approach to Android development, with Jetpack Compose and more!: https://android-developers.googleblog.com/2019/10/android-dev-summit-2019-keynote.html
  123. Jetpack Compose is now 1.0 -- announcing Android’s modern toolkit for building native UI: https://android-developers.googleblog.com/2021/07/jetpack-compose-announcement.html
  124. ShapeableImageView — "Material Components" for Android: https://medium.com/android-beginners/shapeableimageview-material-components-for-android-cac6edac2c0d
  125. Android Open Source Project: http://www.youtube.com/watch?v=7Y4thikv-OM
  126. Run Multiple Apps, All At Once on Android-Powered Phones: http://www.youtube.com/watch?v=q1m4j676BCc
  127. Scan Barcodes with ML Kit on Android: https://developers.google.com/ml-kit/vision/barcode-scanning/android
  128. QR Code Scanner – Barcode Scanner for Android: https://www.journaldev.com/18198/qr-code-barcode-scanner-android
  129. Android Barcode Reader and Qr Code Scanner using Google Mobile Vision: https://medium.com/cashify-engineering/barcode-reader-using-google-mobile-vision-88b3e9f31668
  130. Android SDK -- Create a Barcode Reader - ZXing (Zebra Crossing): https://code.tutsplus.com/tutorials/android-sdk-create-a-barcode-reader--mobile-17162
  131. Android QR Code Scanner Tutorial using Zxing Library: https://www.simplifiedcoding.net/android-qr-code-scanner-tutorial/
  132. Creating a Barcode Scanner using Android Studio: https://medium.com/analytics-vidhya/creating-a-barcode-scanner-using-android-studio-71cff11800a2
  133. What Is the Privacy Dashboard on Android?: https://www.howtogeek.com/733712/what-is-the-privacy-dashboard-on-android/
  134. Android 13's privacy dashboard prepares to show you the big picture: https://www.androidpolice.com/android-13s-privacy-dashboard-prepares-to-show-you-the-big-picture/
  135. Create an Android library: https://developer.android.com/studio/projects/android-library
  136. Why your Android Studio takes forever to build: https://medium.com/@temidjoy/why-your-android-studio-takes-forever-to-build-e8a638f97b34
  137. Why your Android Studio takes forever to build-Part 2: https://medium.com/@temidjoy/why-your-android-studio-takes-forever-to-build-part-2-c1b9c38e894b
  138. How Linux kernel interfaces with android runtime and libraries?: https://stackoverflow.com/questions/37436869/how-linux-kernel-interfaces-with-android-runtime-and-libraries
  139. How to publish and distribute your Android library: https://medium.com/swlh/how-to-publish-and-distribute-your-android-library-ce845c68c7f7
  140. wikipedia: Android_application_package (Android application Package)
  141. What does APK stand for? What is the internal format?: https://android.stackexchange.com/questions/1365/what-does-apk-stand-for-what-is-the-internal-format
  142. Getting inside APK files: https://medium.com/android-news/getting-inside-apk-files-21dbd01529d4
  143. APK vs AAB - Why Is Google Changing Android’s App Format?: https://www.cloudsavvyit.com/12544/apk-vs-app-bundle-why-is-google-changing-androids-app-format/
  144. What Is an Android App Bundle (AAB)?: https://www.howtogeek.com/739098/what-is-an-android-app-bundle-aab/
  145. A Practical Guide to Android App Bundle for Beginners: https://medium.com/better-programming/a-practical-guide-to-android-app-bundle-for-beginners-7e8d93831828
  146. R8 Shrinking in Android: https://betterprogramming.pub/r8-shrinking-in-android-27f3edbbad9e
  147. Android Tutorial - How to reduce Android app size?: https://dev.to/amitspaceo/how-to-reduce-android-app-size-android-tutorial-578i
  148. Reduce APK size: https://developer.android.com/topic/performance/reduce-apk-size
  149. 5 Easy Hacks To Reduce The Android APK Size: https://android.jlelse.eu/5-easy-hacks-to-reduce-the-android-apk-size-2f343b30187
  150. Twitter uses app bundles to keep their app featherweight, reducing its app size by a third: http://https://developer.android.com/stories/apps/twitter
  151. How to Disable Automatic App Updates in Android: https://www.howtogeek.com/202297/how-to-disable-automatic-app-updates-in-android/
  152. Ten New Features in Android 10: https://www.androidinfotech.com/new-features-android-10/#8_Focus_mode
  153. Google’s Digital Wellbeing is schooling Apple on how to combat smartphone addiction: https://www.pcworld.com/article/401938/google-digital-wellbeing-android-p.html
  154. Android Digital Wellbeing - How to sign up, set up, and break your bad habits: https://www.pcworld.com/article/402383/android-digital-wellbeing.html
  155. Where are notepad notes stored?: https://android.stackexchange.com/questions/215061/where-are-notepad-notes-stored#215070
  156. Where does Huawei Ascend Y300 store "Notes"?: https://forum.xda-developers.com/t/q-where-does-huawei-ascend-y300-store-notes.2810932/ (initially stored in /data/data/com.android.notes/files 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: https://www.guidingtech.com/transfer-notes-new-phone/
  158. How to Transfer Notes from Huawei to Samsung (2020): https://www.wikihow.com/Transfer-Notes-from-Huawei-to-Samsung
  159. Firebase Test Lab: https://firebase.google.com/docs/test-lab/
  160. Firebase Android Codelab - Build Friendly Chat (in Java): https://codelabs.developers.google.com/codelabs/firebase-android/ | SRC
  161. How to get the SHA-1 fingerprint certificate in Android Studio for debug mode?: https://stackoverflow.com/questions/27609442/how-to-get-the-sha-1-fingerprint-certificate-in-android-studio-for-debug-mode
  162. Compile OpenSSL 1.1.1 for Android application: https://proandroiddev.com/tutorial-compile-openssl-to-1-1-1-for-android-application-87137968fee
  163. Firebase Android Codelab - Grow Friendly Chat: https://codelabs.developers.google.com/codelabs/growfirebase-android/ | SRC
  164. Firebase Quickstart Samples for Android https://github.com/firebase/quickstart-android
  165. Firebase docs -- Authenticating Your Client: https://developers.google.com/android/guides/client-auth (Mac/Linux and Windows versions of the command... basically swap "~" for "%USERPROFILE%")
  166. Firebase docs -- Manage Users in Firebase: https://firebase.google.com/docs/auth/android/manage-users
  167. Firebase docs -- Authenticate with Firebase using Password-Based Accounts on Android: https://firebase.google.com/docs/auth/android/password-auth
  168. Can't login my App using Firebase: https://stackoverflow.com/questions/44626822/cant-login-my-app-using-firebase
  169. Firebase Android - Google Sign In Failure: https://stackoverflow.com/questions/39987012/firebase-android-google-sign-in-failure
  170. Google SignIn Fails with code 10 (on Android): https://github.com/googlesamples/google-services/issues/360
  171. Facebook login & Google sign in not working on Android app in production?: https://medium.com/@akashmahali/facebook-login-google-sign-in-not-working-on-android-app-in-production-5febd9537f92
  172. Firebase docs -- Understand Firebase Realtime Database Rules: https://firebase.google.com/docs/database/security
  173. Firebase docs -- Security quick start: https://firebase.google.com/docs/database/security/quickstart
  174. Firebase docs -- Authenticate with Firebase Anonymously on Android: https://firebase.google.com/docs/auth/android/anonymous-auth
  175. Firebase docs -- User Based Security: https://firebase.google.com/docs/database/security/user-security
  176. Signed APK build failure re:play-services-ads-identifier.properties collision: https://stackoverflow.com/questions/60402349/signed-apk-build-failure-replay-services-ads-identifier-properties-collision
  177. Difference between SurfaceView and View?: https://stackoverflow.com/questions/1243433/difference-between-surfaceview-and-view/15995353#15995353
  178. Android UI Internal -- SurfaceView Vs View: https://pierrchen.blogspot.com/2014/03/anroid-graphics-surfaceview-all-you.html
  179. Porter/Duff Compositing and Blend Modes: http://ssp.impulsetrain.com/porterduff.html
  180. Animate all the things - Transitions in Android: https://medium.com/@andkulikov/animate-all-the-things-transitions-in-android-914af5477d50
  181. How to get package name of camera application: https://stackoverflow.com/questions/9665045/how-to-get-package-name-of-camera-application#96654400
  182. Google Camera: https://www.apkmirror.com/apk/google-inc/camera/
  183. Taking pictures with camera on Android programmatically: https://stackoverflow.com/questions/14421694/taking-pictures-with-camera-on-android-programmatically
  184. Android - Camera API example: https://www.tutorialspoint.com/android/android_camera.htm
  185. Taking Photos Simply: https://web.archive.org/web/20130529180836/http://stuff.mit.edu:80/afs/sipb/project/android/docs/training/camera/photobasics.html
  186. Android’s New Image Capture from a Camera using File Provider: https://android.jlelse.eu/androids-new-image-capture-from-a-camera-using-file-provider-dd178519a954
  187. Android dev docs -- Build a Camera App: https://developer.android.com/guide/topics/media/camera.html#custom-camera
  188. Android dev docs -- Control the camera (Camera 2.x API): https://developer.android.com/training/camera/cameradirect.html
  189. Understanding Camera2 API from callbacks: Part 1 | Part 2
  190. Google - Camera2 basic example: http://github.com/googlearchive/android-Camera2Basic/tree/master/Application/src/main
  191. Android CAMERA2 API example tutorial: http://web.archive.org/web/20160528133624/https://inducesmile.com/android/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?: https://stackoverflow.com/questions/27272845/how-to-use-androids-camera-or-camera2-api-to-support-old-and-new-api-versions-w
  193. The least you can do with Camera2 API: https://medium.com/android-news/the-least-you-can-do-with-camera2-api-2971c8c81b8b
  194. Google Codelabs -- Android - Getting Started with CameraX: https://developer.android.com/codelabs/camerax-getting-started
  195. Android CameraX - overview: http://www.journaldev.com/30132/android-camerax-overview | SRC
  196. CameraX - An Introduction: https://medium.com/android-news/camerax-an-introduction-b3d76c3820e6
  197. Introduction to Android’s CameraX With Java: https://medium.com/swlh/introduction-to-androids-camerax-with-java-ca384c522c5
  198. What’s new in CameraX: https://medium.com/androiddevelopers/whats-new-in-camerax-fb8568d6ddc
  199. How to Wirelessly Transfer Files from Windows to Android: https://www.howtogeek.com/707171/how-to-wirelessly-transfer-files-from-windows-to-android/
  200. Turn cookies on or off: https://support.google.com/accounts/answer/61416?co=GENIE.Platform%3DAndroid&hl=en
  201. How to Install Chrome Browser on Android TV: https://techwiser.com/how-to-install-chrome-browser-on-android-tv/
  202. Google's Android Dev blog -- Developer tools to debug WebView in beta: https://android-developers.googleblog.com/2020/04/developer-tools-to-debug-webview-in-beta.html
  203. The Crosswalk Project: https://github.com/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: https://web.archive.org/web/20150324060415/http://www.unwiredview.com/2013/11/21/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: https://stackoverflow.com/questions/14537083/use-chrome-as-render-engine-for-android-webview
  206. Is it better to use Android System Webview when not using Chrome as default browser?: https://android.stackexchange.com/questions/179613/is-it-better-to-use-android-system-webview-when-not-using-chrome-as-default-brow
  207. Google explains how Chrome will become WebView in Android 7.0 (Nougat): https://www.androidpolice.com/2016/07/20/google-explains-chrome-will-become-webview-android-7-0/
  208. Google Chrome to Replace WebView in Android 7.0 Nougat: https://gadgets.ndtv.com/apps/news/google-chrome-to-replace-webview-in-android-70-nougat-863667
  209. Change to Chrome Web Browser in Android?: https://www.askdavetaylor.com/change-update-chrome-web-browser-android-phone/
  210. Why is the Android stock browser still alive?: https://android.stackexchange.com/questions/75336/why-is-the-android-stock-browser-still-alive
  211. PdfConverter.java example of Native Mobile App PDF conversion: https://github.com/blink22/react--html-to-pdf/blob/master/android/src/main/java/android/print/PdfConverter.java
  212. Android PDF not loading in browser and WebView: https://stackoverflow.com/questions/30461392/android-pdf-not-loading-in-browser-and-webview
  213. Google dev docs -- Android - PdfRenderer: https://developer.android.com/reference/android/graphics/pdf/PdfRenderer (added in API level 21)
  214. Rendering PDFs on Android the easy way: https://proandroiddev.com/rendering-pdfs-on-android-the-easy-way-c05635b2c3a8
  215. Rendering a PDF Document in Android Activity/Fragment (Using PdfRenderer): https://medium.com/@chahat.jain0/rendering-a-pdf-document-in-android-activity-fragment-using-pdfrenderer-442462cb8f9a
  216. Rendering PDF Document’s in Android using PdfRenderer: https://medium.com/android-dev-hacks/rendering-pdf-documents-in-android-using-pdfrenderer-f6d4f730b18
  217. How to render PDF in Android (using Intent and/or App chooser): https://stackoverflow.com/questions/2883355/how-to-render-pdf-in-android?noredirect=1&lq=1
  218. Open PDF file from sdcard in Android programmatically: https://deepshikhapuri.wordpress.com/2017/04/24/open-pdf-file-from-sdcard-in-android-programmatically/
  219. How can I display a PDF document into a Webview?: https://stackoverflow.com/questions/2655972/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: https://stackoverflow.com/questions/2883355/how-to-render-pdf-in-android (using Google Docs - PDF viewer)
  221. PDF Rendering in Android App — from raw/assets and internal storage: https://android.jlelse.eu/pdf-rendering-in-android-app-from-raw-assets-and-internal-storage-4d386950f35
  222. Android Beam - why you should care about this hidden gem: https://www.techradar.com/news/phone-and-communications/mobile-phones/android-beam-why-you-should-care-about-this-hidden-gem-1229479
  223. How to use Android Beam to send files and photos: https://www.androidauthority.com/how-to-use-android-beam-699961/
  224. How to Use Android Beam to Wirelessly Transfer Content Between Devices (on OS versions that support it): http://www.howtogeek.com/138307/how-to-use-android-beam-to-wirelessly-transfer-content-between-android-devices/
  225. Android Q won't have Android Beam (API/service has been deprecated and is now getting removed): https://www.techradar.com/news/android-q-wont-have-android-beam
  226. Android Beam’s replacement will be called Nearby Sharing: https://www.androidpolice.com/2020/01/13/google-fast-sharing-android-beam-replacement/
  227. Google working on ‘Fast Share,’ Android Beam replacement and AirDrop competitor: https://9to5google.com/2019/06/29/google-android-fast-share/
  228. How to Send Apps Between Android Devices: https://www.howtogeek.com/714458/how-to-send-apps-between-android-devices/
  229. AirDrop for Android - How to Use Android Nearby Share: https://www.howtogeek.com/684434/airdrop-for-android-how-to-use-android-nearby-share/
  230. Three Key Lessons When Migrating from RelativeLayout To ConstraintLayout: https://medium.com/comparethemarket/three-key-lessons-when-migrating-to-constraintlayout-dff38c31a47
  231. ConstraintLayout in the LIMELIGHT: https://android.jlelse.eu/constraintlayout-in-the-limelight-6c22b54d9726
  232. Learning ConstraintLayout — 🚀Live Templates for Rescue: http://android.jlelse.eu/learning-constraintlayout-live-templates-for-rescue-2142e6b7b3b2
  233. How to make a custom FrameLayout with a cover?: https://stackoverflow.com/questions/45581172/how-to-make-a-custom-framelayout-with-a-cover
  234. Enabling the `onClick` method in a custom FrameLayout view: https://stackoverflow.com/questions/54337370/enabling-the-onclick-method-in-a-custom-framelayout-view
  235. Android showcase designs UX and Android touch gestures: https://basitali11.medium.com/android-showcase-designs-ux-and-android-touch-gestures-2a6ec48de888 | SRC
  236. Android - How to find which tab is active in a tablayout?: https://stackoverflow.com/questions/33136807/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”: https://w2davids.wordpress.com/android-listview-with-iconsimages-and-sharks-with-lasers/
  238. Back to Top -- Android vs. iO: https://cyrilmottier.com/2013/01/09/back-to-top-android-vs-ios/
  239. Android docs -- Quick Settings - Tile: https://developer.android.com/reference/android/service/quicksettings/Tile
  240. Quick Tip -- Create a Custom Quick Settings Tile for Android: https://code.tutsplus.com/tutorials/create-a-custom-quick-settings-tile-for-android--cms-30318
  241. Full-Screen Intent Notifications — Android: https://medium.com/android-news/full-screen-intent-notifications-android-85ea2f5b5dc1
  242. Android -- Getting “Manifest merger failed” error after updating to a new version of gradle: https://stackoverflow.com/questions/43280871/android-getting-manifest-merger-failed-error-after-updating-to-a-new-version (add in a compilation block to the bottom of the Gradle build script)
  243. Supercharging your app development speed with custom file templates: https://android.jlelse.eu/supercharging-your-app-development-speed-with-custom-file-templates-3e6acb6db6c3
  244. android.useDeprecatedNdk=true is no longer supported: https://stackoverflow.com/questions/47633050/android-usedeprecatedndk-true-is-no-longer-supported
  245. Google -- Android dev docs - Linking to Google Play store: https://developer.android.com/distribute/marketing-tools/linking-to-google-play
  246. Google -- Android dev docs - App Link indexing: https://developer.android.com/studio/write/app-link-indexing
  247. How to directly open any given app dashboard home page inside Play Store on programmatically from an Android app: https://www.android-examples.com/open-specific-app-inside-google-play-store/
  248. How to link to Android Market app: https://stackoverflow.com/questions/3239478/how-to-link-to-android-market-app
  249. Android Deep Linking (from web to native app) guide: https://blog.branch.io/how-to-open-an-android-app-from-the-browser/
  250. Intro to Deep Linking on Android: https://medium.com/@muratcanbur/intro-to-deep-linking-on-android-1b9fe9e38abd
  251. The 15 best tips and tricks for Chrome on Android: https://www.androidpolice.com/2020/02/03/15-tips-tricks-chrome-android/
  252. Android Deep Linking (SLIDES): https://www.slideshare.net/ravalketan/android-deep-linking
  253. What is the "assetlinks.json" file for, when using Android deep links?: https://stackoverflow.com/questions/44209477/what-is-the-assetlinks-json-file-for-when-using-android-deep-links
  254. How to implement Android App Links with wildcard domains?: https://stackoverflow.com/questions/39616895/how-to-implement-android-app-links-with-wildcard-domains
  255. Android Studio - Add Android App Links: https://developer.android.com/studio/write/app-link-indexing
  256. Android docs -- Handling Android App Links: https://developer.android.com/training/app-links
  257. Verify Android App Links: https://developer.android.com/training/app-links/verify-site-associations
  258. Handling specific routes in Android M app links: https://stackoverflow.com/questions/35840262/handling-specific-routes-in-android-m-app-links
  259. Intent Filters and android:pathPattern: https://stackoverflow.com/questions/16490907/intent-filters-and-androidpathpattern
  260. App links intent filters in assetlinks.json not working on Android: https://stackoverflow.com/questions/35518429/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): https://stackoverflow.com/questions/40003252/how-to-setup-well-known-assetlinks-json-on-google-appengine-web-app-java
  262. Digital Assets Link InstantApp link to my website: https://stackoverflow.com/questions/44497929/digital-assets-link-link-to-my-website
  263. A Guide to Android Instant Apps: https://medium.com/swlh/https-medium-com-vinodsfingent-a-guide-to-android-instant-apps-c05d905c0098
  264. MozDev -- PWAs - Web App Manifest: https://developer.mozilla.org/en-US/docs/Web/Manifest
  265. Can I Use -- PWA & Manifest JSON - Add to home screen (A2HS): https://caniuse.com/web-app-manifest
  266. Android dev docs -- LiveData overview: https://developer.android.com/topic/libraries/architecture/livedata#java
  267. Understanding LiveData: https://medium.com/@elye.project/understanding-live-data-made-simple-a820fcd7b4d0 | SRC
  268. ViewModels -- A Simple Example: https://medium.com/androiddevelopers/viewmodels-a-simple-example-ed5ac416317e
  269. ViewModels and LiveData -- Patterns + AntiPatterns: https://medium.com/androiddevelopers/viewmodels-and-livedata-patterns-antipatterns-21efaef74a54
  270. LiveData overview: https://developer.android.com/topic/libraries/architecture/livedata
  271. Unit-testing LiveData and other common observability problems: https://medium.com/androiddevelopers/unit-testing-livedata-and-other-common-observability-problems-bb477262eb04
  272. Android "Activity Lifecycle" considered harmful: https://proandroiddev.com/android-activity-lifecycle-considered-harmful-98a5b00d287 (how MVVM & LiveData can avoid the most common pitfalls)
  273. MVVM DB ToDo List example: https://github.com/AnilDeshpande/DBDemoToDoList
  274. Android MVVM — Do’s and Don’ts: https://android.jlelse.eu/mvvm-dos-and-don-ts-5950d6f347d4
  275. Android ViewModels: Saving State across Process Death: https://android.jlelse.eu/android-viewmodels-saving-state-across-process-death-a3f447bf839a
  276. Healthier cleaner code in your Android projects - SCA with Sonarqube & JaCoCo: https://medium.com/xmglobal/healthier-cleaner-code-in-your-android-projects-e17f8e6829c3
  277. View Model Creation in Android — Android Architecture Components & Kotlin: https://proandroiddev.com/view-model-creation-in-android-android-architecture-components-kotlin-ce9f6b93a46b
  278. Flow and LiveData in MVVM architecture: https://medium.com/@lukaszburcon/flow-and-livedata-in-mvvm-architecture-6f8879b96ce0
  279. MVVM on Android with the Architecture Components & Koin: https://medium.com/swlh/mvvm-on-android-with-the-architecture-components-koin-f53c3c200363
  280. How to use a ViewModel with a custom view: https://medium.com/@polson55/how-to-use-a-viewmodel-with-a-custom-view-403420f7aab4
  281. ViewModel: One-off event antipatterns: https://medium.com/androiddevelopers/viewmodel-one-off-event-antipatterns-16a1da869b95
  282. Android docs -- ObservablesList: https://developer.android.com/reference/android/databinding/ObservableList
  283. Android docs -- Observable: https://developer.android.com/reference/java/util/Observable.html
  284. Observe LiveData from ViewModel in Fragment: https://medium.com/@begalesagar/observe-livedata-from-viewmodel-in-fragment-fd7d14f9f5fb
  285. Using Retrofit 2 for web-services in Android with a simple demo project: https://medium.com/cr8resume/make-your-hand-dirty-with-retrofit-2-a-type-safe-http-client-for-android-and-java-c546f88b3a51 | SRC
  286. Working with MVP and Retrofit 2 in Android with demo project: https://medium.com/cr8resume/working-with-mvp-and-retrofit-2-in-android-b771b8369ec0 | SRC
  287. How to maximize Android’s UI reusability — 5 common mistakes: https://proandroiddev.com/how-to-maximize-androids-ui-reusability-5-common-mistakes-cb2571216a9f
  288. The Contract of the Model-View-Intent architecture: https://proandroiddev.com/the-contract-of-the-model-view-intent-architecture-777f95706c1e | SRC - Kotlin | SRC - Java
  289. The State of Managing State with RxJava: https://jakewharton.com/the-state-of-managing-state-with-rxjava/
  290. Introduction of Model View Intent (MVI) for Android: https://www.21twelveinteractive.com/model-view-intent-mvi/
  291. Android MVI with Jetpack Compose: https://medium.com/swlh/android-mvi-with-jetpack-compose-b0890f5156ac
  292. Chrome WebStore: http://code.google.com/chrome/webstore/ (built on same infrastructure as GooglePlay store
  293. Use pre-launch reports to identify issues: https://support.google.com/googleplay/android-developer/answer/7002270?hl=en-GB
  294. Make your app shine on Google Play: https://medium.com/googleplaydev/make-your-app-shine-on-google-play-68fbb107a4c5
  295. How to install Adobe Flash Player on Android: http://www.androidpit.com/how-to-install-flash-player-on-android
  296. How to Install Adobe Flash Player on Android Devices: http://www.smartphonesupdates.com/how-to-install-adobe-flash-player-on-android-devices/
  297. Flash player version archive (including old Android versions): https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
  298. An Update on Flash Player and Android: http://blogs.adobe.com/flashplayer/2012/06/flash-player-and-android-update.html
  299. How to add Adobe Flash support to Android 5.0 Lollipop: http://bgr.com/2014/11/21/flash-on-android-how-to/
  300. How to manually install Adobe Flash Player on your Android device: http://www.androidcentral.com/how-manually-install-flash-your-android-device
  301. Now in Android -- Episode #3 - Android Studio 3.5: https://medium.com/androiddevelopers/now-in-android-episode-3-7965985c39c9
  302. The Best Features in Android Studio 4.0 Beta: https://android.jlelse.eu/best-features-in-android-studio-4-beta-12ca4d195788
  303. ADB Survival Guide for Android: https://android.jlelse.eu/adb-survival-guide-for-android-2cd22bad0a0f
  304. How to solve Specified AAPT2 executable does not exist on Android Studio 3.2: https://stackoverflow.com/questions/52545740/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): https://support.google.com/googleplay/android-developer/answer/1078870
  306. A New Reference App for Multi-device Applications: https://android-developers.googleblog.com/2015/03/a-new-reference-app-for-multi-device.html | SRC
  307. New Android Code Samples: https://android-developers.googleblog.com/2015/04/new-android-code-samples.html | SRC
  308. Web App Manifest: https://developer.mozilla.org/en-US/docs/Web/Manifest
  309. Android Development - 15 Libraries You Should Be Using: https://auth0.com/blog/android-development-15-libraries-you-should-be-using/
  310. Android Studio shortcuts like Eclipse: https://stackoverflow.com/questions/27657025/android-studio-shortcuts-like-eclipse
  311. What is the shortcut to Auto import all in Android Studio?: https://stackoverflow.com/questions/16615038/what-is-the-shortcut-to-auto-import-all-in-android-studio
  312. How To Auto Import All Class In Android Studio: http://https://www.dev2qa.com/how-to-auto-import-all-class-in-android-studio/
  313. ShortCut for adding class field to existing constructor in AndroidStudio or IDEA: https://stackoverflow.com/questions/34692945/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): https://medium.com/@gopikrish2000/android-apps-develop-fast-er-and-easier-saves-30-min-daily-9691f0c63573
  315. Android -- checkbox listener: https://stackoverflow.com/questions/8386832/android-checkbox-listener#8386876
  316. Protecting secrets in an Android project: https://proandroiddev.com/protecting-secrets-in-an-android-project-ff99eaf7b9ec
  317. Android applications security — part 1, reverse engineering and token storage problems: https://medium.com/skyrise/android-applications-security-part-1-2782d73771e0
  318. Android applications security — part 2, client-server communication: https://medium.com/skyrise/android-applications-security-part-2-588ffb9d83ab
  319. Android OWASP crackmes -- Write-up UnCrackable Level 3: https://enovella.github.io/android/reverse/2017/05/20/android-owasp-crackmes-level-3.html
  320. What is the preferable way to hide private information in Android Studio?: https://stackoverflow.com/questions/52642783/what-is-the-preferable-way-to-hide-private-information-in-android-studio
  321. Hiding API keys from your Android repository: https://medium.com/code-better/hiding-api-keys-from-your-android-repository-b23f5598b906
  322. Where to Store Android KeyStore File in CI/CD Cycle?: https://android.jlelse.eu/where-to-store-android-keystore-file-in-ci-cd-cycle-2365f4e02e57
  323. Keeping Your Android Project’s Secrets Secret: https://medium.com/@geocohn/keeping-your-android-projects-secrets-secret-393b8855765d
  324. Android Programming Cookbook: http://enos.itcollege.ee/~jpoial/allalaadimised/reading/Android-Programming-Cookbook.pdf
  325. Android Cookbook -- Ch.10 (Sample Chapter): http://ptgmedia.pearsoncmg.com/images/9780321897534/samplepages/0321897536.pdf
  326. Head First Android Development: https://www.vitalsource.com/products/head-first-android-development-dawn-griffiths-v9781491974018 | SRC
  327. Head First Android Development (2nd edition): http://shop.oreilly.com/product/0636920056966.do | SRC
  328. Android core APIs -- Free Samples! (and PRs)https://medium.com/androiddevelopers/free-samples-1db256ac8217
  329. Implement Caching In Android Using RxJava Operators: https://blog.mindorks.com/implement-caching-in-android-using-rxjava-operators | SRC
  330. Implement Search Using RxJava Operators: https://blog.mindorks.com/implement-search-using-rxjava-operators-c8882b64fe1d | SRC
  331. WoWoViewPager: https://github.com/Nightonke/WoWoViewPager (transition/animation helper lib)
  332. Refining an Onboarding Experience with MotionLayout: https://medium.com/ot-design/refining-an-onboarding-experience-with-motionlayout-4a5d73239f76
  333. Swipe right on Motion Layout: https://medium.com/bumble-tech/swipe-right-on-motion-layout-641c1452d6a5
  334. MotionLayout + ShapeOfView: https://proandroiddev.com/motionlayout-shapeofview-26a7ab10142f
  335. 5 Must-Have Android Libraries For Smooth App Development: https://android.jlelse.eu/5-must-have-android-libraries-for-smooth-app-development-a85ecbdd8a54
  336. How to import RecyclerView for Android L-preview: https://stackoverflow.com/questions/24440852/how-to-import-recyclerview-for-android-l-preview
  337. Using the RecyclerView: https://github.com/codepath/android_guides/wiki/Using-the-RecyclerView
  338. Android RecyclerView List Example: https://www.javatpoint.com/android-recyclerview-list-example
  339. RecyclerView in Android with example: https://www.geeksforgeeks.org/android-recyclerview/
  340. Why does java.lang.IllegalStateException: RecyclerView has no LayoutManager in Fragment happen when using new RecyclerView: https://stackoverflow.com/questions/27563853/java-lang-illegalstateexception-recyclerview-has-no-layoutmanager-in-fragment
  341. Getting Started With RecyclerView and CardView on Android: https://code.tutsplus.com/tutorials/getting-started-with-recyclerview-and-cardview-on-android--cms-23465
  342. How to resolve NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener; error: https://stackoverflow.com/questions/52537638/how-to-resolve-noclassdeffounderror-failed-resolution-of-landroid-view-viewon
  343. Optimizing Nested RecyclerView: https://proandroiddev.com/optimizing-nested-recyclerview-a9b7830a4ba7
  344. RecyclerView item optimizations: https://medium.com/@programmerr47/recyclerview-item-optimizations-cae1aed0c321
  345. Saving Scroll Positions of Nested RecyclerViews: https://android.jlelse.eu/storing-scroll-positions-of-nested-recyclerviews-9e9e8eb3196d
  346. Learning Android Development in 2019 - A Practical Guide: https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696
  347. Android developer Roadmap for 2019: https://android.jlelse.eu/android-developer-roadmap-for-2019-14eacb0d0a2
  348. Learning Android Development in 2018 (Comprehensive Beginner’s Edition): https://android.jlelse.eu/learning-android-development-in-2018-part-1-83a514f6a205
  349. Android Paging Library with multiple view types: https://proandroiddev.com/android-paging-library-with-multiple-view-type-68f85fe1222d
  350. Android paging Network + Database: https://proandroiddev.com/android-paging-library-database-network-error-events-18ecb66830fe
  351. A better way to set RecyclerView items margin: https://medium.com/@cesarmorigaki/a-better-way-to-set-recyclerview-items-margin-708ea9d3ac25
  352. Android CardView Sample Project (with RecyclerView): http://www.oded-tech-blog.com/android-cardview-sample-project-recyclerview/ | SRC
  353. Getting Started With RecyclerView and CardView on Android: https://code.tutsplus.com/tutorials/getting-started-with-recyclerview-and-cardview-on-android--cms-23465
  354. Best practices for Video Playback in Android: https://blog.viki.com/best-practices-for-video-playback-in-android-d7482d513f3d
  355. Florina Muntenescu -- Google Android Dev envangelist: https://github.com/florina-muntenescu?tab=repositories
  356. Material Design - Components catalog: https://www.material.io/components
  357. Material UI -- Motion system: https://material.io/design/motion/the-motion-system.html
  358. wikipedia: Samsung phones
  359. Samsung Android phones: https://www.gsmarena.com/samsung-phones-9.php
  360. wikipedia: List of LG mobile phones
  361. LG Android phones: https://www.gsmarena.com/lg-phones-20.php
  362. wikipedia: Comparison_of_HTC_devices#Android_devices
  363. HTC Android phones: https://www.gsmarena.com/htc-phones-45.php
  364. Best Android Phones for 2018: https://www.cnet.com/topics/phones/best-phones/android/
  365. Best Android devices released in 2018: https://www.pcmag.com/article2/0,2817,2483688,00.asp
  366. List of Samsung Phones To Get The Android Oreo 8.x Update: https://theleaker.com/samsung-android-8-0-oreo-update-phones-list/
  367. Complete List Of Android Devices To Get The ANDROID 4.4 Kitkat Update: http://www.techverse.net/phone-receiving-android-4-4-kitkat-update/
  368. Finding Android SDK on Mac and adding to PATH: https://stackoverflow.com/questions/34532063/finding-android-sdk-on-mac-and-adding-to-path (/Users/USERNAME/Library/Android/sdk)
  369. Building an Android App from the Command Line: https://www.hanshq.net/command-line-android.html
  370. How to make Android apps without IDE from command line: https://medium.com/@authmane512/how-to-build-an-apk-from-command-line-without-ide-7260e1e22676
  371. Building and Running from the Command Line: https://stuff.mit.edu/afs/sipb/project/android/docs/tools/building/building-cmdline.html (legacy Android versions)
  372. Building Android application (.apk) from the Command Line v2 using ANT: https://www.built.io/blog/building-android-application-apk-from-the-command-line-v2
  373. Build Android Studio app via command line: https://stackoverflow.com/questions/24398041/build-android-studio-app-via-command-line
  374. Building Android applications with Gradle - Tutorial: https://www.vogella.com/tutorials/AndroidBuild/article.html
  375. How to Sideload Apps on Android: https://www.howtogeek.com/313433/how-to-sideload-apps-on-android/
  376. Uncomfortable Questions About App Signing: https://commonsware.com/blog/2020/09/23/uncomfortable-questions-app-signing.html (soon to be required for new apps through move to AAB)
  377. Android Get Application Context From Anywhere Example: https://www.dev2qa.com/android-get-application-context-from-anywhere-example/
  378. Getting activity from context in android: https://stackoverflow.com/questions/9891360/getting-activity-from-context-in-android
  379. pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY) not giving corerct answer: https://stackoverflow.com/questions/19458342/pm-hassystemfeaturepackagemanager-feature-camera-any-not-giving-corerct-answer
  380. Responsive Web Made Easier with Chrome DevTools Device Mode: https://girliemac.com/blog/2014/07/28/devicemode/
  381. A Concise Guide to Remote Debugging on iOS, Android, and Windows Phone: https://developer.telerik.com/featured/a-concise-guide-to-remote-debugging-on-ios-android-and-windows-phone/
  382. Run Apps on a Hardware Device: https://developer.android.com/studio/run/device
  383. How to Enable USB Debugging in Android Phones: http://idroidhorizon.blogspot.ca/2014/06/How-to-Enable-USB-Debugging-in-Android.html
  384. Chrome DevTools for Mobile -- Screencast and Emulation: https://www.html5rocks.com/en/tutorials/developertools/mobile/
  385. What is the best android emulator for low spec PC ? : https://www.webmastersun.com/threads/9549-what-is-the-best-android-emulator-for-low-spec-pc
  386. BlueStacks -- Android Emulator https://www.bluestacks.com
  387. Andryoid - Android emulator: https://www.andyroid.net/
  388. How to find and turn on USB debugging mode on Nexus 4: https://stackoverflow.com/questions/16707137/how-to-find-and-turn-on-usb-debugging-mode-on-nexus-4
  389. Enabling USB Debugging on an Android Device: https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/enabling_usb_debugging_on_an_android_device.html
  390. NVIDIA -- Android lifecycle for application developers - guidelines and tips: http://developer.download.nvidia.com/assets/mobile/files/AndroidLifecycleAppNote_v100.pdf (from chip manufacturer's perspective)
  391. Writing Your First Android App, in Assembly: https://urish.medium.com/writing-your-first-android-app-in-assembly-30e8e0f8c3fe
  392. Creating an Android Weather App using Java: https://www.androdocs.com/java/creating-an-android-weather-app-using-java.html
  393. Constraint layout the best layout ever!: https://android.jlelse.eu/constraints-layout-best-layout-ever-230175272c0f
  394. How to make ConstraintLayout work with percentage values?: https://stackoverflow.com/questions/37318228/how-to-make-constraintlayout-work-with-percentage-values
  395. Adding a menu to the toolbar in Android: https://suragch.medium.com/adding-a-menu-to-the-toolbar-in-android-60d096f9fb89
  396. How to change Menu SearchView Widget Icon Color In Android: https://android.jlelse.eu/how-to-change-menu-searchview-widget-icon-color-in-android-c9ff1043a41f
  397. Get the position of a spinner in Android: https://stackoverflow.com/questions/8597582/get-the-position-of-a-spinner-in-android
  398. Change text color of selected item in spinner: https://stackoverflow.com/questions/15379851/change-text-color-of-selected-item-in-spinner
  399. How to change Spinner text color in Android: https://inducesmile.com/android-programming/how-to-change-spinner-text-color-in-android/
  400. Make a button take 25% of a linearlayout: https://stackoverflow.com/questions/19075217/make-a-button-take-25-of-a-linearlayout
  401. Calling findViewById("thing") in Fragment (rather than Activity): https://stackoverflow.com/questions/6495898/findviewbyid-in-fragment (you should call via getView().findViewById("thing") instead of calling directly)
  402. How to Manage App Permissions on Android: https://www.howtogeek.com/230683/how-to-manage-app-permissions-on-android-6.0/
  403. Permissions on the fly with Dexter lib (as compared to requesting programmatically in Kotlin): https://medium.com/@tirgei/permissions-on-the-fly-with-dexter-android-permissions-7394f3bc1e88
  404. Seven Things You Don’t Have to Root Android to Do Anymore: https://www.howtogeek.com/120599/6-things-you-dont-have-to-root-android-to-do-anymore/
  405. Android SQLite Database with example: https://www.tutlane.com/tutorial/android/android-sqlite-database-with-examples
  406. Android SQLite ListView with example: https://www.tutlane.com/tutorial/android/android-sqlite-listview-with-examples
  407. Android Loading SQLite Data Into TableLayout: https://tranngocnhat.blogspot.com/2016/06/android-loading-sqlite-data-into.html
  408. Android Dynamically Add rows to Table Layout: https://technotzz.wordpress.com/2011/11/04/android-dynamically-add-rows-to-table-layout/
  409. Room Persistence Library With Pre-Populated Database: https://android.jlelse.eu/room-persistence-library-with-pre-populated-database-5f17ef103d3d
  410. Gradually Migrate to Room from SQLite: https://medium.com/android-news/gradually-migrate-to-room-the-missing-guide-133520c7260
  411. 7 Steps To Room: https://medium.com/androiddevelopers/7-steps-to-room-27a5fe5f99b2
  412. 7 Pro-tips for Room: https://medium.com/androiddevelopers/7-pro-tips-for-room-fbadea4bfbd1
  413. Room Flow: https://medium.com/androiddevelopers/room-flow-273acffe5b57
  414. Doing DB queries in Room with RxJava: https://medium.com/androiddevelopers/room-rxjava-acb0cd4f3757
  415. Navigation in Modular Applications with Deep Linking: https://blog.usejournal.com/navigation-in-modular-applications-with-deep-linking-6a599c11e487
  416. How to Stop Android Apps from Using Background Mobile Data: https://www.howtogeek.com/715337/how-to-stop-android-apps-from-using-background-mobile-data/
  417. Introducing WorkManager: https://medium.com/androiddevelopers/introducing-workmanager-2083bcfc4712
  418. Practical guide to Dagger 2: https://android.jlelse.eu/practical-guide-to-dagger-76398948a2ea
  419. Dagger 2 — Dependency Injection basics in Android: https://medium.com/agency04/dagger-2-dependency-injection-basics-in-android-be229d99a0a
  420. Dagger 2 on Android - The Simple Way: https://proandroiddev.com/dagger-2-on-android-the-simple-way-f706a2c597e9
  421. Using Dagger in a multi-module project: https://proandroiddev.com/using-dagger-in-a-multi-module-project-1e6af8f06ffc
  422. Android Inter-Module Navigation With Dagger: https://robinhood.engineering/android-inter-module-navigation-with-dagger-b808c4579067
  423. error -- resource android:attr/fontVariationSettings not found: https://icetutor.com/question/error-resource-androidattr-fontvariationsettings-not-found/
  424. Two floating action buttons next to each other: https://stackoverflow.com/questions/31205720/two-floating-action-buttons-next-to-each-other
  425. Floating Action Button (FAB) in Android with "multi-FAB" example: https://www.geeksforgeeks.org/floating-action-button-fab-in-android-with-example/
  426. How to create android:pathData?: https://stackoverflow.com/questions/36677768/how-to-create-androidpathdata
  427. Understanding VectorDrawable pathData commands in Android: https://medium.com/@ali.muzaffar/understanding-vectordrawable-pathdata-commands-in-android-d56a6054610e#.g4gbz1r5p
  428. List of available (OOTB Android platform) icons?: https://stackoverflow.com/questions/47181993/list-of-available-icons
  429. Fix common "AAPT: error: resource android:drawable/ic_search is private": https://stackoverflow.com/questions/61829397/aapt-error-resource-androiddrawable-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?: https://stackoverflow.com/questions/51737667/since-the-android-getfragmentmanager-api-is-deprecated-is-there-any-alternati
  431. Using ViewPager to Create a Sliding Screen UI in Android: https://www.sitepoint.com/using-viewpager-to-create-a-sliding-screen-ui-in-android/ | SRC | DOCS
  432. How to communicate between Fragments and Activities in Kotlin: https://android.jlelse.eu/how-to-communicate-between-fragments-and-activities-dc91707e02fb
  433. Advocating Against Android Fragments: https://developer.squareup.com/blog/advocating-against-android-fragments/
  434. How to get a string back from AsyncTask?: https://stackoverflow.com/a/10972142
  435. 350% performance improvement in fetching data from the server, by using RxJava: https://android.jlelse.eu/replacing-tedious-progressbar-using-rxjava-and-pagedlistadapter-in-android-b60534c6f9dd
  436. Retrofit with RxJava to fetch data asyncronously: https://riptutorial.com/android/example/31945/retrofit-with-rxjava-to-fetch-data-asyncronously
  437. Loading entities from database and server API by using RxJava: https://proandroiddev.com/loading-entities-from-database-and-server-api-by-using-rxjava-e1b798b549b4
  438. First steps with RxJava and RxAndroid: https://www.vogella.com/tutorials/RxJava/article.html
  439. RxAndroid’s New Async API: https://www.zacsweers.dev/rxandroids-new-async-api/
  440. Android Studio AsyncTask Return Value to Caller: http://instinctcoder.com/android-studio-asynctask-return-value-to-caller/
  441. Return a value from AsyncTask in Android: https://stackoverflow.com/questions/9458258/return-a-value-from-asynctask-in-android/26820666#26820666
  442. AsyncTask is Deprecated, Now What?: https://www.techyourchance.com/asynctask-deprecated/
  443. Google is deprecating Android’s AsyncTask API in Android 11: https://www.xda-developers.com/asynctask-deprecate-android-11/
  444. Was AsyncTask Deprecated For No Reason?: https://www.techyourchance.com/asynctask-deprecated/
  445. Android Multithreading - Threads, UI, Garbage Collector, Memory Leaks and More: https://www.youtube.com/watch?v=UPq1LDxL5_w
  446. Android -- Alternatives to AsyncTask?: https://stackoverflow.com/questions/30416158/android-alternatives-to-asynctask
  447. Some great alternatives for AsyncTasks: https://medium.com/code-yoga/some-great-alternatives-for-asynctasks-e8113747673a
  448. Handling success data and error callback responses from a network for Android projects using Sandwich: https://proandroiddev.com/handling-success-data-and-error-callback-responses-from-a-network-for-android-projects-using-b53a26214cef | SRC - DisneyMotion | SRC - MarvelHeroes | SRC - TheMovies2 | SRC - Pokedex
  449. AsyncTaskLoader basic example (Android): https://stackoverflow.com/questions/20279216/asynctaskloader-basic-example-android
  450. Getting Started with JSOUP in Android (DuckDuckGo scraping example): https://princessdharmy.medium.com/getting-started-with-jsoup-in-android-594e89dc891f
  451. Implementing DuckDuckGo API in SUSI Android: https://blog.fossasia.org/implementing-duckduckgo-api-in-susi-android/
  452. How to Read JSON file from the Assets folder in Android?: https://www.11zon.com/zon/android/how-to-read-json-file-from-assets-folder-in-android.php
  453. How To Read String Value Array From strings.xml In Android: https://www.dev2qa.com/how-to-read-string-value-array-from-strings-xml-in-android/
  454. Android -- How do I get string from resources using its name?: https://stackoverflow.com/questions/7493287/android-how-do-i-get-string-from-resources-using-its-name
  455. Android getting value from selected radiobutton: http://https://stackoverflow.com/questions/18179124/android-getting-value-from-selected-radiobutton
  456. Mipmaps vs. drawable folders: https://stackoverflow.com/questions/28065267/mipmaps-vs-drawable-folders
  457. How to add icon image button in Android Studio: https://stackoverflow.com/questions/33450657/how-to-add-icon-image-button-in-android-studio
  458. Android Hello GridView Tutorial Will Not Display Images: https://stackoverflow.com/questions/6805541/android-hello-gridview-tutorial-will-not-display-images
  459. Android -- Bitmaps loaded from gallery are rotated in ImageView: https://stackoverflow.com/questions/3647993/android-bitmaps-loaded-from-gallery-are-rotated-in-imageview
  460. Modern User Storage on Android: https://medium.com/androiddevelopers/modern-user-storage-on-android-e9469e8624f9 (StorageAccessFramework & "Scoped Storage" APIs are coming to Android 11+)
  461. VLC adapts for Android TV to bring users’ personal videos to the big screen: https://developer.android.com/stories/apps/vlc-android-tv
  462. Android get image from gallery into ImageView: https://stackoverflow.com/questions/10473823/android-get-image-from-gallery-into-imageview
  463. How to load an image in ImageView from gallery?: https://stackoverflow.com/questions/13023788/how-to-load-an-image-in-image-view-from-gallery
  464. Custom Gallery For Android: https://android.jlelse.eu/custom-gallery-for-android-af2437b227da
  465. Creating A Photo Gallery In Android Studio With List Fragments: https://www.airpair.com/android/photo-gallery-android-studio-list-fragments
  466. "Gallery" widget tutorial with example app in Android Studio: https://abhiandroid.com/ui/gallery (legacy approach only works up until API v16)
  467. Create a Photo Gallery App for Android for Local Images: https://stackoverflow.com/questions/15196306/create-a-photo-gallery-app-for-android-for-local-images
  468. Add image to Media Gallery - Android: https://stackoverflow.com/questions/28243330/add-image-to-media-gallery-android
  469. Universal Android Music Player Sample: https://github.com/googlesamples/android-UniversalMusicPlayer (reference implementation of a Music Player in Android)
  470. Android Media Player example: https://www.javatpoint.com/playing-audio-in-android-example
  471. How to play audio in Android?: https://javapapers.com/android/how-to-play-audio-in-android/
  472. Android -- sample microphone without recording to get live amplitude/level?: https://stackoverflow.com/questions/4777060/android-sample-microphone-without-recording-to-get-live-amplitude-level
  473. Sensing Voice Amplitude with Android: http://www.doepiccoding.com/blog/?p=195
  474. Android Audio - Seek Bar: https://stackoverflow.com/questions/16141167/android-audio-seekbar
  475. MediaPlayer error (1, -1004) aka MEDIA_ERROR_IO trying to stream music on Samsung S3: https://stackoverflow.com/questions/16672568/mediaplayer-error-1-1004-aka-media-error-io-trying-to-stream-music-on-samsun
  476. Why does it take so long for Android's MediaPlayer to prepare some live streams for playback?: https://stackoverflow.com/questions/6582908/why-does-it-take-so-long-for-androids-mediaplayer-to-prepare-some-live-streams
  477. MediaPlayer.OnPreparedListener doesn't work: https://stackoverflow.com/questions/39594449/mediaplayer-onpreparedlistener-doesnt-work#39595041
  478. Audio Recording In ".wav" Format In Android Programming: http://www.edumobile.org/android/audio-recording-in-wav-format-in-android-programming/
  479. Android - Audio Capture: https://www.tutorialspoint.com/android/android_audio_capture.htm (basic example of working with Microphone to record Audio and save to device)
  480. How can I record a Video in my Android App?: https://stackoverflow.com/questions/1817742/how-can-i-record-a-video-in-my-android-app
  481. Android Canvas - Draw Happy Face!: http://hmkcode.com/android-draw-happy-face/
  482. Measure, Layout, Draw, Repeat - Custom Views and ViewGroups: https://academy.realm.io/posts/360andev-huyen-tue-dao-measure-layout-draw-repeat-custom-views-and-viewgroups-android/
  483. Android Canvas Example: https://examples.javacodegeeks.com/android/core/graphics/canvas-graphics/android-canvas-example/
  484. Draw in Canvas by finger, Android: https://stackoverflow.com/questions/16650419/draw-in-canvas-by-finger-android
  485. Android Shape Drawables tutorial: https://android.jlelse.eu/android-shape-drawables-tutorial-17fbece6fef5
  486. Drawing Shapes in Android: https://androidresearch.wordpress.com/2012/03/24/drawing-shapes-in-android/
  487. Android Canvas And Paint Common Drawing Function Example: https://www.dev2qa.com/android-canvas-and-paint-common-drawing-function-example/
  488. Drawable resources: https://developer.android.com/guide/topics/resources/drawable-resource.html
  489. Draw with a Canvas in Android: https://www.wideskills.com/android/android-graphics/draw-with-canvas-in-android
  490. Basic Painting with Views: https://guides.codepath.com/android/Basic-Painting-with-Views
  491. Calling JavaScript function from an Android Activity: https://stackoverflow.com/questions/15673509/calling-javascript-function-from-an-android-activity
  492. Android Calling JavaScript functions in WebView: https://stackoverflow.com/questions/4325639/android-calling-javascript-functions-in-webview
  493. Call Android methods from JavaScript: https://stackoverflow.com/questions/22895140/call-android-methods-from-javascript
  494. Android webview & localStorage: https://stackoverflow.com/questions/5899087/android-webview-localstorage
  495. Sample App — Android Unidirectional Data Flow: https://android.jlelse.eu/sample-app-android-unidirectional-data-flow-b9f8ad0fbca3
  496. Google I/O 2013 - The New Android SDK Build System: https://www.youtube.com/watch?v=LCJAgPkpmR0 (introduced move from Ant to Gradle)
  497. How to Add Libraries to Android Studio: https://www.youtube.com/watch?v=1MyBO9z7ojk
  498. How to Manage Gradle Dependencies in Android Project: https://android.jlelse.eu/how-to-manage-gradle-dependencies-in-android-project-132736ae3217
  499. How do I add a library project to Android Studio?: https://stackoverflow.com/questions/16588064/how-do-i-add-a-library-project-to-android-studio
  500. Android plugin for Gradle HTTP proxy settings: https://developer.android.com/studio/intro/studio-config?hl=tr#gradle-plugin
  501. Better dependency management in Android Studio 3.5 with Gradle buildSrcVersions: https://proandroiddev.com/better-dependency-management-in-android-studio-3-5-with-gradle-buildsrcversions-7cd67dbaa5d4
  502. Copying APK file in Android Gradle project: https://stackoverflow.com/questions/21434554/copying-apk-file-in-android-gradle-project
  503. How to get the attr reference in code?: https://stackoverflow.com/questions/9398610/how-to-get-the-attr-reference-in-code/9409391#9409391
  504. Gradle exclude R.java in Android Javadocs when internal classes depend on R.java: https://stackoverflow.com/questions/34427079/gradle-exclude-r-java-in-android-javadocs-when-internal-classes-depend-on-r-java
  505. Excluding BuildConfig.class and R.class from Android library jar in Maven: https://stackoverflow.com/questions/15127624/excluding-buildconfig-class-and-r-class-from-android-library-jar-in-maven
  506. How to create JavaDoc using Android Studio without R and BuildConfig?: https://stackoverflow.com/questions/29162820/how-to-create-javadoc-using-android-studio-without-r-and-buildconfig
  507. Webview Localhost Connection refused using 10.0.2.2 address: https://stackoverflow.com/questions/27613752/webview-localhost-connection-refused-using-10-0-2-2-address
  508. Android -- ConnectivityManager always returning null: https://stackoverflow.com/questions/9664757/android-connectivitymanager-always-returning-null (how to check Network state)
  509. How Google Makes Money from Android - Business Model Explained: https://www.kamilfranek.com/how-google-makes-money-from-android/
  510. How does Google make money from Android?: https://www.androidauthority.com/how-does-google-make-money-from-android-669008/
  511. How To Resolve Package R Does Not Exist Error In Android Studio: https://www.dev2qa.com/how-to-resolve-package-r-dose-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