Android Tips - 填坑手册

原文出处:汤奇V分享的Android-Tips 

学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,我遇到的坑都顺利地被填平了。

为了便于日后遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了。

如果你是个 Android 新人,那么我希望这份列表,可以成为你踩到坑时的不完全手册。

当然,这份列表一定会有遗漏,如果不幸,这里没有你所踩到的坑,或者对于某个问题你有更好的 Tips,欢迎分享,让我们一起来维护这个项目!你可以通过 Commit 的形式,当然也欢迎 Star 与Fork :)

由于本项目面向的群体为初学者,所以列表的知识点以初级为主,资源大多数为中文,如遇到少数无法访问的情况,请自备梯子。

A

ADB

  1. Android ADB常用命令

  2. Android开发调试工具ADB的使用

  3. Installing ADB on Windows 7

  4. Adb connection Error:远程主机强迫关闭了一个现有的连接

  5. Android通过Wifi来调试你的应用

Adapter

  1. Android简便通用的SimpleBaseAdapter

  2. Android数据适配器(Adapter)优化:使用高效的ViewHolder

  3. Android 快速开发系列 打造万能的ListView GridView 适配器

AIDL

  1. android进程间通信:使用AIDL

  2. Android AIDL使用详解

  3. android跨进程通信(IPC): 使用AIDL

  4. Android中的跨进程通信的实现(一)——远程调用过程和aidl

  5. Android Studio下如何配置AIDL文件

Android-Async-Http

  1. 快速Android开发系列网络篇之Android-Async-Http

  2. android-async-http框架库使用基础

AQuery

  1. AQuery Image Loading

  2. Android之使用Android-query框架进行开发(一)

AsyncTask

  1. Android AsyncTask完全解析,带你从源码的角度彻底理解

  2. Android中AsyncTask的简单用法

  3. Android开发者:你真的会用AsyncTask吗?

B

Bitmap

  1. 图片处理

  2. Android中自定义布局中加载图片BitmapFactory.options详解

  3. Android学习笔记进阶16之BitmapShader

  4. Android 优化Bitmap避免OutOfMemoryError

  5. Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅

Broadcast

  1. 【Android】BroadCast广播机制应用与实例

  2. 玩转Android---组件篇---Broadcast Receiver(广播接收器)

  3. 【Android】动态注册广播接收器

C

Callback

  1. How to Define Callbacks in Android?

  2. 一个经典例子让你彻彻底底理解java回调机制

  3. Java设计模式-回调函数和观察者模式

CardView

  1. Android5.0新控件CardView的介绍和使用

  2. Android CardView Example

  3. Android CardView Widget – Add Cards to a List using RecyclerView

Check

  1. How to check visibility of software keyboard in Android?

Configuration Change

  1. Android Configuration change引发的问题及解决方法

  2. Handling Runtime Changes

Context

  1. android学习—— context 和 getApplicationContext()

  2. Android中Context详解 ---- 你所不知道的Context

CoordinatorLayout

  1. CoordinatorLayout与滚动的处理

  2. Handling Scrolls with CoordinatorLayout

D

Download

  1. Download a file with Android, and showing the progress in a ProgressDialog

  2. Java 服务器端支持断点续传的源代码【支持快车、迅雷】

  3. Java 多线程断点下载文件

  4. Android 后台Service下载 (一)

  5. Android网络编程 --断点续传下载文件

  6. android 多线程断点续传下载 一

E

EventBus

  1. EventBus使用详解(一)——初步使用EventBus

  2. 快速Android开发系列通信篇之EventBus

F

Fragment - 碎片

  1. Android Fragment完全解析,关于碎片你所需知道的一切

  2. Android Fragment 你应该知道的一切

  3. Android系列之Fragment(二)----Fragment的生命周期和返回栈

  4. 处女男学Android(九)---Fragment进阶篇之Fragment生命周期和回退栈

  5. Fragment笔记整理

  6. Android实战技巧:Fragment的那些坑

  7. android Fragments详解四:管理fragment

  8. Android Fragment 嵌套使用(Nested Fragments)

G

