心理学家 Ericsson 的研究发现:决定伟大水平和一般水平的关键因素,既不是天赋,也不是经验,而是[刻意练习]的程度。 教育最重要的不是灌输,而是引发思考。这样的话就没有必要按时间顺序,介绍很多细节;而应该给出一个极简的框架,让孩子自己去往里面填充细节,随着年龄的增长越来越细致,就会自己发现是非对错。
本博文就用来备份和收藏我看到的一些大神写的一些博文的网页链接。 附录:-markdown语法之如何使用LaTeX语法编写数学公式
资源列表
Android资源库列表
Android素材
在线裁剪
AndroidAssetStudio
Android 基本类
Dialog
Zero的专栏 - Android-Dialog监听触摸外部事件
Indicator
第四维空间的专栏 - 开源项目源码解析-ViewPagerindicator 源码解析
这篇博文主要是介绍ViewPagerIndicator的内部源码的作用和解析很适合新手在接触ViewPagerIndicator的时候学习一下Hongyang - Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI
这个必须顶,鸿洋_大神的博文,简单通俗易懂。这个是鸿洋大神自己录的视频教程 - 慕课网hyman视频观看 - Android-自定义ViewPager指示器
DIY_UI
生命欣欣向荣,唯奋斗不息! - Android自定义控件—导航栏SlideTab(Fragment+ViewPager)qq_29685423的博客 - 仿QQ头部下拉放大效果,类似PullToZoomListview效果!
仿造QQ下拉的放大效果,不多说。详情请见博文!chen930724的专栏 - Android ProgressBar 详解 改变 ProgressBar 颜色DuanLiuchang的博客 - 打造炫酷进度条
这篇博文讲解很清晰吧,想自定义进度条的可以看看!openXu的专栏 - Android自定义View(LineBreakLayout-自动换行的标签容器)自定义TextView字体方案 - 【译】Android:更好的自定义字体方案Hongyang - Android 自定义控件 轻松实现360软件详情页起风的清晨的博客 - 自定义RecyclerView实现下拉刷新,加载更多
实现下拉刷新和上拉加载更多。这里仅仅是作为一份教程指导程序猿如何自定义RecycleView实现下拉刷新和上拉刷新。SOLO的博客 - 封装RecyclerViewAdapter实现RecyclerView下拉刷新上拉加载更多
该下拉刷新使用的是github上的项目Ultra Pull To Refresh项目。llew2011的专栏 - Android UI设计之<十>自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果
主要是通过overScrollBy()方法(当View滚动超出自身所设定边界(height或者width)的时候触发该方法。简单说,就是在ListView,ScrollView等中滚动到头了若继续下滑就会调用该方法。)模拟图片阻尼可以让ImageView的宽高为MATCH_PARENT(HeaderView的高度改变之后ImageView的高度也可以随之更改),这个时候还要设置ImageView的scaleType为CENTER_CROP即可。赵凯强 - 【Android界面实现】带有指示器的自定义底部导航栏的实现
这是一篇介绍底部导航栏的实现的博文,主要思想鸿洋大神写的差不多,但是相对较简单,更加适合入门学习自定义UI。Hongyang - Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUILosileeya - 时光轴二之RecyclerView版时光轴效果优化SearchView实现 - Android搜索功能的案例,本地保存搜索历史记录
使用SQLite来保存搜索历史。小源 - 仿微信添加标签效果四种方案解决ScrollView嵌套ListView问题 一个本科小生的奋斗史 - Android进阶之AlertDialog自定义
Shape
Minle_的博客 - 汇总——常用的shape背景集合[大漠]Moruna的专栏 - Android UI—自定义形状shape
就是用来自定义UI形状的,讲得很详细。
Dialog
Android 弹出窗口 定时关闭
APP
未来之路 的专栏 - (android高仿系列)今日头条 –新闻阅读器 (一)
不多说,就是仿制今日头条的,很有借鉴意义。其中包含整个项目的编写,有需要的看官可以去学习下。wuyinlei的博客 - 一个仿网易、今日头条的图片游览器叶应是叶 - 个人博客客户端——My 的实现(1)
这个使用的是ViewPagerIndicator、MaterialRefreshLayout、NavigationView、RecyclerView、Fresco(FaceBook开发的开源图片Loading)Hongyang - Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUIandroid 引导图 动态背景
主要是通过ViewPager来实现。可以使用SharePreferences来判断是否是第一次使用。
UI
android布局 FrameLayout(帧布局)详解 - 跟随手指移动的萌妹子 AsyncTask - AsyncTask 与ProgressSegmentFault - 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout【博客地址永久迁移到】:http://zhengxiaoyong.me - Material Design之CollapsingToolbarLayout使用Hongyang - Android NestedScrolling机制完全解析 带你玩转嵌套滑动深度开源 - Android三种播放视频的方式
Server
峥嵘life - Android服务Service使用总结
这篇文章写得非常的详细,适合有需要的朋友们去查阅。Service的生命周期IntentService的使用示例 - 遍历文件的工具类的设计同一个程序中Service和Activity通信的一些方式 -
图片处理
JakeWharton/DiskLruCache
Java implementation of a Disk-based LRU cache which specifically targets Android compatibility.
AndroidDream - android 制作ios毛玻璃效果(图片模糊处理)
这里使用的是FastBlur,这种方式通过在Java层中直接实现高斯模糊算法。在大模糊半径和大图片情况下,性能会出现问题。基本目前只作为对低版本Android客户端的兼容性方案使用。github:FastBlur
王三的专栏 - Android之图片压缩
这下面介绍的是同一种的~可以相互补充~Android 多种方式正确的加载图像,有效避免oomandroid 的injustdecodebounds - 解决OOM的详解知识源于积累,技术改变生活! - 关于android 图片加载优化
这篇博文讲解了多种解决图片加载OOM的处理方法!知识源于积累,技术改变生活! - 关于android 图片加载优化这一篇博文写得很全面,写了多种图片加载优化的方式,博主开发经验十足~~Advanced blurring techniques
主要介绍几种模糊的技术,其中主要的思想是:先压缩原图大小再高斯.。这样能够大大减少高斯计算量,提高性能。知乎 - Android 5.0 下毛玻璃(磨砂)效果如何实现?守候伯纳乌的一抹纯白 - Android中bitmap图片透明度的处理(以撕美女衣服为例) Android性能优化之Bitmap的内存优化crazychen的专栏 - android图片处理之图像模糊
这里是讲解fastBlur+RenderScript来优化图像处理的。移动开发 - Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版汇总上)大苞米的专栏 - ANDROID内存优化(大汇总——上)
Android图表
PhilJay/MPAndroidChart
自定义View
请见博客 - GcsSloop
嗨,我是 GcsSloop,一名来自2.5次元的魔法师,Android自定义View系列文章作者,非著名程序员。
Design Support Library
Android Design Support Library最新组件
介绍Navigation View、EditText的浮动标签、Snackbar、Tabs、CoordinatorLayout,动作和滚动、CoordinatorLayout和浮动动作按钮、CoordinatorLayout 和 app bar等的使用方法。
Android Studio 插件
宏亮的专栏 - 强烈推荐android studio用的几个插件
这几个插件还是挺好用的,比较实用的。宏亮的专栏 - Android Studio插件整理
APP更新
沈鸿斌的博客 - Android 轻松实现后台搭建+APP版本更新
网络请求
Meteoric_cry - Android判断用户的网络类型(2/3/4G、wifi)
Okhttp
OkHttp使用教程
Retrofit
Retrofit2.0中注解使用套路 Retrofit2.0 公共参数(固定参数) 你真的会用Retrofit2吗?Retrofit2完全教程
强烈推荐的Retrofit2的使用教程。
项目架构
sammy的专栏 - Android项目架构搭建
安卓项目的整体架构和一些参照例子~Losileeya - 安卓实战之如何快速搭建app架构sammy的专栏 - Android MVP模式
作者原话:android MVP模式网上demo很多,但是真正有用的不多,很多代码都是复制转载,本人看了多个文章并且咨询了徐老师(大型项目中已经使用一段时间MVP),加上个人理解,整理如上。
前辈的告诫
leon - 作为技术面试官,我是怎样评价一个IT开发人员的素质的温斯渤 - 2017腾讯实习生Android客户端开发面试总结
缓存清除
巫山老妖 - Android记录20-获取缓存大小和清除缓存功能关于Fresco的缓存清理的那些事
常见问题类
调用.so 文件时报错has text relocations
适配
Android 屏幕适配方案 白底黑字!Android浅色状态栏黑色字体模式
Material Design
Material Design 指南中文版自适应 Tab 宽度可以滑动文字逐渐变色的 TabLayout[Android] Material 风格的 Dialog 的使用
开源库
ronaldsmartin/Material-ViewPagerIndicator
蓝牙
Android6.0蓝牙搜索需要定位权限,蓝牙搜索使用的权限申请方法如下:
private void mayRequestLocation(){
Log.d(
TAG,
"mayRequestLocation: androidSDK--" + Build
.VERSION
.SDK_INT);
if(Build
.VERSION
.SDK_INT
>= 23){
int checkCallPhonePermission
= checkSelfPermission(Manifest
.permission
.
ACCESS_COARSE_LOCATION);
if(checkCallPhonePermission
!= PackageManager
.PERMISSION_GRANTED) {
Log.d(
TAG,
"mayRequestLocation: 请求粗略定位的权限");
requestPermissions(
new String[]{Manifest.permission.
ACCESS_COARSE_LOCATION}, REQUEST_PERMISSION_LOCATION);
return;
}
}
}
冷血之心的博客 - Android 蓝牙开发之搜索、配对、连接、通信大全 冷血之心的博客 - Android蓝牙自动配对Demo,亲测好使!!! Android-ble - Android蓝牙4.0操作demo Central-Perk的专栏 - android蓝牙开发 蓝牙设备的查找和连接 android蓝牙之间互相通讯
高效蓝牙开发框架
Jasonchenlijian/FastBle
Android Bluetooth Low Energy (BLE) Fast Development Framework. It uses simple ways to filter, scan, connect, read ,write, notify, readRssi, setMTU, and multiConnection. 这是一个快速开发的BLE蓝牙开发框架,具备过滤、扫描、连接、读取、写入、通知、读取RSSI、设置MTU、以及多连接的功能。dingjikerbo/BluetoothKit
Android BLE蓝牙通信库,这套框架存在的意义如下:
一、统一解决Android蓝牙通信过程中的兼容性问题二、提供尽可能简单易用的接口,屏蔽蓝牙通信中的技术细节,只开放连接,读写,通知等语义。三、实现串行化任务队列,统一处理蓝牙通信中的失败以及超时,支持可配置的容错处理四、统一管理连接句柄,避免句柄泄露五、方便监控各设备连接状态,在尽可能维持连接的情况下,将最不活跃的设备自动断开。六、便于多进程APP架构下蓝牙连接的统一管理七、支持拦截所有对蓝牙原生接口的调用
GPS
Android GPS定位(获取经纬度)
Android网络拦截
android中使用tcpdump拦截分析网络数据包
工具类
晴天的专栏 - 【工具】在TTF字体中提取想要的文字,让字体文件变迷你
很喜欢这篇博文介绍的工具,可以在安卓开发中将需要的字体文件(*.ttf)精简到仅仅包含你所需要的文字的大小,大大的让安装包缩水了。
AndroidUtilCode
AndroidUtilCode
一个包含了超多常见工具类的库。缓存、编码解码、加密解密、文件操作、图片操作、Log……
github
分享Github上的一些资源。
github Android Study
Freelander/Android_Data
优帆远扬收集的Android学习资料。francistao/LearningNotes
Android的学习笔记。基础知识,设计模式,Java基础,Java虚拟机,Java并发,数据结构,算法,计算机网络,操作系统,读书笔记,面试经验。简历。国内一线互联网公司内部面试题库
Java基础,Android专题(性能优化,架构分析,阿里巴巴,腾讯)JVM的理解free-programming-books
免费的一些编程书。CoreLink
Android 开发中的日常积累
github使用
GitHub查找优秀的开源项目和一些资源福利 github完整使用教程
github Android LIB
Android topics
收录了很多优秀的Android库。XXApple/AndroidLibs
正在成为史上最全分类 Android 开源代码大全(正在整理收集,不要着急先Star一下吧)点我跳转Android书签网http://www.androidcat.com/
github Android Project
GitHub上最火的Android开源项目持续更新中…..
github Android JOB
android-cn/android-jobs
我们相信来到这里的,无论工程师还是招聘者都是靠谱的!微信公众号:codekk, http://j.codekk.com
DI
Dagger2
强烈推荐大神写的Dagger2使用教程,浅显易懂。
Android:dagger2让你爱不释手-基础依赖注入框架篇Android:dagger2让你爱不释手-重点概念讲解、融合篇Android:dagger2让你爱不释手-终结篇
ButterKnife
ButterKnife使用详解
AndroidAnnotations
点击跳转关于androidannotations(注解)的理解和使用(文档篇)
本文内容来自对github上提供的文档的翻译,由于本人英文水平有限,可能会有很多不当之处,还请各位大神予以指教和批评。
RxJava/ReactiveX
给 Android 开发者的 RxJava 详解
与两三年前的境况不同,中国现在已经不缺初级 Android 工程师,但中级和高级工程师严重供不应求。因此我决定从今天开始不定期地发布我的技术分享,只希望能够和大家共同提升,通过我们的成长来解决一点点国内互联网公司人才稀缺的困境,也提升各位技术党的收入。所以,不仅要写这篇,我还会写更多。至于内容的定位,我计划只定位真正的干货,一些边边角角的小技巧和炫酷的黑科技应该都不会写,总之希望每篇文章都能帮读者提升真正的实力。ReactiveX/RxJava文档中文版
Android架构
iammert/AndroidArchitecture
LiveData, Room Persistence, Dagger 2, Retrofit, MVVM 和 DataBinding谷歌自家出的架构Samplegooglesamples/android-architectureFacebook主推的FluxAndroid开发模式。
MVP
Android MVP & Unit Test Introduction
十分好的MVP讲解视频,详细讲解了MVP的使用以及如何MVP的单元测试。(需要科学上网)源码地址
AWESOME系列
AWESOME
Android调试类
ADB
ADB Usage Complete / ADB 用法大全
Log
Logger,一个格式化Log输出工具,支持文件输出。
✔️ Simple, pretty and powerful logger for android
Android性能优化
Android界面介绍与绘制优化
代码静态扫描工具
工具复杂度实时性覆盖范围准确度备注
Android Lint高强广一般因为检测类型多,配置需要更精确,否则容易产生误报。Findbugs中一般一般高推荐使用Findbugs过滤器。Checkstyle低一般广高可以通过Android Studio的工作面板直接安装插件。PMD低一般一般一般
Crash监控
Crash(应用崩溃)是由于代码异常而导致APP非正常退出,导致应用程序无法继续使用,所有工作都停止的现象。发生Crash后需要重新启动应用程序(有些情况会自动重启),而且不管应用在开发阶段做得多么的优秀,也无法避免Crash发生,特别是在Android系统中,系统碎片化严重、各ROM之间的差异,使得Android在稳定性方面需要付出更多的代价。——《Android应用性能优化最佳实践》
Sunzxyong/Recovery
一个遇到Crash之后,可以重新恢复APP的框架。“Recovery”帮助你自动处理程序在运行时的Crash,它含有以下几点功能:
自动恢复Activity Stack和数据支持只恢复栈顶ActivityCrash信息的显示与保存应用重启或者清空缓存一分钟内两次恢复失败不再恢复而进行重启应用android-notes/Cockroach
降低Android非必要crash Ereza/CustomActivityOnCrash
APP直接崩溃对于用户的体验极差,采用右边的方式才是优秀的APP应具备的。ACRA/acra
ACRA is a library enabling Android Application to automatically post their crash reports to a report server. It is targeted to android applications developers to help them get data from their applications when they crash or behave erroneously.这是使用最广泛的一个。
Android黑科技
一种提高Android应用进程存活率新方法
进程保活 Android ActivityManagerService根据oom_adj数值内存回收机制 【Android】一种提高Android应用进程存活率新方法
Android人工智能
深度学习
mobile-deep-learning
CNN, Convolutional Neural NetworkThis research aims at simply deploying CNN on mobile devices, with low complexity and high speed.
内推
BAT内部推荐
我在腾讯有7年工作经验,3年管理经验,在前端行业有相关人脉,所以能够帮助有志进入BAT等互联网公司的同学内推。