Categories
生活
- 生活系列 01:科目三
- 生活系列 02:生活小Tips
- 生活系列 03:Amzon亚马逊和Ebay
- 生活系列 07:脚底脱皮是怎么回事
- 生活系列 05:麦粒肿又名睑腺炎
- 生活系列 04:落枕
- 生活系列 06:热水器
- 生活系列 08:眼睛里有黄斑
- 生活系列 09:女理发师变少的原因
- 生活系列 11:时间的思考
- 生活系列 10:PUK码
- 生活系列 12:TODO
- 生活系列 13:人人爱吃的卤味, 遭遇了什么变成荧光绿?
- 生活系列 14:上海出行
- 生活系列 17:一年年的,都发生了些撒
- 生活系列 15:在限购的武汉买套房
- 生活系列 18:为什么要写Blog
- 生活系列 10:以前了做撒,现在正在做撒,未来想做个撒
经验
工作
- 工作系列 16:入职相关
- 工作系列 04:版本总结
- 工作系列 15:待办事项
- 工作系列 31:职位分析
- 工作系列 89:Android 8.0 功能和 API
- 工作系列 05:Mac下设置VPN
- 工作系列 09:APP
- 工作系列 07:滤镜和美颜
- 工作系列 95:Android获取预览版
- 工作系列 08:常用手机一览
- 工作系列 06:电脑配置
- 工作系列 11:应用版本汇总
- 工作系列 11:应用版本汇总
- 工作系列 01:应用版本汇总
- 工作系列 10:公司123
- 工作系列 03:Android版本分布
- 工作系列 99:一些重要的网站
- 工作系列 02:Android 开发规范
- 工作系列 17:Android开发一些小技巧
- 工作系列 20:Android面试
- 工作系列 19:Android面试题目
- 工作系列 18:花1小时,节省100小时
基础
- 基础系列 30:Https
- 基础系列 14:APP更新
- 基础系列 13:Gzip
- 基础系列 12:MediaStore.Files
- 基础系列 10:Map
- 基础系列 19:Instant Run
- 基础系列 8:Kotlin
- 基础系列 5:缓存(DiskLruCache)
- 基础系列 04:序列化(Parcelable,Serializable)
- 基础系列 7:标题栏
- 基础系列 03:Blur
- 基础系列 02:getWidth()和getMeasuredWidth()之间的区别
- 基础系列 01:Base64
- 基础系列 22:Android事件分发
- 基础系列 15:URI
- 基础系列 99:Android ThreadLocal
- 基础系列 11:设备ID
- 基础系列 21:内存存储一览
- 基础系列 41:线程池
- 基础系列 06:Android倒计时一览
- 基础系列 99:Android中Handler,Looper,Message
- 基础系列 09:GPS坐标系
技术
- GitHub系列 1:页面交互
- 功能系列 1:CrashHandler
- SurfaceView
- Web
- Android 源码
- Android 基础
- Android 适配
- ConcurrentModificationException 出现原因
- 网页打开APP
- 斗兽棋
- google服务小贴士
- 爬数据
- Android 点
知识点
- 知识点系列 04:android.os.TransactionTooLargeException on Nougat
- 知识点系列 03:关于Android X
- 知识点系列 99:Flutter 初尝
- 知识点系列 97:Protocol Buffer
- 知识点系列 93:Android 人脸识别
- 知识点系列 92:Android 刮奖效果
- 知识点系列 91:Android 混淆
- 知识点系列 90:Android drawArc
- 知识点系列 97:Web Socket
- 大杂烩
- 知识点系列 89:AsyncTask实现机理
- 知识点系列 88:LayoutInflate的使用
- 知识点系列 96:Databinding基本使用
- 知识点系列 94:jni和.so
- 知识点系列 79:Fragment系列一:生命周期
- 知识点系列 78:Fragment系列二:踩过的坑
- 知识点系列 95:Android Activity
- 知识点系列 95:HandlerThread的特点
工具
- 工具系列 04:Android Device Monitor使用
- 工具系列 02:Lint
- 工具系列 99:网络浏览
- 工具系列 20:Charles抓取Https
- 工具系列 98:Bitbucket
- 工具系列 09:Android monkey测试
- 工具系列 03:Android Gradle 深度学习
- 工具系列 28:.apk分析工具
- 工具系列 31:VirtualBox
- 工具系列 30:.mp4分析工具
- 工具系列 29:VIM 使用
- 工具系列 19:Android模拟器:genymotion
- 工具系列 01:Android Studio 开发技巧
UI
- UI系列 07:(3) 闪烁TextView
- UI系列 19:View源码解析
- UI系列 18:计数器
- UI系列 17:截图
- UI系列 14:打分
- UI系列 11:DropMenu(筛选)
- UI系列 09:开关(toggle)
- UI系列 05:日历(Calendar)
- UI系列 04:Tag 标签
- UI系列 12:类Soul立体球动画
- UI系列 13:滚轮时间选择器
- UI系列 03:Loading
- UI系列 02:滑动解锁
- UI系列 07:TextView
- UI系列 06:AutoCompleteTextView
- UI系列 12:引导
- UI系列 08:Dialog,Toast,Snackbar等
- UI系列 02:RecycleView进阶
- UI系列 13:侧滑Menu
- UI系列 38:应用角标和快捷方式
- UI系列 39:Spinner
- UI系列 18:Canvas
- UI系列 10:Android 日历
- UI系列 40:布局--约束性布局(ConstraintLayout)
- UI系列 37:悬浮窗实现
- UI系列 19:样式主题
- UI系列 16:软键盘使用
- UI系列 02:(一)RecycleView入门
- UI系列 15:ImageView用法总结
- UI系列 07:(1) drawText的学习
音频
视频
- 视频系列 10:视频通话
- 视频系列 03:短视频 - OpenCore
- 视频系列 01:短视频APP系列5 - 问题清单
- 视频系列 04:七牛播放器
- 视频系列 05:短视频拍摄(02)
- 视频系列 09:FFmpeg基础知识一
- 视频系列 06:短视频拍摄(01)
- 视频系列 98:Android 直播相关
历史
体育
旅游
常识
优化
- 优化系列 06:卡顿检测
- 优化系列 05:内存优化
- 优化系列 04:内存泄露场景一览
- 优化系列 01:避免应用Crash
- 优化系列 06:Android调试
- 优化系列 03:LeakCanary检查内存泄漏
- 优化系列 02:内存溢出和内存泄漏
- 优化系列 08:加密
框架
- 框架系列 12:指纹解锁
- 框架系列 11:二维码
- 框架系列 09:IM聊天
- 框架系列 10:Bitmap
- 框架系列 06:网络(1.Volley)
- 框架系列 02:Rxjava(2)
- 框架系列 07:组件化
- 框架系列 5:RxImagePicker
- 框架系列 5:Fresco
- 框架系列 4:Glide
- 框架系列 3:RxRouter
- 框架系列 1:Dagger2使用解析
- 框架系列 02:Rxjava(1)
- 框架系列 01:(总括)
- 框架系列 06:(二) 网络库一览
- 框架系列 16:RxAndroid
- 框架系列 21:游戏引擎
- 框架系列 20:Android 换肤
- 框架系列 17:EventBus
- 框架系列 22:数据库 2(ORMLite)
- 框架系列 22:数据库1 概论
- 框架系列 14:Retrofit
- 框架系列 13:Android热修复
随笔
人文
push
语言
动画
图片
- 图片系列 07:图片选择器
- 图片系列 06:Android Paint Xfermode 学习小结
- 图片系列 05:Drawable与 Bitmap 常用方法
- 图片系列 04:圆角图片从0到1
- 图片系列 02:图片压缩
- 图片系列 01:图片轮播
- 图片系列 08:图片保存相关
mvp
公司
java
- JAVA系列 04:Java Comparator
- JAVA系列 05:ArrayList筛选数据
- JAVA系列 01:OutputStream
- JAVA系列 02:Java注解原理
- JAVA系列 06:Android 正则表达式
- JAVA系列 03:Java HashSet