Glide

  1. Glide 一个专注于平滑滚动的图片加载和缓存库

  2. Google推荐的图片加载库Glide介绍

Gradle

  1. 用Gradle 构建你的android程序

  2. Android Studio系列教程四--Gradle基础

  3. 使用Gradle构建Android项目

  4. 使用Gradle管理你的Android Studio工程

  5. 灵活强大的构建系统Gradle

  6. Gradle Android Could not find method testPackage()

  7. Android Studio 1.0 Gradle Error with getConfiguration()

greenDao

  1. ORM 框架之 greenDAO 使用心得

  2. SQLite数据库框架ORMLite与GreenDao的简单比较

  3. 在AndoridStudio中引入GreenDAO

GridView

  1. Android入门第八篇之GridView(九宫图)

  2. 用Volley让GridView加载网络图片

I

ImageView

  1. [Android] ImageView.ScaleType设置图解

Immersive Full-Screen Mode

  1. Using Immersive Full-Screen Mode

  2. 全屏沉浸式应用

Intent

  1. Android系列教程之十:Intents and Intent Filters(一)

  2. Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!

  3. Intent filter 关于Action、Category属性详解---附带实例源码

  4. startActivityForResult用法详解

  5. Android 开发笔记——通过 Intent 传递类对象

J

Json

  1. Android系列---JSON数据解析

  2. android json解析及简单例子

  3. Android开源库--Gson谷歌官方json解析库

L

ListFragment

  1. Android App组件之ListFragment -- 说明和示例

  2. Android 使用ListFragment显示列表

ListView

  1. 在Activity中响应ListView内部按钮的点击事件

M

MessageDigest

  1. Java利用MessageDigest获取字符串或文件MD5详解

  2. 类 MessageDigest

Material Design

  1. Google Material Design: Everything You Need to Know

  2. An exploration in Material Design

  3. 谢谷歌大神传我动画设计30年功力

  4. Codelab for Android Design Support Library used in I/O Rewind Bangkok session

N

  1. Android——Notifications笔记

  2. Android学习之Notification的简单使用

O

ORMLite

  1. Android 快速开发系列 ORMLite 框架最佳实践

  2. Android ORM框架之 ORMLite

P

Parcelable

  1. Android中Parcelable接口用法

PackageManager

  1. Android中获取应用程序(包)的信息-----PackageManager的使用(一)

  2. 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

  3. Android获取已安装应用信息(图标,名称,版本号,包)

  4. 关于android 如何安装 assets文件下的apk

Palette

  1. Extracting Colors to a Palette with Android Lollipop

  2. Android Lollipop 新特性 - Palette

Preference

  1. PreferenceActivity(首选项设置页)

  2. Android的设置界面及Preference使用

R

Reference

  1. Java的引用StrongReference、 SoftReference、 WeakReference 、PhantomReference

  2. Java 7之基础 - 强引用、弱引用、软引用、虚引用

RecyclerView

  1. RecyclerView使用详解(一)

  2. Android RecyclerView 使用完全解析 体验艺术般的控件

  3. A Guide to Android RecyclerView and CardView

  4. Android-RecyclerView-Item点击事件设置

  5. Why doesn't RecyclerView have onItemClickListener()? And how RecyclerView is different from Listview?

RandomAccessFile

  1. Java RandomAccessFile用法

S

Serializable

  1. Android系统中Parcelable和Serializable的区别

  2. Android: Difference between Parcelable and Serializable?

Service

  1. Android Service完全解析,关于服务你所需知道的一切(上)

  2. ExecutorService 的理解与使用

  3. Android基本功:IntentService的使用

SharedPreference

  1. Android SharedPreferences使用以及原理详解

  2. Google为何这样设计OnSharedPreferenceChangeListener

SparseArray

  1. Android应用性能优化之使用SparseArray替代HashMap

  2. Android SparseArray

  3. Android性能优化之使用SparseArray代替HashMap

SQLite

  1. Android中SQLite应用详解

  2. ANDROID开发之SQLite详解

  3. 使用嵌入式关系型SQLite数据库存储数据

