A complete set of awesome stuff to use with Android
##Blogs
- Android Weekly: http://androidweekly.net/
- Base Labs: https://lab.getbase.com/tag/android/
- JayWay: http://www.jayway.com/category/android/
- Android hive: http://www.androidhive.info/
- Saúl Molinero: http://saulmm.github.io/
- Dan Lew: http://blog.danlew.net/
- Grafix Artist: http://blog.grafixartist.com/category/android/
- Future Studio: https://futurestud.io/blog/tag/android/
- Android Developers Blog: http://android-developers.blogspot.pt/
- Android Developers Backstage Blog: http://androidbackstage.blogspot.pt/
- Fragmented Podcasts: http://fragmentedpodcast.com/
- frogger_mcs dev blog: http://frogermcs.github.io/
- TechnoTalkative: http://www.technotalkative.com/
- Styling Android: https://blog.stylingandroid.com/
- Cyril Mottier: http://cyrilmottier.com/
- Chet Haase: https://medium.com/@chethaase
- The Cheese Factory Blog: http://inthecheesefactory.com/blog
- Antonio Leiva: http://antonioleiva.com/
- Chris Banes: https://chris.banes.me/
- Lucas Rocha: http://lucasr.org/
- Riggaroo (Rebecca Franks): http://riggaroo.co.za/
- Jeremie Martinez: http://jeremie-martinez.com/
- Fernando Cejas: http://fernandocejas.com/
##Android Libraries
- Android Arsenal: https://android-arsenal.com/
- UI/UX Material libraries: https://github.com/wasabeef/awesome-android-ui
####Must have libraries
- [Retrofit] (http://square.github.io/retrofit/) :
- [OkHttp] (http://square.github.io/okhttp/) :
- [Picasso] (http://square.github.io/picasso/) :
- [Otto] (http://square.github.io/otto/)
- [DBFlow] (https://github.com/Raizlabs/DBFlow)
- [Glide] (https://github.com/bumptech/glide)
- [Gson] (https://github.com/google/gson)
####Nice libraries
- [Stetho] (https://github.com/facebook/stetho)
Stetho is a debug bridge for Android applications, enabling the powerful Chrome Developer Tools and much more.
- [Text Surface] (https://github.com/elevenetc/TextSurface)
A little animation framework which could help you to show message in a nice looking way.
- [Konami Code] (https://github.com/thiagokimo/KonamiCode)
Installs the Konami code easter-egg into Android apps
- [FabTransitionLayout] (https://github.com/bowyer-app/FabTransitionLayout)
Provides the Floating Action Button Transition as specified in the Material Design Guide in a simple library.
- [MaterialSearchView] (https://github.com/MiguelCatalan/MaterialSearchView)
Cute library to implement SearchView in a Material Design Approach. Works from Android API 14 (ICS) and above.
-
Image libraries:
-
[Picasso transformations] (https://github.com/wasabeef/picasso-transformations)
-
[Glide transformations] (https://github.com/wasabeef/glide-transformations)
-
[Fresco processors] (https://github.com/wasabeef/fresco-processors)
-
[RecyclerView Animators] (https://github.com/wasabeef/recyclerview-animators)
-
[Circular Reveal] (https://github.com/ozodrukh/CircularReveal)
Lollipop ViewAnimationUtils.createCircularReveal for everyone 2.3+
- [Slidr] (https://github.com/r0adkll/Slidr)
Easily add slide-to-dismiss functionality to your Activity by calling Slidr.attach(this) in your onCreate(..) method.
- [Flowing drawer] (https://github.com/mxn21/FlowingDrawer)
swipe right to display drawer with flowing & bouncing effects.
- [HollyViewPager] (https://github.com/florent37/HollyViewPager)
A different beautiful ViewPager, with quick swipe controls
- [KeyboardVisibilityEvent] (https://github.com/yshrsmz/KeyboardVisibilityEvent)
Android Library to handle soft keyboard visibility change event. show/hide keyboard method is also included.
- [Gesture Views] (https://github.com/alexvasilkov/GestureViews)
ImageView and FrameLayout with gestures control and position animation
- [Gradle Play Publisher] (https://github.com/Triple-T/gradle-play-publisher)
Gradle Plugin to upload your APK and metadata to the Google Play Store
- [Dexcount Gradle Plugin] (https://github.com/KeepSafe/dexcount-gradle-plugin)
A Gradle plugin to report the number of method references in your APK on every build.
- [Easy Device Info] (https://github.com/nisrulz/easydeviceinfo)
Android library to get device information in a super easy way.
- [Android Priority Queue] (https://github.com/yigit/android-priority-jobqueue)
A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability.
- [BlurView] (https://github.com/Dimezis/BlurView)
Dynamic iOS-like blur of underlying Views for Android
- [MaterialDrawer] (https://github.com/mikepenz/MaterialDrawer)
The flexible, easy to use, all in one drawer library for your Android project.
##Android Studio ####Plugins
- [Android WiFi ADB] (https://github.com/pedrovgs/AndroidWiFiADB)
- [ADB-Uninstall] (https://github.com/Ghedeon/ADB-Uninstall)
- [ADB Idea] (https://github.com/pbreault/adb-idea)
- [Android File Grouping Plugin] (https://github.com/dmytrodanylyk/folding-plugin)
- [Parcelable Generator]
####Libraries
- [Free Builder] (https://github.com/google/FreeBuilder)
- [Android Studio MVP Template] (https://github.com/benoitletondor/Android-Studio-MVP-template)
####Useful links
- The powerful Android Studio: [Link] (http://saulmm.github.io/the-powerful-android-studio)
- Keyboard Navigation: [Link] (http://hadihariri.com/2014/06/24/no-tabs-in-intellij-idea/)
- Shortcuts: [Link] (https://futurestud.io/blog/android-quick-tips-6-android-studio/)
- Productivity: [Link] (https://futurestud.io/blog/android-quick-tips-2/)
- (About) 10 Things You (Probably) Didn’t Know You Could do in Android Studio: [Link] (https://medium.com/google-developers/about-10-things-you-probably-didn-t-know-you-could-do-in-android-studio-de231071b375#.6jp7exn29)
- ProTips: [Link] (https://medium.com/sebs-top-tips/clear-the-app-data-quickly-android-studio-protips-1-ebc47ea06286#.xxtczimea)
- Custom Templates: [Live Templates] (http://riggaroo.co.za/create-live-templates-android-studio/) , [File Templates] (http://riggaroo.co.za/custom-file-templates-android-studio/) , [Group of File Templates] (https://riggaroo.co.za/custom-file-template-group-android-studiointellij/)
- Writing More Code by Writing Less Code with Android Studio Live Templates: [Link] (https://medium.com/google-developers/writing-more-code-by-writing-less-code-with-android-studio-live-templates-244f648d17c7#.awo7t3mco)
##Testing
####Tutorials / Documentation
- A BEGINNERS GUIDE TO AN EFFECTIVE ANDROID TESTING STRATEGY: [Link] (https://davidguerrerodiaz.wordpress.com/2016/03/04/a-beginners-guide-to-an-effective-android-testing-strategy/)
- Android Testing Tools: [Link] (https://developer.android.com/intl/ko/tools/testing/testing-tools.html)
- Espresso-Cheat-Sheet: [Link] (https://google.github.io/android-testing-support-library/downloads/espresso-cheat-sheet-2.1.0.pdf)
- What's new in Android Testing: [Link] (https://docs.google.com/presentation/d/1EtFKPluGiuxZcr4W_cAziEY_--wbY_1otw44XEBv7JA/edit#slide=id.g98a986571_0_0)
- Testing Android Apps with Espresso: [Link] (http://www.slideshare.net/edipo2s/testing-android-apps-with-espresso-52072153)
- Workshop: Android Katas: [Link] (https://skillsmatter.com/skillscasts/6848-workshop-android-katas)
- Advanced Android Espresso: [Video] (https://www.youtube.com/watch?v=hfoAC9gdC74)
- Android Testing CodeLab: [Link] (http://www.code-labs.io/codelabs/android-testing/index.html?index=..%2F..%2Findex)
- Unit tests with Mockito - Tutorial: [Link] (http://www.vogella.com/tutorials/Mockito/article.html)
- http://chiuki.github.io/advanced-android-espresso/#/
- http://www.marcphilipp.de/downloads/posts/2013-01-02-hamcrest-quick-reference/Hamcrest-1.3.pdf
- Android testing using Dagger 2, Mockito and a custom JUnit rule: [Link] (https://medium.com/@fabioCollini/android-testing-using-dagger-2-mockito-and-a-custom-junit-rule-c8487ed01b56)
- 3 unit tests to avoid bad surprises on Android: [Link] (http://jeremie-martinez.com/2016/02/16/unit-tests/)
- AdapterViews and Espresso: [Link] (https://medium.com/google-developers/adapterviews-and-espresso-f4172aa853cf#.pm6mnwat6)
- What’s New in UI Automator 2.0 and How to Get Started: [Link] (http://testdroid.com/tech/how-to-get-started-with-ui-automator-2-0)
####Samples
- https://github.com/googlecodelabs/android-testing
- https://github.com/chiuki/android-test-demo
- https://github.com/chiuki/espresso-samples
- https://github.com/vgrec/EspressoExamples
##Design / Graphics
####Tutorials / Documentation
-
Devices metrics: [Link] (https://design.google.com/devices/)
-
25 UX Design Principles for Building an Engaging Mobile App: [Link] (https://www.thinkwithgoogle.com/collections/principles-of-mobile-app-design-engage-users-and-drive-conversions.html)
-
Custom indeterminate: [Part 1] (https://blog.stylingandroid.com/indeterminate-part-1/) [Part 2] (https://blog.stylingandroid.com/indeterminate-part-2/) [Part 3] (https://blog.stylingandroid.com/indeterminate-part-3/) [Part 4] (https://blog.stylingandroid.com/indeterminate-part-4/) [Part 5] (https://blog.stylingandroid.com/indeterminate-part-5/)
- Exploring the new Android ConstraintLayout: [Link] (https://medium.com/exploring-android/exploring-the-new-android-constraintlayout-eed37fe8d8f1#.oivnll550)
- Intro to the new ConstraintLayout in Android: [Link] (http://segunfamisa.com/posts/constraint-layout-in-android)
- ConstraintLayout 101 & the new Layout Builder in Android Studio: [Link] (http://riggaroo.co.za/constraintlayout-101-new-layout-builder-android-studio/)
- First Impressions of Android’s new ConstraintLayout: [Link] (https://medium.com/google-developer-experts/first-impressions-of-androids-new-constraintlayout-c6d081b2bc2a#.zc7bsyuom)
- Do you really like ConstraintLayout? Let’s see … : [Link] (https://medium.com/android-news/do-you-really-like-constraintlayout-lets-see-b11b8ef021a4#.yrhcfhzee)
- IO 2016 Codelab: [Link] (https://codelabs.developers.google.com/codelabs/constraint-layout/index.html?index=..%2F..%2Fio2016#0)
##Architecture
- Android guidelines by Google [GitHub] (https://github.com/googlesamples/android-architecture)
####Tutorials / Documentation
- Android Application Architecture: [Link] (https://labs.ribot.co.uk/android-application-architecture-8b6e34acda65) , [Project] (https://github.com/ribot/android-boilerplate)
- Android Development Culture. The Document. #qualitymatters: [Link] (http://artemzin.com/blog/android-development-culture-the-document-qualitymatters/)
- Where is the best place to store a password in your Android app: [Link] (http://www.androidauthority.com/where-is-the-best-place-to-store-a-password-in-your-android-app-597197/)
- How to use the Android Keystore to store passwords and other sensitive information: [Link] (http://www.androidauthority.com/use-android-keystore-store-passwords-sensitive-information-623779/)
- Exploring the new Android Permissions Model: [Link] (https://labs.ribot.co.uk/exploring-the-new-android-permissions-model-ba1d5d6c0610#.lhlmi3eqz)
- Permissions: [Part 1] (https://blog.stylingandroid.com/permissions-part-1/) [Part 2] (https://blog.stylingandroid.com/permissions-part-2/) [Part 3] (https://blog.stylingandroid.com/permissions-part-3/) [Part 4] (https://blog.stylingandroid.com/permissions-part-4/)
- Data Binding: [Part 1] (https://blog.stylingandroid.com/data-binding-part-1/) [Part 2] (https://blog.stylingandroid.com/data-binding-part-2/) [Part 3] (https://blog.stylingandroid.com/data-binding-part-3/) [Part 4] (https://blog.stylingandroid.com/data-binding-part-4/) [Part 5] (https://blog.stylingandroid.com/data-binding-part-5/)
- Android Data Sync: [Part 1] (http://www.dmytrodanylyk.com/android-data-sync-part-1/) [Part 2] (http://www.dmytrodanylyk.com/android-data-sync-part-2/)
- A successful XML naming convention: [Link] (http://jeroenmols.com/jeroenmols.github.io/blog/2016/03/07/resourcenaming/)
- This one simple change for better class naming will blow your mind: [Link] (https://www.novoda.com/blog/better-class-naming)
- Guidelines used by Ribot: [Github] (https://github.com/ribot/android-guidelines)
- Introducing Bourbon: Dribbble, Android, MVP and a Common-Code Module: [Link] (https://medium.com/exploring-android/introducing-bourbon-dribbble-android-mvp-and-a-common-code-module-1d332a4028b5#.3as87icu9)
- Building an Android App Using the MVP Pattern (Model-View-Presenter): [Link] (https://medium.com/android-news/building-an-android-app-using-the-mvp-pattern-model-view-presenter-e38822bcece7#.z1v18rijv)
- Android Code That Scales, with MVP: [Link] (http://engineering.remind.com/android-code-that-scales/)
- Mosby (MVP): [Link] (http://hannesdorfmann.com/mosby/summary/)
- Exploring the MVC, MVP, and MVVM design patterns: [Link] (http://www.infoworld.com/article/2926003/microsoft-net/exploring-the-mvc-mvp-and-mvvm-design-patterns.html)
- The introduction to Reactive Programming you've been missing: [Link] (https://gist.github.com/staltz/868e7e9bc2a7b8c1f754)
- The Reactive Revolution: RxAndroid and how it finally clicked for me: [Part 1] (https://medium.com/@carl.whalley/the-reactive-revolution-rxandroid-and-how-it-finally-clicked-for-me-part-1-of-2-a35122a6091e#.lul8lwkko) [Part 2] (https://medium.com/@carl.whalley/the-reactive-revolution-rxandroid-and-how-it-finally-clicked-for-me-part-2-of-2-bafefeac9c33#.7gpm13csk)
- Crunching RxAndroid: [Intro] (https://medium.com/crunching-rxandroid/crunching-rxandroid-intro-c27eb6f009ea#.lnjpj2rhm) [Part 1] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-1-4ac7b7123238#.ed6lpqsss) [Part 2] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-2-fb2a86f4fb8d#.l0pxevl90) [Part 3] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-3-91fc9a619b7b#.i6g0er3px) [Part 4] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-4-b2c3771ad52d#.d00gxswwh) [Part 5] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-5-1dd5fba89058#.wgtqigfld) [Part 6] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-6-6149764b59e#.sko0ipr7l) [Part 7] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-7-22be9e95650c#.txg84hkik) [Part 8] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-8-bf1808c08f95#.pyl10iy0l) [Part 9] (https://medium.com/crunching-rxandroid/crunching-rxandroid-part-9-37cfc28e2249#.vsukqkh0c)
- DAGGER 2 - A New Type of dependency injection: [YouTube video] (https://www.youtube.com/watch?v=oK_XtfXPkqw)
- The Future of Dependency Injection with Dagger 2: [YouTube video] (https://www.youtube.com/watch?v=plK0zyRLIP8)
- Tasting Dagger 2 on Android: [Link] (http://fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/)
- Dependency Injection with Dagger 2: [Link] (https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2)
- Snorkeling with Dagger 2: [Link] (https://github.com/konmik/konmik.github.io/wiki/Snorkeling-with-Dagger-2)
- Dagger 2 for Android: [Introduction] (http://aaverin.github.io/android/tutorials/2014/04/30/dagger2-for-android-part1/) [Basics] (http://aaverin.github.io/android/tutorials/2014/05/06/dagger2-for-android-part2-basics/) [Modules] (http://aaverin.github.io/android/tutorials/2014/05/09/dagger2-for-android-Part3-Modules/) [Scopes] (http://aaverin.github.io/android/tutorials/2014/06/11/dagger2-for-android-Part4-Scopes/)
##Animations
####Tutorials / Documentation
- Building Meaningful Motion: [Presentation] (https://photos.google.com/share/AF1QipMRnZL6gNbS06fnBNtKffRm9HBaxW8iP6w0L1T4nZYLI6s3wi_l8daT6mq4nwPf-w?key=LThZNmFXUUtmNi04bWlEYmVfcWdPenlvaDdCRU13)
- Exploring Meaningful Motion on Android: [Link] (https://labs.ribot.co.uk/exploring-meaningful-motion-on-android-1cd95a4bc61d)
- Animating an Android Floating Action Button: [Link] (http://www.sitepoint.com/animating-android-floating-action-button/)
- Working with Android FAB (Floating Action Button) Animations: [Link] (https://www.learn2crack.com/2015/10/android-floating-action-button-animations.html)
- Get Your Act Together with CoordinatorLayout: [Video] (https://www.youtube.com/watch?v=x5o2hGMMmIw)
- Customizing CoordinatorLayout's Behavior: [Link] (https://www.bignerdranch.com/blog/customizing-coordinatorlayouts-behavior)
- Intercepting everything with CoordinatorLayout Behaviors: [Link] (https://medium.com/google-developers/intercepting-everything-with-coordinatorlayout-behaviors-8c6adc140c26)
- Meaningful Motion with Shared Element Transition and Circular Reveal Animation: [Link] (http://www.thedroidsonroids.com/blog/android/meaningful-motion-with-shared-element-transition-and-circular-reveal-animation/)
##Network
####Tutorials / Documentation
- Effective OkHttp: [Link] (http://omgitsmgp.com/2015/12/02/effective-okhttp/)
- What’s under the hood of the OkHttp’s cache?: [Link] (http://www.schibsted.pl/blog/hood-okhttps-cache/)
- Protecting against unintentional regressions to cleartext traffic in your Android apps: [Link] (http://android-developers.blogspot.co.uk/2016/04/protecting-against-unintentional.html)
- Caching best practices & max-age gotchas: [Link] (https://jakearchibald.com/2016/caching-best-practices/)
##Guides (Just in case)
-
DevOps on Android: From one Git push to production: [Link] (http://jeremie-martinez.com/2016/01/14/devops-on-android/)
-
Fixing Memory Leaks in Android – OutOfMemoryError: [Link] (http://riggaroo.co.za/fixing-memory-leaks-in-android-outofmemoryerror/)
-
Services: [Link] (https://medium.com/@workingkills/10-things-didn-t-know-about-android-s-service-component-a2880b74b2b3)
-
Building Android Apps — 30 things that experience made me learn the hard way: [Link] (https://medium.com/@cesarmcferreira/building-android-apps-30-things-that-experience-made-me-learn-the-hard-way-313680430bf9#.70nejyduw)
-
IT TAKES LESS THAN 5 MINS, MAKE THAT DRAWER VISIBLE UNDER YOUR STATUS BAR: [Link] (http://matthewwear.xyz/no-excuses-it-takes-5-mins-make-that-drawer-visible-under-your-status-bar-2/)
-
Custom Content Provider in Android: [Link] (http://www.theappguruz.com/blog/custom-content-provider-in-android)
-
Exploring Buy with Android Pay: [Link] (https://labs.ribot.co.uk/exploring-buy-with-android-pay-4c8822c86133#.8i7cktphr)
-
Better Android Intents with Dart & Henson: [Link] (https://medium.com/groupon-eng/better-android-intents-with-dart-henson-1ca91793944b#.1hiqye4cx)
-
Managing the Fragment Back Stack [Link] (https://medium.com/@bherbst/managing-the-fragment-back-stack-373e87e4ff62#.9vov7zt2t)
-
Bottom Sheets Guides: [Link 1] (http://code.tutsplus.com/articles/how-to-use-bottom-sheets-with-the-design-support-library--cms-26031) , [Link 2] (https://medium.com/glucosio-project/moving-from-dialogs-to-bottomsheetdialogs-on-android-15fb8d140295#.qev60hvna)
###Questions