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.gradle
to thisandroid-examples
folder- Now move the example app folder inside the
android-examples
folderThe reason this is required because each single app uses
ext
variables defined and referenced fromdependencies.gradle
file from the parent folder namelyandroid-examples
.
- ActivityLifecycle
- AnimatedGradientBackground
- AudioRecording
- AutoCompleteTextview
- AutoInitLibrary
- BasicMVP
- BoundServices
- BottomSheet
- BottomNavigationView
- BroadcastReceiver
- BuilderPattern
- BuildVariants
- CallsAndSMS
- Camera2
- ChangeThemeDuringRuntime
- CheckIfPhoneOrTablet
- CheckIfScreenLocked
- ChromeCustomTabs
- CollapsibleToolbar
- 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
- NavigationDrawer
- Notification
- OSSLicenseActivity
- ParallaxHeaderListview
- PopupMenu
- ProductFlavors
- QuickSettingsTile
- RadioButton
- RatingBar
- ReadJSONFile
- RecyclerView
- RuntimePermissions
- SQLite
- SearchView
- SearchViewInToolbar
- Service
- SharedElementTransitions
- SimulateClick
- SnackBar
- SnapHelper
- SpeechRecognition
- SplashScreen
- TabLayout
- TextToSpeech
- TranslucentStatusBar
- UnitTestingWithRoboelectric
- UsingAppintro
- UsingArcMenu
- UsingBottomNavigationBar
- UsingButterKnife
- UsingDBFlow
- UsingDagger2
- UsingEasyGCMlib
- UsingFragmentsForResponsiveLayout
- UsingFirebaseJobDispatcher
- UsingFontAwesomeLib
- UsingKotlin
- UsingLitho
- UsingMPChartsLib
- UsingOpenNLP
- UsingParceler
- 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 Code
feature of Android StudioCMD
+Option
+L
on Mac andCTRL
+ALT
+L
on 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
develop
branch. 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 4.0
-
Use
ext
variables as defined independencies.gradle
, in yourbuild.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.sample.*
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!
Since the repo is pretty large now , I am sure a lot of you guys would like to download only some of the projects. To tackle that I came across this cool tool - Gitzip (All credits to the author, really cool work). To download a specific project
-
Navigate to the specific project you want to download and copy the path from address bar.
i.e
https://github.com/nisrulz/android-examples/tree/master/ActivityLifecycle
-
Next goto Gitzip
-
Paste the path into the provided box and hit Download.
-
Done now load the project into Android Studio as you would normally.
P.S. : I saw if you use Adblocker then Gitzip downloads an empty
zip
file, so disable Adblocker to get the correctzip
file.
If you found these examples helpful or you learned something from their source code and want to thank me, consider buying me a cup of ☕
- PayPal
- Bitcoin Address: 13PjuJcfVW2Ad81fawqwLtku4bZLv1AxCL
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.