# Android-Blogs **Repository Path**: ouyangpengdev/Android-Blogs ## Basic Information - **Project Name**: Android-Blogs - **Description**: Android开发相关的博客、文章、教程 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-23 - **Last Updated**: 2021-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android-Blogs Android开发相关的博客、文章、教程 ## 官方Blog 名称 | Blog地址 | 说明 --- | --- | --- Android Developers Blog | [http://android-developers.blogspot.com/](http://android-developers.blogspot.com/) | 官方Blog Android Weekly | [http://androidweekly.net/](http://androidweekly.net/) | Android周刊,支持邮箱订阅,随时了解Android Dev最新前沿,每周一更新 Android Weekly 中文版 | [http://androidweekly.cn/](http://androidweekly.cn/) | Android中文周刊,每周一更新 [Code Path](https://github.com/codepath/android_guides/wiki) | [https://github.com/codepath/android_guides/wiki](https://github.com/codepath/android_guides/wiki) | 教程通俗易懂 [Android开发技术前线](https://github.com/bboyfeiyu/android-tech-frontier) | [http://www.devtf.cn/](http://www.devtf.cn/) | 一个定期翻译、发布国内外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目 [Styling Android](https://blog.stylingandroid.com/) | [https://blog.stylingandroid.com/](https://blog.stylingandroid.com/) | 专注Android Design实现 Big Nerd Ranch | [https://www.bignerdranch.com/blog/categories/android/](https://www.bignerdranch.com/blog/categories/android/) | 他们所写的培训教程非常有名 Square | [https://corner.squareup.com/](https://corner.squareup.com/) | 良心企业 Facebook | [https://code.facebook.com/android/](https://code.facebook.com/android/) | 良心企业 Vogella | [http://blog.vogella.com/category/android/](http://blog.vogella.com/category/android/) | Android基础教程 codekk | [http://www.codekk.com/open-source-project-analysis](http://www.codekk.com/open-source-project-analysis) | Trinea发起的Android开源项目分析 Yalantis | [https://yalantis.com](https://yalantis.com) | 介绍很多酷炫动画的实现原理(Android + iOS) [Arsenal](https://android-arsenal.com/) | [https://android-arsenal.com/](https://android-arsenal.com/) | Android库+工具分类网站 Must Have Libraries | [http://guides.codepath.com/android/Must-Have-Libraries](http://guides.codepath.com/android/Must-Have-Libraries) | Must Have Libraries ## 国外开发者 名称 | Blog地址 | 说明 --- | --- | --- [Jake Wharton](https://github.com/JakeWharton) | [http://jakewharton.com/](http://jakewharton.com/) | Jake大神, 专心写框架,Blog比较少 [Chris Banes](https://github.com/chrisbanes) | [https://chris.banes.me/](https://chris.banes.me/) | [Android-PullToRefresh](https://github.com/chrisbanes/Android-PullToRefresh)等开源项目作者 [Daniel Lew](https://github.com/dlew) | [http://blog.danlew.net/](http://blog.danlew.net/) | 有干货,也有很多有趣的文章 The Cheese Factory | [http://inthecheesefactory.com/blog](http://inthecheesefactory.com/blog) | 2015年才开的博客,内容非常新 TechnoTalkative | [http://www.technotalkative.com/](http://www.technotalkative.com/) | the lazy android developers 系列作者 [Saúl Molinero](https://github.com/saulmm) | [http://saulmm.github.io/](http://saulmm.github.io/) | 个人非常喜欢的一个开发者博客 Cyril Mottier | [http://cyrilmottier.com/](http://cyrilmottier.com/) | Quora上很推崇的一个开发者,但是现在博客写的不勤了 Ravi Tamada | [http://www.androidhive.info/](http://www.androidhive.info/) | 博文非常基础,非常详细,适合初学者 [Alex Lockwood](https://github.com/alexjlockwood) |[http://www.androiddesignpatterns.com/](http://www.androiddesignpatterns.com/) | |[http://fragmentedpodcast.com/](http://fragmentedpodcast.com/)| ## 国内开发者 名称 | Blog地址 | 说明 --- | --- | --- [Trinea](https://github.com/Trinea/) | [http://www.trinea.cn/category/android/](http://www.trinea.cn/category/android/) | Trinea大神 [liaohuqiu](https://github.com/liaohuqiu) | [http://www.liaohuqiu.net/cn/](http://www.liaohuqiu.net/cn/) | [android-Ultra-Pull-To-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)作者 [代码家](https://github.com/daimajia) | [http://blog.daimajia.com/](http://blog.daimajia.com/) | AndroidSwipeLayout、AndroidViewAnimations、NumberProgressBar等开源库作者,撸库大神,不过好像不太喜欢写技术博客... [stormzhang](https://github.com/stormzhang) | [http://stormzhang.com/](http://stormzhang.com/) | 经常混迹知乎、GitHub 郭霖 | [郭霖的专栏](http://blog.csdn.net/guolin_blog) | CSDN 博客之星, 《第一行代码》作者 ## Book * [Game Programming Patterns](http://gameprogrammingpatterns.com/contents.html) ## 性能优化 ### Developing for Android * [Developing for Android, I:Understanding the Mobile Context](https://medium.com/google-developers/developing-for-android-i-understanding-the-mobile-context-fd2351b131f8) * [Developing for Android, II:The Rules: Memory](https://medium.com/google-developers/developing-for-android-ii-bb9a51f8c8b9) * [Developing for Android, III:The Rules: Performance](https://medium.com/google-developers/developing-for-android-iii-2efc140167fd) * [Developing for Android, IV:The Rules: Networking](https://medium.com/google-developers/developing-for-android-iv-e7dc4ce0a59) * [Developing for Android V:The Rules: Language and Libraries](https://medium.com/google-developers/developing-for-android-v-f6b8038b42f5) * [Developing for Android VI:The Rules: Storage](https://medium.com/google-developers/developing-for-android-vi-c0b1539f0e98) * [Developing for Android VII:The Rules: Framework](https://medium.com/google-developers/developing-for-android-vii-the-rules-framework-concerns-d0210e52eee3) * [Developing for Android VIII:The Rules: User Interface](https://medium.com/google-developers/developing-for-android-viii-e91ced595fac) * [Developing for Android IX:Tools](https://medium.com/google-developers/developing-for-android-ix-tools-375134af1098) ### 胡凯(译者)-性能优化系列 * [Android性能优化典范](http://hukai.me/android-performance-patterns/) * [Android性能优化之渲染篇](http://hukai.me/android-performance-render/) * [Android性能优化之运算篇](http://hukai.me/android-performance-compute/) * [Android性能优化之内存篇](http://hukai.me/android-performance-memory/) * [Android性能优化之电量篇](http://hukai.me/android-performance-battery/) * [Android性能优化典范 - 第2季](http://hukai.me/android-performance-patterns-season-2/) * [Android性能优化典范(三)[1-3]](http://www.csdn.net/article/2015-08-12/2825447-android-performance-patterns-season-3/1) * [Android性能优化典范(三)[4-7]](http://www.csdn.net/article/2015-08-12/2825447-android-performance-patterns-season-3/2) * [Android性能优化典范(三)[8-12]](http://www.csdn.net/article/2015-08-12/2825447-android-performance-patterns-season-3/3) ### 内存泄露 * [Managing Your App's Memory](https://developer.android.com/training/articles/memory.html) * [Avoiding memory leaks](http://android-developers.blogspot.jp/2009/01/avoiding-memory-leaks.html) * [How to Leak a Context: Handlers & Inner Classes](http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html) * [Activitys, Threads, & Memory Leaks](http://www.androiddesignpatterns.com/2013/04/activitys-threads-memory-leaks.html) * [Android Performance Case Study](http://www.curious-creature.com/2012/12/01/android-performance-case-study/) * [Android Performance Case Study Follow-up](http://www.curious-creature.com/2015/03/25/android-performance-case-study-follow-up/) * [A small leak will sink a great ship](https://corner.squareup.com/2015/08/a-small-leak.html) * [Android内存泄露案例分析](http://www.csdn.net/article/2015-09-07/2825631) * [How to Analyze & Manage Memory on Android Like a Boss](https://acadgild.com/blog/analyze-manage-android-devices-memory-allocation-through-ddms-mat/) ### Remedying Android’s method limit * [Part 1](https://developers.soundcloud.com/blog/congratulations-you-have-a-lot-of-code-remedying-androids-method-limit-part-1) * [Part 2](https://developers.soundcloud.com/blog/congratulations-you-have-a-lot-of-code-remedying-androids-method-limit-part-2) ### 缓存 * [Displaying Bitmaps Efficiently](http://developer.android.com/training/displaying-bitmaps/index.html) *[[中文版--郭霖译](http://blog.csdn.net/guolin_blog/article/details/9316683)]* * [Android DiskLruCache完全解析,硬盘缓存的最佳方案](http://blog.csdn.net/guolin_blog/article/details/28863651) * [Android照片墙完整版,完美结合LruCache和DiskLruCache](http://blog.csdn.net/guolin_blog/article/details/34093441) * [Android应用性能优化之使用SparseArray替代HashMap](http://liuzhichao.com/p/832.html) ### Effective Java for Android developers * [Effective Java for Android developers : Item 1](http://fragmentedpodcast.com/2015/08/) * [Effective Java for Android developers : Item 2](http://fragmentedpodcast.com/episodes/16/) ### 安全相关 * [Develop a secured Android application](http://blog.octo.com/en/develop-secured-android-application/) ### PerfMatters * [PerfMatters using custom Views in Android to improve performance — Part 1](https://medium.com/android-news/prefmatters-using-custom-views-in-android-to-improve-performance-part-1-4dc9bdd75396#.16e85es8q) * [PerfMatters introduction to custom ViewGroups - Part 2](https://medium.com/android-news/perfmatters-introduction-to-custom-viewgroups-to-improve-performance-part-2-f14fbcd47c#.54gwv79uh) ### Thread/Process * [A journey on the Android Main Thread - PSVM](https://corner.squareup.com/2013/10/android-main-thread-1.html) * [A journey on the Android Main Thread - Lifecycle bits](https://corner.squareup.com/2013/12/android-main-thread-2.html) * [Async Android](http://jdam.cd/async-android/) * [The Chronos library: making easier work of long operations](https://medium.com/redmadrobot-mobile/the-chronos-library-making-easier-work-of-long-operations-69c7e2d16946#.es6jjpyqe) * [Using concurrency to improve speed and performance in Android](https://medium.com/@ali.muzaffar/using-concurrency-and-speed-and-performance-on-android-d00ab4c5c8e3#.jnygzsb8u) ### 其他 * [Performance Tips](http://developer.android.com/training/articles/perf-tips.html) * [Speed up your app](http://blog.udinic.com/2015/09/15/speed-up-your-app) * [Why You Should Care about Your Android App's Performance](http://blog.nimbledroid.com/2015/09/03/why-you-should-care-about-app-performance.html) * [How to Make Your Application Fluid](http://blog.nimbledroid.com/2015/09/17/how-to-make-your-application-fluid.html) * [Optimizing Android bytecode with Redex](https://code.facebook.com/posts/1480969635539475?refid=8&_ft_=qid.6200742327944805904:mf_story_key.6249203789055394671:eligibleForSeeFirstBumping.1&__tn__=H) * [Using hardware layers to improve Android animation performance](http://blog.danlew.net/2015/10/20/using-hardware-layers-to-improve-animation-performance/) * [Tip: Use cold start time to make your app look much faster](https://plus.google.com/105148560373589648355/posts/V3Tp6xxUWHH) ## Application * [How to use the Application object of Android](http://www.intridea.com/blog/2011/5/24/how-to-use-application-object-of-android) ## ListView/RecyclerView/GridView(Android开发重中之重) * [Android ListView工作原理完全解析,带你从源码的角度彻底理解](http://blog.csdn.net/guolin_blog/article/details/44996879) ### Cyril Mottier - ListView Tips & Tricks * [ListView Tips & Tricks #1: Handling Emptiness](http://cyrilmottier.com/2011/06/20/listview-tips-tricks-1-handle-emptiness/) * [ListView Tips & Tricks #2: Sectioning Your ListView](http://cyrilmottier.com/2011/07/05/listview-tips-tricks-2-section-your-listview/) * [ListView Tips & Tricks #3: Create Fancy ListViews](http://www.cyrilmottier.com/2011/08/08/listview-tips-tricks-3-create-fancy-listviews/) * [ListView Tips & Tricks #4: Add Several Clickable Areas](http://cyrilmottier.com/2011/11/23/listview-tips-tricks-4-add-several-clickable-areas/) * [ListView Tips & Tricks #5: Enlarged Touchable Areas](http://cyrilmottier.com/2012/02/16/listview-tips-tricks-5-enlarged-touchable-areas/) ### Bill Phillips - RecyclerView * [RecyclerView Part 1: Fundamentals For ListView Experts](https://www.bignerdranch.com/blog/recyclerview-part-1-fundamentals-for-listview-experts/) * [RecyclerView Part 2: Choice Modes](https://www.bignerdranch.com/blog/recyclerview-part-2-choice-modes/) ### Building a RecyclerView LayoutManager * [Building a RecyclerView LayoutManager – Part 1](http://wiresareobsolete.com/2014/09/building-a-recyclerview-layoutmanager-part-1/) * [Building a RecyclerView LayoutManager – Part 2](http://wiresareobsolete.com/2014/09/recyclerview-layoutmanager-2/) * [Building a RecyclerView LayoutManager – Part 3](http://wiresareobsolete.com/2015/02/recyclerview-layoutmanager-3/) ### Drag and Swipe * [Drag and Swipe with RecyclerView Part One: Basic ItemTouchHelper Example](https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf) * [Drag and Swipe with RecyclerView Part Two: Handles, Grids, and Custom Animations](https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-6a6f0c422efd) ### Adapter * [Using an ArrayAdapter with ListView](https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView) ### 下拉刷新 * [我眼中的下拉刷新](http://www.liaohuqiu.net/cn/posts/the-pull-to-refresh-in-my-eyes/) * [Implementing Swipe to Refresh, an Android Material Design UI Pattern](https://www.bignerdranch.com/blog/implementing-swipe-to-refresh/) ### 上拉加载更多 * [加载更多](http://cube-sdk.liaohuqiu.net/cn/load-more/) * [Endless Scrolling with AdapterViews](https://github.com/codepath/android_guides/wiki/Endless-Scrolling-with-AdapterViews) ### Scrolling * [Scrolling RecyclerView – Part 1](https://blog.stylingandroid.com/scrolling-recyclerview-part-1/) * [Scrolling RecyclerView – Part 2](https://blog.stylingandroid.com/scrolling-recycler-view-part-2/) * [RecyclerView FastScroll – Part 1](https://blog.stylingandroid.com/recyclerview-fastscroll-part-1/) * [RecyclerView FastScroll – Part 2](https://blog.stylingandroid.com/recyclerview-fastscroll-part-2/) * [Android: ListView Fastscroll and its styling](http://androidopentutorials.com/android-listview-fastscroll/) ### Sectioned * [SimpleSectionedRecyclerViewAdapter](https://gist.github.com/gabrielemariotti/4c189fb1124df4556058) ### Animation * [Layout animations on RecyclerView](http://antonioleiva.com/layout-animations-on-recyclerview/) ### 其他 * [6 ways to make your lists scroll faster than the wind](http://leftshift.io/6-ways-to-make-your-lists-scroll-faster-than-the-wind) 提升ListView滚动速度 * [Expand a RecyclerView in Four Steps](https://www.bignerdranch.com/blog/expand-a-recyclerview-in-four-steps/) ## UI ### Design Support Library * [Exploring the new Android Design Support Library](https://medium.com/ribot-labs/exploring-the-new-android-design-support-library-b7cda56d2c32) * [More Material Design with Topeka for Android](http://android-developers.blogspot.co.uk/2015/06/more-material-design-with-topeka-for_16.html) * [Codelab for Android Design Support Library used in I/O Rewind Bangkok session](http://inthecheesefactory.com/blog/android-design-support-library-codelab/en) * [TIPS AND TRICKS FOR ANDROID MATERIAL SUPPORT LIBRARY](http://code.hootsuite.com/tips-and-tricks-for-android-material-support-library/) * [TIPS AND TRICKS FOR ANDROID MATERIAL SUPPORT LIBRARY 2: ELECTRIC BOOGALOO](http://code.hootsuite.com/tips-and-tricks-for-android-material-support-library-2-electric-boogaloo/) * [Overview of the Android Design Support Library](http://code.tutsplus.com/articles/overview-of-the-android-design-support-library--cms-24234) * [InstaMaterial meets Design Support Library](http://frogermcs.github.io/instamaterial-meets-design-support-library/) ### Animation * [Android应用开发之所有动画使用详解](http://blog.csdn.net/yanbober/article/details/46481171) * [Android实现炫酷SVG动画效果](http://blog.csdn.net/crazy__chen/article/details/47728241) ### Beautiful UI Widget * [How We Developed the Guillotine Menu Animation for Android](http://yalantis.com/blog/how-we-developed-the-guillotine-menu-animation-for-android/?utm_source=github) * [一步一步教你实现Periscope点赞效果](http://www.jianshu.com/p/03fdcfd3ae9c) * [Card Library : Customization](https://github.com/gabrielemariotti/cardslib/blob/master/doc/CUSTOMIZATION.md) -- 自定义Card View * [*GraphView*](http://www.android-graphview.org/) -- open source graph plotting library for Android ### Custom View/ViewGroup * [Creating Custom Views -- Android官方Training](http://developer.android.com/training/custom-views/index.html) * [Custom Components](http://developer.android.com/intl/zh-cn/guide/topics/ui/custom-components.html) * [Defining Custom Views](https://github.com/codepath/android_guides/wiki/Defining-Custom-Views) * [Android LayoutInflater原理分析,带你一步步深入了解View(一)](http://blog.csdn.net/guolin_blog/article/details/12921889) * [Android视图绘制流程完全解析,带你一步步深入了解View(二)](http://blog.csdn.net/guolin_blog/article/details/16330267) * [Android视图状态及重绘流程分析,带你一步步深入了解View(三)](http://blog.csdn.net/guolin_blog/article/details/17045157) * [Android自定义View的实现方法,带你一步步深入了解View(四)](http://blog.csdn.net/guolin_blog/article/details/17357967) * [Creating custom Android views – Part 1: Extending standard views and adding new xml attributes](http://www.jayway.com/2012/06/25/creating-custom-android-views-part-1-extending-standard-views-and-adding-new-xml-attributes/) * [Creating custom Android views – Part 2: How padding works and how to draw your own content](http://www.jayway.com/2012/07/03/creating-custom-android-views-part-2-how-padding-works-and-how-to-draw-your-own-content/) * [Creating custom Android views – Part 3: Animating your custom views, smoothly](http://www.jayway.com/2012/08/29/creating-custom-android-views-part-3-animating-your-custom-views-smoothly/) * [Creating custom Android views – Part 4: Measuring and how to force a view to be square](http://www.jayway.com/2012/12/12/creating-custom-android-views-part-4-measuring-and-how-to-force-a-view-to-be-square/) * [Custom ViewGroups](https://sriramramani.wordpress.com/2015/05/06/custom-viewgroups/) * [Using Custom Compound Views in Android](http://ryanharter.com/blog/2014/05/14/using-custom-compound-views-in-android/) * [Custom Drawables](http://ryanharter.com/blog/2015/04/03/custom-drawables/) * [How We Developed the Guillotine Menu Animation for Android](https://yalantis.com/blog/how-we-developed-the-guillotine-menu-animation-for-android/) -- 如何实现铡刀菜单动画? * [Android Canvas drawText实现中文垂直居中](http://blog.csdn.net/hursing/article/details/18703599) * [Twitter's like animation in Android - alternative](http://frogermcs.github.io/twitters-like-animation-in-android-alternative/) ### Layout * [Quick return with CoordinatorLayout](https://medium.com/@bherbst/quick-return-with-recyclerview-e70c8da9b4c1) * [Mastering the Coordinator Layout](http://saulmm.github.io/mastering-coordinator/) ### EditText/TextView * [Making EditTexts with links both clickable and editable](http://blog.danlew.net/2015/12/14/making-edittexts-with-links-both-clickable-and-editable/) * [Creating custom Text Selection actions with ACTION_PROCESS_TEXT](https://medium.com/google-developers/custom-text-selection-actions-with-action-process-text-191f792d2999?linkId=20000023#.ukos4ejww) * [Beware EditText on API 21](http://blog.danlew.net/2015/10/12/beware-edittext-on-api-21/) ### Android Design * [Designing Android Apps For Vision Impaired Users](https://www.novoda.com/blog/designing-android-apps-with-vision-impaired-users-in-mind/) * [The Fabulous Goes Material](http://androiduiux.com/2015/10/20/the-fabulous-goes-material/) * [Login experiences that don't suck](https://www.novoda.com/blog/login-experiences-that-dont-suck/) * [Why would I want to fitsSystemWindows?](https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec?linkId=19685562#.en41g4ekt) ### 其他 * [Exploring Chrome Customs Tabs on Android](https://medium.com/ribot-labs/exploring-chrome-customs-tabs-on-android-ef427effe2f4) * [Chrome custom tabs](http://android-developers.blogspot.com/2015/09/chrome-custom-tabs-smooth-transition.html) * [Vectors For All (almost)](https://blog.stylingandroid.com/vectors-for-all-almost/) ## ActionBar / ToolBar * [android:ToolBar详解(手把手教程)](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2006.html) * [How to hide/show Toolbar when list is scroling (part 1)](http://mzgreen.github.io/2015/02/15/How-to-hideshow-Toolbar-when-list-is-scroling%28part1%29/) * [How to hide/show Toolbar when list is scrolling (part 2)](http://mzgreen.github.io/2015/02/28/How-to-hideshow-Toolbar-when-list-is-scrolling%28part2%29/) * [How to hide/show Toolbar when list is scrolling (part 3)](https://mzgreen.github.io/2015/06/23/How-to-hideshow-Toolbar-when-list-is-scrolling%28part3%29/) ## Fragment * [Android Fragments Tutorial](https://newcircle.com/s/post/1250/android_fragments_tutorial) * [Android Fragment完全解析,关于碎片你所需知道的一切](http://blog.csdn.net/guolin_blog/article/details/8881711) * [Probably be the best way (?) to save/restore Android Fragment’s state so far](http://inthecheesefactory.com/blog/best-approach-to-keep-android-fragment-state/en) *注:作者认为该方法存在很多问题,建议阅读下篇博文* * [The Real Best Practices to Save/Restore Activity's and Fragment's state. (StatedFragment is now deprecated)](http://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en) * [How to make onActivityResult get called on Nested Fragment](http://inthecheesefactory.com/blog/how-to-fix-nested-fragment-onactivityresult-issue/en) * [ViewPager Without Fragments](https://www.bignerdranch.com/blog/viewpager-without-fragments/) * [让多个Fragment 切换时不重新实例化](http://www.yrom.net/blog/2013/03/10/fragment-switch-not-restart/) * [Fragment transitions with shared elements](https://medium.com/@bherbst/fragment-transitions-with-shared-elements-7c7d71d31cbb#.i9cg4cryg) * [Sending objects to Fragment; Naive question: is it sent by value?!](https://medium.com/@hamidgh/sending-objects-to-fragment-naive-question-is-it-sent-by-value-ddaaa19fa42d#.bbv1i4i4y) ## Services * [Services](http://developer.android.com/guide/components/services.html) * [Bound Services](http://developer.android.com/guide/components/bound-services.html) * [Android Interface Definition Language (AIDL)](http://developer.android.com/guide/components/aidl.html) * [Starting Background Services](https://github.com/codepath/android_guides/wiki/Starting-Background-Services) ## Context Provider * [Android Tutorial: Content Provider Basics](http://www.grokkingandroid.com/android-tutorial-content-provider-basics/) * [Android Tutorial: Using Content Providers](http://www.grokkingandroid.com/android-tutorial-using-content-providers/) * [Android Tutorial: Writing your own Content Provider](http://www.grokkingandroid.com/android-tutorial-writing-your-own-content-provider/) ## Notification * [Notifications](https://guides.codepath.com/android/Notifications) ## Data Binding * **Data Binding - Styling Android** [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/) ## Runtime Permissions * [Runtime Permissions: Best Practices](http://www.captechconsulting.com/blogs/runtime-permissions-best-practices-and-how-to-gracefully-handle-permission-removal) ## Hacky (小技巧) * [使用android.view.TouchDelegate扩大View的触摸点击区域](http://blog.csdn.net/tongcpp/article/details/23450975) * [Android EditText的使用及值得注意的地方](http://www.jianshu.com/p/1f05bb1fde3e) * *Android Tips Round-Up* [[PART 1](http://blog.danlew.net/2014/03/30/android-tips-round-up-part-1/)] [[PART 2](http://blog.danlew.net/2014/04/14/android-tips-round-up-part-2/)] [[PART 3](http://blog.danlew.net/2014/04/28/android-tips-round-up-part-3/)] [[PART 4](http://blog.danlew.net/2014/05/12/android-tips-round-up-part-4/)] [[PART 5](http://blog.danlew.net/2014/05/28/android-tips-round-up-part-5/)] * [Why You Should Use a GIT SHA in Your Crash Reporting](http://www.donnfelker.com/why-you-should-use-a-git-sha-in-your-crash-reporting/) * *Supporting multiple themes in your Android app* [[(Part 1)](http://www.hidroh.com/2015/02/16/support-multiple-themes-android-app/)] [[(Part 2)](http://www.hidroh.com/2015/02/25/support-multiple-themes-android-app-part-2/)] * [A useful stack on android #1, architecture](http://saulmm.github.io/2015/02/02/A%20useful%20stack%20on%20android%20%231,%20architecture/) * [A useful stack on android #2, user interface](http://saulmm.github.io/a-useful-stack-on-android-2-user-interface/) * [A useful stack on android #3, compatibility](http://saulmm.github.io/a-useful-stack-on-android-3-compatibility/) * [Going multiprocess on Android](https://medium.com/@rotxed/going-multiprocess-on-android-52975ed8863c) * [Fast Rendering News Feed on Android](https://code.facebook.com/posts/879498888759525/fast-rendering-news-feed-on-android/?pnref=story) * [Cool Android Apis 整理(一)](http://oakzmm.com/2015/08/04/cool-Android-api/) * [Cool Android Apis 整理(二)](http://oakzmm.com/2015/08/11/cool-Android-api-2/) * [Android快速开发系列 10个常用工具类](http://android.jobbole.com/80826/) * [Tinting drawables](http://andraskindler.com/blog/2015/tinting_drawables/) * [The truth about Preventative Optimizations](https://medium.com/google-developers/the-truth-about-preventative-optimizations-ccebadfd3eb5) * [Don't Interrupt the User's Flow](http://hannesdorfmann.com/android/dont-interrupt-user-flow/) * [Lazy Loading Dex files](https://medium.com/@Macarse/lazy-loading-dex-files-d41f6f37df0e#.w72504r2g) * [Having Trouble Focusing? A Primer on Focus in Android](https://www.novoda.com/blog/do-you-even-focus-bro/) * [Exploring Meaningful Motion on Android](https://medium.com/ribot-labs/exploring-meaningful-motion-on-android-1cd95a4bc61d#.j4p4u3sh7) ## Kotlin lambdas * [Unleash functional power on Android (I): Kotlin lambdas](http://antonioleiva.com/functional-programming-android-kotlin-lambdas/) * [Functional Android (II): Collection operations in Kotlin](http://antonioleiva.com/collection-operations-kotlin/) * [AO(sp)y Episode 2 - Lambdas](http://kiranrao.in/blog/2015/09/06/ao-spy-2/) * [10 reasons (plus one) to try Kotlin on Android](https://plus.google.com/+OmarMiatello/posts/jBCuqFJ8gnx) * [Kotlin: A New Hope in a Java 6 Wasteland](https://realm.io/news/droidcon-michael-pardo-kotlin/) * [Converting Plaid to Kotlin: Lessons learned (Part 1)](http://antonioleiva.com/plaid-kotlin-1/) * [Converting Plaid to Kotlin: Lessons learned (Part 2)](http://antonioleiva.com/plaid-kotlin-2/) ## Dependency Injection * [Dependency Injection on Android](http://tech.just-eat.com/2015/10/26/dependency-injection-on-android/) * [Dependency Management for Android Libraries](http://johnpetitto.com/android-lib-dependency-management/) ## Rumtime Permissions * [Runtime Permissions: Best Practices](http://www.captechconsulting.com/blogs/runtime-permissions-best-practices-and-how-to-gracefully-handle-permission-removal) * [Sharing files on Android in a world with runtime permissions](http://blog.danlew.net/2015/10/07/sharing-files-on-android-in-a-world-with-runtime-permissions/) * [Runtime Permissions, Files, and ACTION_SEND](https://commonsware.com/blog/2015/10/07/runtime-permissions-files-action-send.html) * [RxPermissions](https://github.com/tbruyelle/RxPermissions) ## Android M * [Intent Resolving in Android M](https://medium.com/google-developer-experts/intent-resolving-in-android-m-c17d39d27048#.a3fd8rrbu) * [Android M: What’s that “Broadcast Tile” for?](https://medium.com/@kcoppock/android-m-what-s-that-broadcast-tile-for-d1cd3a477a5f#.kun6dij48) * [Implementing Android Marshmallow Direct Share](https://www.bignerdranch.com/blog/implementing-android-marshmallow-direct-share/) ## 开发框架 * [Creating and Publishing an Android Library](https://medium.com/android-news/the-complete-guide-to-creating-an-android-library-46628b7fc879#.sz8py9whb) ### [Retrofit](https://github.com/square/retrofit) * [Retrofit官方文档](http://square.github.io/retrofit/) * [Retrofit开发指南](https://github.com/bboyfeiyu/android-tech-frontier/tree/master/issue-7/Retrofit%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97) 中文翻译 * [Retrofit Android Tutorial](http://themakeinfo.com/2015/04/retrofit-android-tutorial/) 英文原版 * [Retrofit by Square](http://kdubblabs.com/java/retrofit-by-square/) * [A smart way to use Retrofit](http://blog.robinchutaux.com/blog/a-smart-way-to-use-retrofit/) * [Implementing an Android REST Client using Retrofit](http://inaka.net/blog/2014/10/10/android-retrofit-rest-client/) * [Retrofit — Getting Started and Create an Android Client](https://futurestud.io/blog/retrofit-getting-started-and-android-client/) * [How To Use Retrofit Library In Your Android App](http://simpledeveloper.com/how-to-use-retrofit-library-in-android/) * [Retrofit – Using Jackson JSON Conversion](http://kdubblabs.com/java/retrofit-by-square/retrofit-using-jackson-json-conversion/) 使用Jackson解析 * [Simple HTTP with Retrofit 2](https://speakerdeck.com/jakewharton/simple-http-with-retrofit-2-droidcon-nyc-2015) * [Retrofit 2 — Upgrade Guide from 1.9](https://futurestud.io/blog/retrofit-2-upgrade-guide-from-1-9) * [How to make HTTP calls on Android with Retrofit 2](https://medium.com/@shelajev/how-to-make-http-calls-on-android-with-retrofit-2-cfc4a67c6254#.5do4t2pfs) ### [Picasso](https://github.com/square/picasso) * [Picasso官方文档](http://square.github.io/picasso/) * [Solving the Android image loading problem: Volley vs. Picasso](https://www.bignerdranch.com/blog/solving-the-android-image-loading-problem-volley-vs-picasso/) * [Loading images with data binding and Picasso](https://medium.com/@ivanc/loading-images-with-data-binding-and-picasso-555dad683fdc) ### [Fresco](https://github.com/facebook/fresco) * [Fresco官方文档](http://fresco-cn.org/) ### [Glide](https://github.com/bumptech/glide) * [Introduction to Glide, Image Loader Library for Android, recommended by Google](http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en)* [Glide – How Yelp’s Android App Loads Images](http://engineeringblog.yelp.com/2015/07/glide-how-yelps-android-app-loads-images.html) * [Glide 一个专注于平滑滚动的图片加载和缓存库](http://www.jianshu.com/p/4a3177b57949?utm_campaign=maleskine&utm_content=note&utm_medium=writer_share&utm_source=weibo) ### [Android Universal Image Loader](https://github.com/nostra13/Android-Universal-Image-Loader) * [Android-Universal-Image-Loader Wiki](https://github.com/nostra13/Android-Universal-Image-Loader/wiki) * [Android Universal Image Loader 源码分析](http://codekk.com/open-source-project-analysis/detail/Android/huxian99/Android%20Universal%20Image%20Loader%20%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90) ### [OkHTTP](https://github.com/square/okhttp) * [Android Networking I: OkHttp, Volley and Gson](https://medium.com/@sotti/android-networking-i-okhttp-volley-and-gson-72004efff196) *[[中文版](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0720/3209.html)] * [Android OkHttp完全解析](http://blog.csdn.net/lmj623565791/article/details/47911083) * [Effective OkHttp](http://omgitsmgp.com/2015/12/02/effective-okhttp/) ### [EventBus](https://github.com/greenrobot/EventBus) * [Quick Tip: How to Use the EventBus Library](http://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694) * [Why you should avoid using an event bus](http://endlesswhileloop.com/blog/2015/06/11/stop-using-event-buses/) ### [ButterKnife](https://github.com/JakeWharton/butterknife) * [ButterKnife官方文档](http://jakewharton.github.io/butterknife/) * [ButterKnife--View注入框架](http://stormzhang.com/openandroid/android/2014/01/12/android-butterknife/) * [5 Reasons You Should Use Butterknife For Android ](http://www.thekeyconsultant.com/2013/09/5-reasons-you-should-use-butterknife.html) ### [LeakCanary](https://github.com/square/leakcanary) * [LeakCanary 中文使用说明](http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/) * [LeakCanary: 让内存泄露无所遁形](http://www.liaohuqiu.net/cn/posts/leak-canary/) ### [Realm](https://realm.io/) * [Realm Java 0.80.3](https://realm.io/docs/java/latest/) -- Realm英文文档(Java) * [Realm中文文档](http://randy.party/2014/10/17/realm-doc-in-chinese.html) * [Why I Don't Use Realm Anymore](http://johnpetitto.com/no-more-realm/) ### [greenDao](https://github.com/greenrobot/greenDAO) * [greenDao官方文档](http://greendao-orm.com/) * [ORM 框架之 greenDAO 使用心得](http://itangqi.me/android/using-greendao-experience/) ### [RxJava](https://github.com/ReactiveX/RxJava) * [The introduction to Reactive Programming you've been missing](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754) -- 什么是响应式编程(Reactive Programming) * [What is Functional Reactive Programming?](https://www.bignerdranch.com/blog/what-is-functional-reactive-programming/) * [Top 7 Tips for RxJava on Android](http://futurice.com/blog/top-7-tips-for-rxjava-on-android) * [ReactiveX Tutorial](http://reactivex.io/tutorials.html) * [When Iron Man becomes reactive, RxJava](http://saulmm.github.io/when-Iron-Man-becomes-Reactive-Avengers2/) * **Introduction to RxJava for Android** * [INTRODUCTION TO RXJAVA FOR ANDROID: THE TALK](http://www.philosophicalhacker.com/2015/06/16/introduction-to-rxjava-for-android-the-talk/) * [INTRODUCTION TO RXJAVA FOR ANDROID (PT. 2)](http://www.philosophicalhacker.com/2015/06/19/introduction-to-rxjava-for-android-pt-2/) * **Grokking RxJava** * [Grokking RxJava, Part 1: The Basics](http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/) * [Grokking RxJava, Part 2: Operator, Operator](http://blog.danlew.net/2014/09/22/grokking-rxjava-part-2/) * [Grokking RxJava, Part 3: Reactive with Benefits](http://blog.danlew.net/2014/09/30/grokking-rxjava-part-3/) * [Grokking RxJava, Part 4: Reactive Android](http://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/) * [Loading data from multiple sources with RxJava](http://blog.danlew.net/2015/06/22/loading-data-from-multiple-sources-with-rxjava/) * [Don't break the chain: use RxJava's compose() operator](http://blog.danlew.net/2015/03/02/dont-break-the-chain/) * [Replace AsyncTask and AsyncTaskLoader with rx.Observable – RxJava Android Patterns](http://stablekernel.com/blog/replace-asynctask-asynctaskloader-rx-observable-rxjava-android-patterns/) * [RxJava Observable tranformation: concatMap() vs flatMap()](http://fernandocejas.com/2015/01/11/rxjava-observable-tranformation-concatmap-vs-flatmap/) * [Learning RxJava (for Android) by example](https://www.youtube.com/watch?v=k3D0cWyNno4&feature=youtu.be) -- YouTube视频教程 * [RxJava Code Review Part 1](http://artemzin.com/blog/rxjava-code-review-part-1/) * [A Note About the Warmth of the Share and Replay Operators](http://blog.kaush.co/2015/07/11/a-note-about-the-warmth-share-operator/) * [给 Android 开发者的 RxJava 详解](http://gank.io/post/560e15be2dca930e00da1083) * [How to upgrade to RxAndroid 1.0](http://blog.danlew.net/2015/09/01/how-to-upgrade-to-rxandroid-10/) * [Unit Testing RxJava Observables and Subscriptions](http://fedepaol.github.io/blog/2015/09/13/testing-rxjava-observables-subscriptions/) * [Functional Reactive Programming in Java](https://realm.io/news/droidcon-gomez-functional-reactive-programming/) * [Why use Observable.create() and not just inherit from Observable?](http://www.grokkingandroid.com/why-use-observable-create-and-not-just-inherit-from-observable/) * [Advanced RxJava ConnectableObservables (part 1)](http://akarnokd.blogspot.com/2015/10/connectableobservables-part-1.html) * [Getting Started with RxJava and Android ](http://www.captechconsulting.com/blogs/getting-started-with-rxjava-and-android) * [Debugging RxJava on Android](http://fernandocejas.com/2015/11/05/debugging-rxjava-on-android/) * [RxJava’s Side Effect Methods](http://www.grokkingandroid.com/rxjavas-side-effect-methods/) * [Improving UX with RxJava](https://medium.com/@diolor/improving-ux-with-rxjava-4440a13b157f#.udwt5kfbk) * [RxJava Operators - toList()](http://tomstechnicalblog.blogspot.com/2015/11/rxjava-operators-tolist.html) * [The new Completable API (part 1)](http://akarnokd.blogspot.hu/2015/12/the-new-completable-api-part-1.html) * [How to think about Subjects in RxJava (Part 1)](https://tech.instacart.com/how-to-think-about-subjects-part-1/) * [Rx glitches aren't actually a problem](http://staltz.com/rx-glitches-arent-actually-a-problem.html) * [Crunching RxAndroid — Part 5](https://medium.com/crunching-rxandroid/crunching-rxandroid-part-5-1dd5fba89058#.fw7kese8v) * [Subscribe It While It's Hot: Cached Rest Requests With RxJava](http://fedepaol.github.io/blog/2016/01/01/cached-rest-requests-with-rxjava/) ### [Dagger](https://github.com/square/dagger) * [Dagger 源码解析](https://github.com/android-cn/android-open-project-analysis/tree/master/dagger) ### [FlatBuffers](https://github.com/google/flatbuffers) * [FlatBuffers官方文档](http://google.github.io/flatbuffers/) * [FlatBuffers in Android - introduction](http://frogermcs.github.io/flatbuffers-in-android-introdution/) ### [Iconify](https://github.com/JoanZapata/android-iconify) * [Iconify just got a lot better](http://blog.joanzapata.com/iconify-just-got-a-lot-better/) ## 测试 * [Robolectric Installation for Unit Testing](https://github.com/codepath/android_guides/wiki/Robolectric-Installation-for-Unit-Testing) * [用Robolectric来做Android unit testing](http://segmentfault.com/a/1190000002904944) * [Everybody Tests: Boom! Screenshot! ](http://www.everybodytests.com/2015/06/boom-screenshot-level-up-your-test.html) * [All in Together: Android Studio, Gradle and Robolectric](https://www.bignerdranch.com/blog/all-in-together-android-studio-gradle-and-robolectric/) * [Triumph! Android Studio 1.2 Sneaks In Full Testing Support](https://www.bignerdranch.com/blog/triumph-android-studio-1-2-sneaks-in-full-testing-support/) * [Parameterized testing with Robolectric](http://www.jayway.com/2015/03/19/parameterized-testing-with-robolectric/) * [Android Tools Project Site -- Unit testing support](https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support) * [Reliable API testing for Android with Retrofit and Mockito](http://www.mdswanson.com/blog/2013/12/16/reliable-android-http-testing-with-retrofit-and-mockito.html) * [Activity测试](http://www.devtf.cn/?p=979) * [Tutorial: Sustainable Android Tests with Page Objects](https://newcircle.com/s/post/1772/2015/10/16/tutorial-sustainable-android-tests-with-page-objects) * [Sharing code between unit tests and instrumentation tests on Android](http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/) * [World-Class Testing Development Pipeline for Android - Part 1.](http://blog.karumi.com/world-class-testing-development-pipeline-for-android/) * [World-Class Testing Development Pipeline for Android - Part 2.](http://blog.karumi.com/world-class-testing-development-pipeline-for-android-part-2/) * [Leveraging product flavors in Android Studio for hermetic testing ](http://android-developers.blogspot.com/2015/12/leveraging-product-flavors-in-android.html?linkId=19576836) * [How to mock dependencies in Unit, Integration and Functional tests; Dagger, Robolectric and Instrumentation](http://artemzin.com/blog/how-to-mock-dependencies-in-unit-integration-and-functional-tests-dagger-robolectric-instrumentation/) * [Test before integrate](https://medium.com/@orhanobut/test-before-integrate-e713090070d6#.kej2p32js) * [Testing Tricks #2: Finding UI Views](http://www.adavis.info/2015/12/testing-tricks-2-finding-ui-views.html) * [Handling Android runtime permissions in UI tests](https://medium.com/@hitherejoe/handling-android-runtime-permissions-in-ui-tests-981f9dc11a4e#.mn7hyiqd9) * [Metronome: A Fully Unit-Tested Rx-Based Reference Application](https://medium.com/@cainwong/metronome-a-fully-unit-tested-rx-based-reference-application-6aaeba0a9c1a#.rum7rn2zv) ### Espresso * [Using Espresso for Easy UI Testing](http://www.michaelevans.org/blog/2015/08/03/using-espresso-for-easy-ui-testing/) * [Testing Intents With Espresso Intents](http://michaelevans.org/blog/2015/09/15/testing-intents-with-espresso-intents/) * [Espresso: Save and restore state](http://blog.sqisland.com/2015/10/espresso-save-and-restore-state.html) * [Testing a sorted list with Espresso](http://blog.egorand.me/testing-a-sorted-list-with-espresso/) * [Mock Application in Espresso for Dependency Injection](http://blog.sqisland.com/2015/12/mock-application-in-espresso.html) * [Reliable functional tests with Espresso and Dagger](http://blog.egorand.me/reliable-functional-tests-with-espresso-and-dagger/) ## 其他 * [THINGS YOU MAY NOT KNOW: TOOLS ATTRIBUTES](http://www.randomlytyping.com/blog/2015/6/17/things-you-may-not-know-about-tools-attributes) -- XML: `tools`属性 * [Tools Attributes](http://tools.android.com/tech-docs/tools-attributes) * [Tools of the trade — Part 1](https://medium.com/sebs-top-tips/tools-of-the-trade-part-1-f3c1c73de898) * [Tools of the trade — Part 2](https://medium.com/sebs-top-tips/tools-of-the-trade-part-2-b91271892d10) * [Designtime Layout Attributes](http://tools.android.com/tips/layout-designtime-attributes) * [ANNOTATION PROCESSING 101](http://hannesdorfmann.com/annotation-processing/annotationprocessing101/) -- Annotation 注解 * [A Look At Android Support Annotations](http://anupcowkur.com/posts/a-look-at-android-support-annotations/) * [Parcelable vs Serializable](http://www.developerphil.com/parcelable-vs-serializable/) * [How to debug HTTP(S) traffic on Android](https://medium.com/@rotxed/how-to-debug-http-s-traffic-on-android-7fbe5d2a34) * [Android: Requesting root access in your app](http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/) * [TextView预渲染研究](http://ragnraok.github.io/textview-pre-render-research.html) * [Wutson: Exploring Design And Development Workflows](http://novoda.com/blog/londroid-wutson/) * [Android视频录制app解决方案汇总](https://www.zybuluo.com/lichangadd/note/148109) * [Annotations to support your contracts](https://medium.com/sebs-top-tips/annotations-to-support-your-contracts-609ff259d5df#.fd8yltv8k) ## 设计 * [五款app原型设计工具对比](http://get.jobdeer.com/7827.get) * [Effective Prototyping](https://medium.com/@sophie_paxtonUX/effective-prototyping-ad97d2f469a0#.sq736uuvn) ## Architecting(MVC,MVP,MVVM) * [MVP for Android: how to organize the presentation layer](http://antonioleiva.com/mvp-android/) * [TED MOSBY - SOFTWARE ARCHITECT](http://hannesdorfmann.com/android/mosby/) * [STINSON'S PLAYBOOK FOR MOSBY](http://hannesdorfmann.com/android/mosby-playbook/) * [Introduction to Model-View-Presenter on Android](http://konmik.github.io/introduction-to-model-view-presenter-on-android.html) * [一种在android中实现MVP模式的新思路](https://github.com/bboyfeiyu/android-tech-frontier/tree/master/androidweekly/%E4%B8%80%E7%A7%8D%E5%9C%A8android%E4%B8%AD%E5%AE%9E%E7%8E%B0MVP%E6%A8%A1%E5%BC%8F%E7%9A%84%E6%96%B0%E6%80%9D%E8%B7%AF) **[[英文原版](http://blog.cainwong.com/android-mvp-an-alternate-approach/)]** * [Architecting Android…The clean way?](http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/) * [Architecting Android…The evolution](http://fernandocejas.com/2015/07/18/architecting-android-the-evolution/) * [MVPR: A FLEXIBLE, TESTABLE ARCHITECTURE FOR ANDROID (PT. 1)](http://www.philosophicalhacker.com/2015/07/07/mvpr-a-flexible-testable-architecture-for-android-pt-1/) * [Android Databinding: Goodbye Presenter, hello ViewModel! ](http://tech.vg.no/2015/07/17/android-databinding-goodbye-presenter-hello-viewmodel/) [[中文版](http://www.jianshu.com/p/4e3220a580f6)] * [Flux Architecture on Android](http://lgvalle.github.io/2015/08/04/flux-architecture/) **[[中文版](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0816/3311.html)]** * [Approaching Android with MVVM](https://medium.com/ribot-labs/approaching-android-with-mvvm-8ceec02d5442) * [Android Basic Project Architecture for MVP](https://medium.com/mobiwise-blog/android-basic-project-architecture-for-mvp-72f4b33252d0#.7931inhi1) * [archi](https://github.com/ivacf/archi) *Repository that showcases 3 Android app architectures: "Standard Android", MVP and MVVM. The exact same app is built 3 times following the different patterns.* * [EffectiveAndroid](https://github.com/rallat/EffectiveAndroid) *This sample project shows how to apply MVP and Clean architecture on an Android app* * [Android Basic Project Architecture for MVP](https://medium.com/mobiwise-blog/android-basic-project-architecture-for-mvp-72f4b33252d0#.7zo7f6vlz) * [A reactive MVP approach to the Plaid app (PART 1) ](http://hannesdorfmann.com/android/plaid-refactored-1/) * [A reactive MVP approach to the Plaid app (PART 2)](http://hannesdorfmann.com/android/plaid-refactored-2/) * [Android Application Architecture](https://medium.com/ribot-labs/android-application-architecture-8b6e34acda65#.wg5yl41dn) ## Android Studio/开发工具/AS插件/Gradle * [推荐几个非常有用的工具](http://stormzhang.com/android/2015/05/26/android-tools/) * [搜索最好的 Android 代码——Android开发工具之Codota](http://www.imooc.com/article/1086) * [Android Studio Live Templates](https://www.bignerdranch.com/blog/android-studio-live-templates/) * [Level-up with Android Studio Shortcuts and Live Templates](http://stablekernel.com/blog/level-up-with-android-studio-shortcuts-and-live-templates/) -- AS快捷键 * [How to distribute your own Android library through jCenter and Maven Central from Android Studio](http://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en) *[[中文版](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html)]* -- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central * [IDEA Colors & Fonts](http://www.ideacolorthemes.org/) -- 丰富的AS主题 * [Android Studio Tips & Tricks: Moving Around](http://www.developerphil.com/android-studio-tips-tricks-moving-around/) -- 掌握这些操作能节省很多时间 * Android Studio Tips Of the Day * [Android Studio Tips Of the Day - Roundup #1](http://www.developerphil.com/android-studio-tips-of-the-day-roundup-1/) * [Android Studio Tips Of the Day - Roundup #2](http://www.developerphil.com/android-studio-tips-of-the-day-roundup-2/) * [Android Studio Tips Of the Day - Roundup #3](http://www.developerphil.com/android-studio-tips-of-the-day-roundup-3/) * [Android Studio Tips Of the Day - Roundup #4](http://www.developerphil.com/android-studio-tips-of-the-day-roundup-4/) * [Android Studio Tips Of the Day - Roundup #5](http://www.developerphil.com/android-studio-tips-of-the-day-roundup-5/) * [Android Studio Tips Of the Day - Roundup #6](http://www.developerphil.com/android-studio-tips-of-the-day-roundup-6/) * [The Top 8 Plugins for Android Studio](http://www.sitepoint.com/top-8-plugins-android-studio/) * [Squeezing your Gradle builds](http://saulmm.github.io/squeezing-gradle-builds/) * [Android Studio使用技巧系列教程](http://blog.csdn.net/gfbgl/article/category/5609255) * [使用Android lint发现并解决高版本API问题](http://droidyue.com/blog/2015/07/25/use-android-lint-to-find-higher-api-usage/) * [A private Maven repository for Android in 30 min](https://jeroenmols.github.io/blog/2015/08/06/artifactory/) **Artifactory** * [Android项目中如何用好构建神器Gradle?](http://www.csdn.net/article/2015-08-10/2825420/2) * [Gradle tip #1: tasks](http://trickyandroid.com/gradle-tip-1-tasks/) * [Gradle tip #2: understanding syntax](http://trickyandroid.com/gradle-tip-2-understanding-syntax/) * [Android Studio系列教程四--Gradle基础](http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/) * [Android Studio系列教程五--Gradle命令详解与导入第三方包](http://stormzhang.com/devtools/2015/01/05/android-studio-tutorial5/) * [Android Studio系列教程六--Gradle多渠道打包](http://stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/) * [Android Studio - MAC 版 - 快捷键详解](http://blog.csdn.net/shulianghan/article/details/47321177) * [Publish with Gradle on Bitbucket](https://medium.com/@Mul0w/publish-with-gradle-on-bitbucket-1463236dc460) * [Vysor--Chrome的一个插件,可以做到在电脑上操作Android手机,增强生产力的神器](http://www.vysor.io/) * [Don't use dynamic versions for your dependencies](http://blog.danlew.net/2015/09/09/dont-use-dynamic-versions-for-your-dependencies/) * [Android Development Tidbits // No. 1](http://willowtreeapps.com/blog/android-development-tidbits-no-1/) * [LayerVisualizer](https://github.com/romannurik/LayerVisualizer) * [RxMarbles](http://rxmarbles.com/) * [Getting Started: Configuring Mac for Android](http://coreylatislaw.com/getting-started-configuring-mac-for-android/) * [Android Feature Graphic Generator](http://www.norio.be/android-feature-graphic-generator/) * [Optimizing Android bytecode with Redex](https://code.facebook.com/posts/1480969635539475?refid=8&_ft_=qid.6200742327944805904:mf_story_key.6249203789055394671:eligibleForSeeFirstBumping.1&__tn__=H) * [screenshot-tests-for-android](http://facebook.github.io/screenshot-tests-for-android/) * [Dexcount Gradle Plugin](https://github.com/KeepSafe/dexcount-gradle-plugin) * [Circle CI](https://circleci.com/) * [Continuous Integration on Android: Why we ditched Jenkins for Circle CI](https://infinum.co/the-capsized-eight/articles/continuous-integration-on-android-why-we-ditched-jenkins-for-circle-ci?utm_content=buffer406d5&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer) * [Android Build Speed Up. ver English](https://medium.com/android-news/android-build-speed-up-ver-english-c76890aa610#.s3rs5ztt2) * [How to have debug, beta and prod builds installed at the same time](https://medium.com/yplan-eng/how-to-have-debug-beta-and-prod-builds-installed-at-the-same-time-696ec4c76211#.fquicgjf9) * [How to Analyze & Manage Memory on Android Like a Boss](https://acadgild.com/blog/analyze-manage-android-devices-memory-allocation-through-ddms-mat/) * [Create Useful .proguard Files For Your Project](https://proguard.herokuapp.com/) * [Gradle tips & tricks to survive the zombie apocalypse](https://medium.com/@cesarmcferreira/gradle-tips-tricks-to-survive-the-zombie-apocalypse-3dd996604341#.d3kwyje9l) * [Efficiency and fun from using ADB Shell, Part 1](https://ar-g.github.io/ADB-Shell-Part-1/) * [Inspecting your multidex APK](https://medium.com/@BorisFarber/inspecting-your-apk-f53fb90136da#.19laqulbu) * [Android Studio Tips and Tricks](http://michaelevans.org/blog/2016/01/06/android-studio-tips-and-tricks/) ### Lint * [Help developers with custom Lint rules](http://jeremie-martinez.com/2015/12/15/custom-lint-rules/) ## 经验总结 * [Android学习之路--stormzhang](http://stormzhang.com/android/2014/07/07/learn-android-from-rookie/) * [Top 10 Most Common Android Development Mistakes: A Programming Tutorial](http://www.toptal.com/android/top-10-most-common-android-development-mistakes) * [Android开源库 -- 代码家](http://blog.daimajia.com/android-library-collection/) * [How to improve quality and syntax of your Android code](http://vincentbrison.com/2014/07/19/how-to-improve-quality-and-syntax-of-your-android-code/) * *Be a lazy but a productive android developer* * [RoboGuice](http://www.technotalkative.com/lazy-productive-android-developer-1/) * [Genymotion](http://www.technotalkative.com/lazy-productive-android-developer-2/) * [JSON Parsing library](http://www.technotalkative.com/lazy-productive-android-developer-3/) * [Card UI ](http://www.technotalkative.com/lazy-productive-android-developer-4/) * [Image loading library](http://www.technotalkative.com/lazy-productive-android-developer-part-5-image-loading-library/) * [Staggered GridView](http://www.technotalkative.com/lazy-productive-android-developer-part-6-staggered-gridview/) * [Useful tools](http://www.technotalkative.com/lazy-android-part-7-useful-tools/) * [Wireframe/Mockup design tools](http://www.technotalkative.com/lazy-part-8-wireframemockup-tools/?utm_source=feedly&utm_reader=feedly&utm_medium=rss&utm_campaign=lazy-part-8-wireframemockup-tools) * [Reverse engineering android applications](http://www.technotalkative.com/part-9-reverse-engineering-android-applications/) * [The Hitchhiker’s guide to Android Testing](http://www.technotalkative.com/part-10-the-hitchhikers-guide-to-android-testing/) * [6 THINGS I WISH I KNEW BEFORE I WROTE MY FIRST ANDROID APP](http://www.philosophicalhacker.com/2015/07/09/6-things-i-wish-i-knew-before-i-wrote-my-first-android-app/) * [Should This Be a Library?](http://ryanharter.com/blog/2015/08/20/should-this-be-a-library/) * [谈谈App混合开发](http://bxbxbai.gitcafe.io/2015/08/16/talk-about-bybird-app/) * [Develop Maintainable Apps](http://www.slideshare.net/AnnyceDavis/develop-maintainable-apps-droidcon-2015) * [微信ANDROID客户端-会话速度提升70%的背后](https://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207548094&idx=1&sn=1a277620bc28349368b68ed98fbefebe) * [Modeling my Android domain layer](http://panavtec.me/modeling-my-android-domain-layer/) * [Stuff I Learned at Droidcon NYC](https://medium.com/@nicksantos/stuff-i-learned-at-droidcon-nyc-66d84b47c6a1#.apo22xw0q) * [Things I did at Droidcon London](https://medium.com/@hitherejoe/things-i-did-at-droidcon-london-3fa45d093f0a#.kacbp4l7y) * [Top resources to learn Android](https://www.simform.com/blog/top-resources-to-learn-android) * [Android Development Culture. The Document. #qualitymatters](http://artemzin.com/blog/android-development-culture-the-document-qualitymatters/) * [See the Truth on Android](http://jeremie-martinez.com/2015/11/05/truth-android/) * [Taking Command of Android Development](https://medium.com/@theMikhail/take-command-of-android-development-9411af8cf571#.sds1cn7df) ## Java * [Java反射最佳实践](https://github.com/tianzhijiexian/Android-Best-Practices/blob/master/2015.9/reflect/reflect.md) ### JSON * [Hi Performance JSON Parsing in Android](http://www.donnfelker.com/hi-performance-json-parsing-in-android/) ## [StackOverflow](http://stackoverflow.com/questions/tagged/android) * [Difference between px, dp, dip and sp in Android?](http://stackoverflow.com/a/2025541/4470672) * [Formula px to dp, dp to px android](http://stackoverflow.com/a/17410076/4470672) * [Close/hide the Android Soft Keyboard](http://stackoverflow.com/a/1109108/4470672) * [Saving Activity state in Android](http://stackoverflow.com/questions/151777/saving-activity-state-in-android) * [Get screen dimensions in pixels](http://stackoverflow.com/a/1016941/4470672) * [Android - basic gesture detection](http://stackoverflow.com/questions/937313/android-basic-gesture-detection) *[[Best Answer](http://stackoverflow.com/a/938657/4470672)]* * [setEmptyView on ListView not showing its view in a android app](http://stackoverflow.com/a/17807347) * [IPackageStatsObserver cannot be resolved to a type (Android)](http://stackoverflow.com/a/30278018) * [Calling startActivity() from outside of an Activity context](http://stackoverflow.com/a/3918838) * [Using DiskLruCache in android 4.0 does not provide for openCache method](http://stackoverflow.com/a/10235381/4470672) * [Same-named attributes in attrs.xml for custom view](http://stackoverflow.com/a/4464966/4470672) * [How do I find out if the GPS of an Android device is enabled?](http://stackoverflow.com/a/843716/4470672) * [Renaming modules in Android Studio?](http://stackoverflow.com/a/27892670/4470672) * [RecyclerView onItemClick](http://stackoverflow.com/a/26196831/4470672) ## 杂谈 * [Will the Real Android Please Stand Up](https://realm.io/news/will-the-real-android-please-stand-up/) ## Android开源App * [ribot](https://github.com/ribot/ribot-app-android)