android-examples icon indicating copy to clipboard operation
android-examples copied to clipboard

:shipit: [Examples] Simple basic isolated apps, for budding android devs.

Image

Featured in

AndroidDev Digest

Show some :heart: and star the repo to support the project

GitHub stars GitHub forks GitHub watchers GitHub followers
Twitter Follow

Main repository containing all the example apps demonstrating features/functionality/integrations in android application development

NOTE: If you are going to download just a single example app (using the download link), make sure you follow the below procedure

  1. Create a folder android-examples
  2. Next download and add the dependencies.gradle to this android-examples folder
  3. Now move the example app folder inside the android-examples folder

The reason this is required because each single app uses ext variables defined and referenced from dependencies.gradle file from the parent folder namely android-examples.

Example apps

  1. ActivityLifecycle
  2. AnimatedGradientBackground
  3. AudioRecording
  4. AutoCompleteTextview
  5. AutoInitLibrary
  6. BasicMVP
  7. BoundServices
  8. BottomSheet
  9. BottomNavigationView
  10. BroadcastReceiver
  11. BuilderPattern
  12. BuildVariants
  13. CallsAndSMS
  14. CameraX
  15. ChangeThemeDuringRuntime
  16. CheckIfPhoneOrTablet
  17. CheckIfScreenLocked
  18. ChromeCustomTabs
  19. CircularImage
  20. CleanProject
  21. CollapsibleToolbar
  22. ColoredConsoleLogs
  23. CommonConfigForModules
  24. CompileOnly
  25. ComposeTheme
  26. CustomBroadcastPermissions
  27. CustomOnboardingIntro
  28. CustomView
  29. DataBinding
  30. DebuggingWebViews
  31. DepsManagementViaBuildSrc
  32. Encryption
  33. ExtractingColorFromBitmap
  34. FingerprintAPI
  35. Firebase
  36. FirebaseCloudMessaging
  37. GCMNetworkManager
  38. GPSLocation
  39. GestureDetection
  40. GitVersioning
  41. GridView
  42. HeadlessFragment
  43. ImplementingEmoticons
  44. IntentService
  45. Intents
  46. InterProcessService
  47. JNI
  48. JUnitTests
  49. LifeCycleCompForLib
  50. ListView
  51. ListViewWithCustomAdapter
  52. LoadHtmlIntoWebview
  53. LocalBroadcastManager
  54. MobileVisionAPI2ReadBarCodes
  55. ModulesUnderSubdirectory
  56. NavigationDrawer
  57. NestedModules
  58. Notification
  59. OSSLicenseActivity
  60. ParallaxHeaderListview
  61. PopupMenu
  62. ProductFlavors
  63. QuickSettingsTile
  64. RadioButton
  65. RatingBar
  66. ReadJSONFile
  67. RecyclerView
  68. RuntimePermissions
  69. SQLite
  70. SearchView
  71. SearchViewInToolbar
  72. Service
  73. SharedElementTransitions
  74. SimulateClick
  75. SnackBar
  76. SnapHelper
  77. SpeechRecognition
  78. SplashScreen
  79. SplitSigninConfig
  80. TabLayout
  81. TextToSpeech
  82. TranslucentStatusBar
  83. UnitTestingWithRoboelectric
  84. UsingAppintro
  85. UsingArcMenu
  86. UsingBottomNavigationBar
  87. UsingDBFlow
  88. UsingDagger2
  89. UsingFragmentsForResponsiveLayout
  90. UsingFirebaseJobDispatcher
  91. UsingFontAwesomeLib
  92. UsingKotlin
  93. UsingLitho
  94. UsingMPChartsLib
  95. UsingOpenNLP
  96. UsingParceler
  97. UsingParcelize
  98. UsingPocketSphinxForVoiceRecognition
  99. UsingRetrofit2
  100. UsingRobolectric
  101. UsingRoomORM
  102. UsingRxJava
  103. UsingRxJava2
  104. UsingStetho
  105. UsingTimberLogger
  106. UsingAltBeaconLib
  107. VectorDrawables
  108. ViewPager
  109. WebViewDialogueBox

Example apps from my android libraries

  1. UsingEasyDeviceInfo
  2. UsingSensey
  3. UsingRecyclerViewHelper
  4. UsingScreenshott
  5. UsingStackedHorizontalProgressbar
  6. UsingQREader
  7. UsingPackageHunter
  8. UsingAndroidUtils
  9. UsingZentone
  10. UsingOptimusHTTP
  11. UsingShoutout

Pull Requests

I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:

  1. Match coding style (braces, spacing, etc.) This is best achieved using Reformat Code feature of Android Studio CMD+Option+L on Mac and CTRL + ALT + L on Linux + Windows .

  2. If its a feature, bugfix, or anything please only change code to what you specify.

  3. Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)

  4. Pull requests must be made against develop branch. Any other branch (unless specified by the maintainers) will get rejected.

  5. Check for existing issues first, before filing an issue.

  6. Make sure you follow the set standard as all other projects in this repo do

    • Upgrade your gradle wrapper to the one all other apps are using. Use the below command at root of your project

      ./gradlew wrapper --gradle-version <version_name>
      

      i.e ./gradlew wrapper --gradle-version 6.0.1

    • Use ext variables as defined in dependencies.gradle, in your build.gradle files to make sure all apps are in sync with configurations and dependencies. Take a look here and here

    • Use the package name of the format github.nisrulz.* where * is the example you are adding to the repo. I am trying to follow a set standard in the repo, please adhere to that.

  7. Have fun!

NOTE: There is a quick bootstrapping cookiecutter template to create an Android example project that adheres to all wiring up and standards for this repo. Read how to use use it from links below:

  • Standard Example
  • Compose Example

Extra

Since the repo is pretty large now , I am sure many folks would like to download only some of the projects. To tackle that follow the steps below:

  • Install svn using homebrew (mac/linux)

    brew install svn
    
  • Copy the name of the example folder in this repo i.e AccessingGoogleDrive

  • Next replace example_folder in the below command:

    svn checkout https://github.com/nisrulz/android-examples/trunk/example_folder
    

    i.e Consider AccessingGoogleDrive is the name of the example's folder, the command becomes:

    svn checkout https://github.com/nisrulz/android-examples/trunk/AccessingGoogleDrive
    
  • Done! You should have the specific example all checked out!

Author & support

This project was created by Nishant Srivastava but hopefully developed and maintained by many others. See the the list of contributors here.

If you appreciate my work, consider buying me a cup of :coffee: to keep me recharged :metal: [PayPal]

License

Apache Version 2.0 | Copyright 2016 Nishant Srivastava