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