Support Library

  1. Android Support兼容包详解

SwipeRefreshLayout

  1. Android SwipeRefreshLayout

T

Textview

  1. Remove underline from links in TextView

Thread

  1. ThreadPoolExecutor运转机制详解

  2. ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别

  3. Java并发编程:Callable、Future和FutureTask

  4. Java 7之多线程线程池 - Callable和Future

  5. Java 7之多线程线程池 - 线程池原理(1)

  6. Android线程间交互(Java synchronized & Android Handler)

  7. Android--多线程之Handler

  8. Java(Android)中线程池的使用

  9. Java(Android)线程池

V

ViewPager

  1. ViewPager + Fragment实现滑动标签页

  2. 【移动开发】Android中Fragment+ViewPager的配合使用

View

  1. Android LayoutInflater原理分析,带你一步步深入了解View(一)

  2. Android中View绘制流程以及invalidate()等相关方法分析

  3. Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)

  4. Android开发:LayoutParams的用法

ViewFlipper

  1. Android ViewFlipper的使用分析

  2. Android 滑动效果入门篇(一)—— ViewFlipper

VideoView

  1. Android--使用VideoView播放视频

  2. Playing a video in VideoView in Android

Volley

  1. Android Volley完全解析(一),初识Volley的基本用法

  2. Android库Volley的使用介绍

W

WebView

  1. Java 与 JavaScript 如何进行交互

  2. android与javascript交互调用

  3. Android与js交互实例

  4. Android中Java和JavaScript交互

  5. 顶部带进度条的Webview

  6. Android WebView播放视频问题

  7. 理解WebKit和Chromium: Android 4.4 上的Chromium WebView

  8. 在WebView中如何让JS与Java安全地互相调用

  9. Android WebView的Js对象注入漏洞解决方案

其他

自定义控件

  1. Android 自定义View及其在布局文件中的使用示例

  2. 自定义控件进阶:declare-styleable重用attr

  3. android 自定义控件 使用declare-styleable进行配置属性(源码角度)

  4. Android使用AttributeSet自定义控件的方法

  5. 从源码中浅析Android中如何利用attrs和styles定义控件

  6. Android SDK: Creating Custom Views

  7. Creating custom and compound Views in Android - Tutorial

  8. Tutorial: Enhancing Android UI with Custom Views

  9. Android 自定义View (一)


Android Studio

  1. Android Studio导入项目

  2. Android Studio 简单设置

  3. Android Studio 简介及导入 jar 包和第三方开源库方法

  4. Android Studio使用技巧系列教程(一)

  5. Android Studio中如何使用Git和Github来管理项目


Code Style

  1. Java编程规范

  2. Android 命名规范 (提高代码可以读性)

  3. Code Style Guidelines for Contributors


Git

  1. Pro Git

  2. GitHub秘籍

  3. git - 简易指南

  4. 基于Github参与开源项目指南


Hexo

  1. 如何搭建一个独立博客——简明Github Pages与Hexo教程

  2. Mac下程序员博客之 Hexo + GitHub Pages + GitCafe Pages + DNSPod

  3. 动动手指,NexT主题与Hexo更搭哦(基础篇)

  4. hexo博客搭建时遇到的一些问题


Smali

  1. Smali--Dalvik虚拟机指令语言-->【android_smali语法学习一】

  2. apk的包名修改

  3. 为Sublime Text安装smali代码语法高亮插件


  1. THE DEX 64K LIMIT IS NOT A PROBLEM ANYMORE, ALMOST

  2. Android 4.4从图库选择图片,获取图片路径并裁剪

  3. 浅析android应用增量升级

  4. Android四大基本组件介绍与生命周期

  5. Android代码优化——使用Android lint工具

  6. Android 插件化 动态升级

  7. 两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEvent(图文)!

  8. MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序

  9. Java String StringBuilder StringBuffer

  10. tools:context=".MainActivity的作用

  11. MVC,MVP 和 MVVM 的图示

  12. 关于APK瘦身值得分享的一些经验

  13. Java开发中的23种设计模式详解

  14. 性能优化之数据库优化