##1. 官方资源
###1.1 android开发者官网
这个自然不用说
https://developer.android.com
###1.2 官方reference
这里可以浏览各种package,包括android.support等。多读读这里面的东西是有好处的,也可以看看一些有趣的东西,如pdf包、指纹包、NFC包、emoji包。
https://developer.android.com/reference
###1.3 官方控件
不能只知道Button、TextView之类的啊,好歹扩展下视野吧。
基础控件、v4和v7支持的控件、v17支持的控件(TV开发)、design库支持的控件、text支持库的widget(表情包)、wear支持库的widget。
查查官方reference。总而言之,控件很多,不局限于widget,还有各种view。build.gradle中某些view的依赖需要注意一下包名,有的view是单独的一个包。反正就是以开发包的官网为准。
###1.4 Material Design
这是Material Design的官网: https://material.io 似乎是给专门的UI设计者提供的。广义的MD是指符合MD原则的(包括v4、v7里面的和开源的),下面是一些design库里提供的widget。
design库最初的8大widget:
Snackbar、TextInputLayout 、Floating Action Button(FAB)、TabLayout、NavigationView、AppBarLayout 、CoordinatorLayout、
CollapsingToolbarLayout。
现在官网中design库可以发现有另外6个widget:BaseTransientBottomBar、BottomNavigationView、BottomSheetBehavior、BottomSheetDialog、SwipeDismissBehavior、TabItem。至此,官方design库共有14个widget。
-Snackbar
Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈。
-TextInputLayout
TextInputLayout作为一个父容器控件,包装了新的EditText。通常,单独的EditText会在用户输入第一个字母之后隐藏 hint提示信息,但是现在你可以使用TextInputLayout 来将EditText封装起来,提示信息会变成一个显示在EditText之上的floating label,这样用户就始终知道他们现在输入的是什么。同时,如果给EditText增加监听,还可以给它增加更多的floating label。
-Floating Action Button
floating action button (FAB)是一个负责显示界面基本操作的圆形按钮。Design library中的FloatingActionButton 实现了一个默认颜色为主题中colorAccent的悬浮操作按钮
-TabLayout
Tab滑动切换View并不是一个新的概念,但是Google却是第一次在support库中提供了完整的支持,而且,Design library的TabLayout 既实现了固定的选项卡 - view的宽度平均分配,也实现了可滚动的选项卡 - view宽度不固定同时可以横向滚动。选项卡可以在程序中动态添加。
-NavigationView
NavigationView在MD设计中非常重要,之前Google也提出了使用DrawerLayout来实现导航抽屉。这次,在 support library中,Google提供了NavigationView来实现导航菜单界面
-AppBarLayout
AppBarLayout跟它的名字一样,把容器类的组件全部作为AppBar。
-CoordinatorLayout
CoordinatorLayout是这次新添加的一个增强型的FrameLayout。在CoordinatorLayout中,我们可以在FrameLayout的基础上完成很多新的操作。
-CollapsingToolbarLayout
CollapsingToolbarLayout提供了一个可以折叠的Toolbar,这也是Google+、photos中的效果。Google把它做成了一个标准控件,更加方便大家使用。
##2. GitHub资源汇总
###2.0 年初的一些新东西
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0216/7122.html
###2.1 wasabeef 整理系列
主页是 https://github.com/wasabeef,值得逛逛。
####2.1.1 awesome-android-ui
超赞的UI资源集合库!这里列举了众多Android上的好看的UI或者动画效果,大部分时候,你可以从这里找到你心仪的ui设计:
https://github.com/wasabeef/awesome-android-ui
####2.1.2 awesome-android-libraries
一个不错的android资源库集合:
https://github.com/wasabeef/awesome-android-libraries
####2.1.3 awesome-android-tools
android开发用到的工具集合:
https://github.com/wasabeef/awesome-android-tools
###2.2 yeungeek 整理系列
https://github.com/yeungeek 这里有不少不错的总结,值得逛逛。
####2.2.1 awesome-android-libraries
android相关的开源库整理(甚至提到了wechat小程序)
https://github.com/yeungeek/awesome-android-libraries
####2.2.2 awesome-android-ui
UI整理大全
https://github.com/yeungeek/awesome-android-ui
####2.2.3 awesome-android-person
这里介绍了一些大神级的开源组织和个人,以及他们的开源项目。
https://github.com/yeungeek/awesome-android-person
####2.2.4 monkey-android
这是一个收集开源情报的APP应用
https://github.com/yeungeek/monkey-android
####2.2.5 GradlePlugin_UserGuide
这是一份教程
https://github.com/yeungeek/GradlePlugin_UserGuide
####2.2.6 Awesome-RxJava
RxJava系列整理,foke于lzyzsd
https://github.com/lzyzsd/Awesome-RxJava
###2.3 JStumpp 的 awesome-android
相当不错的android资源集合
https://github.com/JStumpp/awesome-android
###2.4 awesome
-据说这个是awesome的源头,计算机知识大汇总
https://github.com/sindresorhus/awesome
###2.5 Trinea 整理系列
####2.5.1 android-open-project
开源项目的集合整理
https://github.com/Trinea/android-open-project
####2.5.2 android-common
常用的工具
https://github.com/Trinea/android-common
####2.5.2 android-demo
常用lib的demo
https://github.com/Trinea/android-demo
###2.6 一个开源APP汇总集合
https://github.com/pcqpcq/open-source-android-apps
###2.7 其他
这篇文章提到了不少经典的开源框架,值得关注。
http://blog.csdn.net/createchance/article/details/59488564
####2.7.1 LitePal
不知道前面有没有总结到,反正这个数据库框架很不错。
####2.7.2 VirtualApp
一个牛逼到不行的App虚拟化引擎(简称VA),在你的App内创建一个虚拟空间,你可以在虚拟空间内任意的安装、启动和卸载APK,这一切都与外部隔离,如同一个沙盒。
https://github.com/asLody/VirtualApp
####2.7.3 TurboDex
在Android瞬间加载Dex!Android中在Runtime加载一个 未优化的Dex文件 (尤其在 ART 模式)需要花费 很长的时间. 当你在App中使用 插件化框架 的时候, 首次加载插件就需要耗费很长的时间。TurboDex 就是为了解决这一问题而生, 就像是给AndroidVM开启了上帝模式, 在引入TurboDex后, 无论你加载了多大的Dex文件,都可以在毫秒级别内完成。
https://github.com/asLody/TurboDex
####2.7.4 legend
Hook java方法的一个框架,可以做到hotfix:
https://github.com/asLody/legend
####2.7.5 图形锁
-android-patternview
这是一个实现了pattern模式图形锁的自定义view,实现了很多不错的功能。
项目地址:https://github.com/geftimov/android-patternview
-Android-Lock9View
项目地址:https://github.com/TakWolf/Android-Lock9View
-PatternLock
材料设计风格(Material Design)的图形锁实现:
https://github.com/DreaminginCodeZH/PatternLock
自己手动实现可以参考这篇博客:
http://blog.csdn.net/lmj623565791/article/details/36236113
####2.7.6 PinLockView
实现了PIN码解锁的功能,自定义view:
https://github.com/aritraroy/PinLockView
####2.7.7 recyclerview-animators
顾名思义各种漂亮的recyclerview动画:
https://github.com/wasabeef/recyclerview-animators
####2.7.8 BottomNavigation
实现类似微信底部导航栏效果:
https://github.com/Ashok-Varma/BottomNavigation
####2.7.9 蓝牙框架
最近写手环APP,所以蓝牙开源框架多查几个(……逗逼)
这个star最多 https://github.com/Jasonchenlijian/FastBle
https://github.com/movisens/SmartGattLib
https://github.com/akexorcist/Android-BluetoothSPPLibrary
https://github.com/a-voyager/BluetoothHelper
https://github.com/litesuits/android-lite-bluetoothLE
https://github.com/alt236/Bluetooth-LE-Library—Android
https://github.com/dingjikerbo/BluetoothKit
##3 推荐的社区和博客
-github必须得逛的,各种牛人的项目和总结
-stackoverflow https://stackoverflow.com/
-stormzhang: http://stormzhang.com/
-郭霖 http://blog.csdn.net/guolin_blog
-任玉刚 http://blog.csdn.net/singwhatiwanna
-徐宜生 http://blog.csdn.net/eclipsexys
-Trinea https://github.com/trinea 个人博客 http://www.trinea.cn/
-罗升阳 http://blog.csdn.net/Luoshengyang
##4 推荐的书籍
入门:《第一行代码》
进阶:《android开发艺术探索》《android群英传》《android群英传:神兵利器》