Android 开发从入门到精通-学习文档
Android-Tips
This is an awesome list of tips for android.
If you are a beginner, this list will be the first choice for you when you have a difficult time.
WelcomeStarandFork, your support is my greatest affirmation.
学习 Android 至今,大大小小的坑没少踩过,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,那些坑都顺利地被填平了。
为了日后在遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了。
如果你是个 Android 新人,又不善于搜索或不知道从何开始,那么我相信这份列表,将会成为你的首选。
当然,这份列表并不完美,如果不幸,这里没有你所踩到的坑,或者对于某个问题你有更好的 Tips,欢迎与大家分享,让我们一起来维护这个项目!
你可以通过Pull request的形式进行提交,当然也欢迎Star与Fork:)
由于各种问题,给出的链接可能会无法正常访问。遇到这种情况欢迎大家提交Issue,Contributers 也可以使用Utils里面的URLChecker来检测列表里链接的有效性,你可以选择更改为新的有效连接,或者把需要梯子的文章以 Markdown 的形式保存在 Utils/Content 目录下,并注明原文章链接和作者。
Adb connection Error:远程主机强迫关闭了一个现有的连接
Android数据适配器(Adapter)优化:使用高效的ViewHolder
Android 快速开发系列 打造万能的ListView GridView 适配器
Android中的跨进程通信的实现(一)——远程调用过程和aidl
Asynchronous Http Client for Android
快速Android开发系列网络篇之Android-Async-Http
Android Studio 简介及导入 jar 包和第三方开源库方法
Android Studio中如何使用Git和Github来管理项目
Android之使用Android-query框架进行开发(一)
Android AsyncTask完全解析,带你从源码的角度彻底理解
How to stop an animation (cancel() does not work)
Android中自定义布局中加载图片BitmapFactory.options详解
Android 优化Bitmap避免OutOfMemoryError
Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
玩转Android---组件篇---Broadcast Receiver(广播接收器)
How to Define Callbacks in Android?
Android CardView Widget – Add Cards to a List using RecyclerView
Android Configuration change引发的问题及解决方法
android学习—— context 和 getApplicationContext()
Android中Context详解 ---- 你所不知道的Context
Difference between getContext() , getApplicationContext() , getBaseContext() and “this”
Handling Scrolls with CoordinatorLayout
Download a file with Android, and showing the progress in a ProgressDialog译文
Android Fragment完全解析,关于碎片你所需知道的一切
Android系列之Fragment(二)----Fragment的生命周期和返回栈
处女男学Android(九)---Fragment进阶篇之Fragment生命周期和回退栈
android Fragments详解四:管理fragment
Android Fragment 嵌套使用(Nested Fragments)
Android 自定义ViewGroup - 实现FlowLayout - 本文出自【张鸿洋的博客】
Gradle Android Could not find method testPackage()
Android Studio 1.0 Gradle Error with getConfiguration()
gradle build fails on lint task
“Gradle Version 2.10 is required.” Error
SQLite数据库框架ORMLite与GreenDao的简单比较
Add space to top and bottom of GridView
[Android] ImageView.ScaleType设置图解
Using Immersive Full-Screen Mode译文
Android系列教程之十:Intents and Intent Filters(一)
Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
Intent filter 关于Action、Category属性详解---附带实例源码
Modern Java - A Guide to Java 8
Android App组件之ListFragment -- 说明和示例
Java利用MessageDigest获取字符串或文件MD5详解
Google Material Design: Everything You Need to Know
An exploration in Material Design
Codelab for Android Design Support Library used in I/O Rewind Bangkok session
Easy Navigation Drawer with Design Support Library
开源项目OkHttpPlus——支持GET、POST、UI线程回调、JSON格式解析、链式调用、文件上传下载
Android OkHttp完全解析 是时候来了解OkHttp了
Android中获取应用程序(包)的信息-----PackageManager的使用(一)
【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
Extracting Colors to a Palette with Android Lollipop
Android Lollipop 新特性 - Palette
Java的引用StrongReference、 SoftReference、 WeakReference 、PhantomReference
Android RecyclerView 使用完全解析 体验艺术般的控件
A Guide to Android RecyclerView and CardView
Android-RecyclerView-Item点击事件设置
Create RecyclerView with multiple view type
RxJava: Reactive Extensions for the JVM
详细解读Android中的搜索框(三)—— SearchView
Android系统中Parcelable和Serializable的区别
Android: Difference between Parcelable and Serializable?
Android Service完全解析,关于服务你所需知道的一切(上)
Android基础笔记(十一)- Service基础和注意事项以及Activity与Service的通信
Android SharedPreferences使用以及原理详解
Google为何这样设计OnSharedPreferenceChangeListener
SharedPreferences在多进程中的使用及注意事项
Android应用性能优化之使用SparseArray替代HashMap
Android性能优化之使用SparseArray代替HashMap
Android Support Library 23.1的变化
Remove underline from links in TextView
What is the default text size on Android?
Which unit of measurement does the Paint.setTextSize(float) use?
How to set unit for Paint.setTextSize()
两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEvent(图文)!
MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序
Android Deeper(00) - Touch事件分发响应机制
ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别
Java并发编程:Callable、Future和FutureTask
Java 7之多线程线程池 - Callable和Future
Android线程间交互(Java synchronized & Android Handler)
Don’t Test Blindly: The Right Methods for Unit Testing Your Java Apps
【移动开发】Android中Fragment+ViewPager的配合使用
Android 手把手教您自定义ViewGroup(一)本文出自:【张鸿洋的博客】
Android的坑之ScrollView嵌套ViewPager
Android LayoutInflater原理分析,带你一步步深入了解View(一)
Android中View绘制流程以及invalidate()等相关方法分析
Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)
Saving Android View state correctly
Android 滑动效果入门篇(一)—— ViewFlipper
Playing a video in VideoView in Android
Position Video Inside a VideoView
Android Volley完全解析(一),初识Volley的基本用法
使用okHttp、Volley、Gson快速组装HttpClinet
理解WebKit和Chromium: Android 4.4 上的Chromium WebView
Code Style Guidelines for Contributors
Android应用架构 (Android Dev Summit 2015)
Android 中 知乎日报和知乎设置夜间模式是怎么样做到不重启Activity的?
自定义控件进阶:declare-styleable重用attr
android 自定义控件 使用declare-styleable进行配置属性(源码角度)
从源码中浅析Android中如何利用attrs和styles定义控件
Android SDK: Creating Custom Views
Creating custom and compound Views in Android - Tutorial
Tutorial: Enhancing Android UI with Custom Views
What does postInvalidate() do?
When it's necessary to execute invalidate() on a View?
Android笔记:invalidate()和postInvalidate() 的区别及使用
THE DEX 64K LIMIT IS NOT A PROBLEM ANYMORE, ALMOST
Java String StringBuilder StringBuffer
tools:context=".MainActivity的作用
How to check visibility of software keyboard in Android?
How to get a Color from hexadecimal Color String
Android静默安装实现方案,仿360手机助手秒装和智能安装功能
How to convert a color integer to a hex String in Android?
IllegalArgumentException: width and height must be > 0 while loading Bitmap from View
Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication ?