/android-examples

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

Primary LanguageJavaApache License 2.0Apache-2.0

Image

Featured in

AndroidDev Digest

Show some ❤️ 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. Camera2
  15. ChangeThemeDuringRuntime
  16. CheckIfPhoneOrTablet
  17. CheckIfScreenLocked
  18. ChromeCustomTabs
  19. CleanProject
  20. CollapsibleToolbar
  21. CommonConfigForModules
  22. CompileOnly
  23. CustomBroadcastPermissions
  24. CustomOnboardingIntro
  25. CustomView
  26. DataBinding
  27. DebuggingWebViews
  28. DepsManagementViaBuildSrc
  29. Encryption
  30. ExtractingColorFromBitmap
  31. FingerprintAPI
  32. Firebase
  33. FirebaseCloudMessaging
  34. GCMNetworkManager
  35. GPSLocation
  36. GestureDetection
  37. GridView
  38. HeadlessFragment
  39. ImplementingEmoticons
  40. IntentService
  41. Intents
  42. InterProcessService
  43. JNI
  44. JUnitTests
  45. LifeCycleCompForLib
  46. ListView
  47. ListViewWithCustomAdapter
  48. LoadHtmlIntoWebview
  49. LocalBroadcastManager
  50. MobileVisionAPI2ReadBarCodes
  51. ModulesUnderSubdirectory
  52. NavigationDrawer
  53. Notification
  54. OSSLicenseActivity
  55. ParallaxHeaderListview
  56. PopupMenu
  57. ProductFlavors
  58. QuickSettingsTile
  59. RadioButton
  60. RatingBar
  61. ReadJSONFile
  62. RecyclerView
  63. RuntimePermissions
  64. SQLite
  65. SearchView
  66. SearchViewInToolbar
  67. Service
  68. SharedElementTransitions
  69. SimulateClick
  70. SnackBar
  71. SnapHelper
  72. SpeechRecognition
  73. SplashScreen
  74. SplitSigninConfig
  75. TabLayout
  76. TextToSpeech
  77. TranslucentStatusBar
  78. UnitTestingWithRoboelectric
  79. UsingAppintro
  80. UsingArcMenu
  81. UsingBottomNavigationBar
  82. UsingButterKnife
  83. UsingDBFlow
  84. UsingDagger2
  85. UsingEasyGCMlib
  86. UsingFragmentsForResponsiveLayout
  87. UsingFirebaseJobDispatcher
  88. UsingFontAwesomeLib
  89. UsingKotlin
  90. UsingLitho
  91. UsingMPChartsLib
  92. UsingOpenNLP
  93. UsingParceler
  94. UsingParcelize
  95. UsingPercentSupportLib
  96. UsingPocketSphinxForVoiceRecognition
  97. UsingRealmDB
  98. UsingRetrofit2
  99. UsingRobolectric
  100. UsingRoomORM
  101. UsingRxJava
  102. UsingRxJava2
  103. UsingStetho
  104. UsingSugarORM
  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 here

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 ☕ to keep me recharged 🤘 [PayPal]

License

Copyright 2016 Nishant Srivastava

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.