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
- Create a folder
android-examples- Next download and add the
dependencies.gradleto thisandroid-examplesfolder- Now move the example app folder inside the
android-examplesfolderThe reason this is required because each single app uses
extvariables defined and referenced fromdependencies.gradlefile from the parent folder namelyandroid-examples.
- ActivityLifecycle
- AnimatedGradientBackground
- AudioRecording
- AutoCompleteTextview
- AutoInitLibrary
- BasicMVP
- BoundServices
- BottomSheet
- BottomNavigationView
- BroadcastReceiver
- BuilderPattern
- BuildVariants
- CallsAndSMS
- Camera2
- ChangeThemeDuringRuntime
- CheckIfPhoneOrTablet
- CheckIfScreenLocked
- ChromeCustomTabs
- CircularImage
- CleanProject
- CollapsibleToolbar
- CommonConfigForModules
- CompileOnly
- CustomBroadcastPermissions
- CustomOnboardingIntro
- CustomView
- DataBinding
- DebuggingWebViews
- DepsManagementViaBuildSrc
- Encryption
- ExtractingColorFromBitmap
- FingerprintAPI
- Firebase
- FirebaseCloudMessaging
- GCMNetworkManager
- GPSLocation
- GestureDetection
- GridView
- HeadlessFragment
- ImplementingEmoticons
- IntentService
- Intents
- InterProcessService
- JNI
- JUnitTests
- LifeCycleCompForLib
- ListView
- ListViewWithCustomAdapter
- LoadHtmlIntoWebview
- LocalBroadcastManager
- MobileVisionAPI2ReadBarCodes
- ModulesUnderSubdirectory
- NavigationDrawer
- Notification
- OSSLicenseActivity
- ParallaxHeaderListview
- PopupMenu
- ProductFlavors
- QuickSettingsTile
- RadioButton
- RatingBar
- ReadJSONFile
- RecyclerView
- RuntimePermissions
- SQLite
- SearchView
- SearchViewInToolbar
- Service
- SharedElementTransitions
- SimulateClick
- SnackBar
- SnapHelper
- SpeechRecognition
- SplashScreen
- SplitSigninConfig
- TabLayout
- TextToSpeech
- TranslucentStatusBar
- UnitTestingWithRoboelectric
- UsingAppintro
- UsingArcMenu
- UsingBottomNavigationBar
- UsingButterKnife
- UsingDBFlow
- UsingDagger2
- UsingEasyGCMlib
- UsingFragmentsForResponsiveLayout
- UsingFirebaseJobDispatcher
- UsingFontAwesomeLib
- UsingKotlin
- UsingLitho
- UsingMPChartsLib
- UsingOpenNLP
- UsingParceler
- UsingParcelize
- UsingPercentSupportLib
- UsingPocketSphinxForVoiceRecognition
- UsingRealmDB
- UsingRetrofit2
- UsingRobolectric
- UsingRoomORM
- UsingRxJava
- UsingRxJava2
- UsingStetho
- UsingSugarORM
- UsingTimberLogger
- UsingAltBeaconLib
- VectorDrawables
- ViewPager
- WebViewDialogueBox
- UsingEasyDeviceInfo
- UsingSensey
- UsingRecyclerViewHelper
- UsingScreenshott
- UsingStackedHorizontalProgressbar
- UsingQREader
- UsingPackageHunter
- UsingAndroidUtils
- UsingZentone
- UsingOptimusHTTP
- UsingShoutout
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:
-
Match coding style (braces, spacing, etc.) This is best achieved using
Reformat Codefeature of Android StudioCMD+Option+Lon Mac andCTRL+ALT+Lon Linux + Windows . -
If its a feature, bugfix, or anything please only change code to what you specify.
-
Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)
-
Pull requests must be made against
developbranch. Any other branch (unless specified by the maintainers) will get rejected. -
Check for existing issues first, before filing an issue.
-
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
extvariables as defined independencies.gradle, in yourbuild.gradlefiles 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.
-
-
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
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
svnusing homebrew (mac/linux)brew install svn
-
Copy the name of the example folder in this repo i.e
AccessingGoogleDrive -
Next replace
example_folderin the below command:svn checkout https://github.com/nisrulz/android-examples/trunk/example_folder
i.e Consider
AccessingGoogleDriveis 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!
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]
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.
