一、概述
最近看到看到很多同学都不知道(或者是没有重视)google官方给开发者提供学习的demo,这么好的学习资料不用简直是暴殄天物!所以觉得有必要给大家介绍下。
其实我们每次用genynotion的时候有没有发现里面自带一个ApiDemo,他这样做的意义在哪里呢?有多少人真正将他利用起来了,其实还有supportV4/V7Demo,这些源码在我们的SDK目录下(如果没有自行下载),这些本来就是官方给我们提供的绝好的学习资料,和官方文档一起使用更配哦。当年学习Android的时候都是跟着它学的。
说了这么多先上张图吧,假如我们需要学习RecyclerView的用法,打开supportV7Demo:
是不是很赞!!当然还包括
- API demo 包含了android不同版本的api用法的示例,结合api文档学习非常棒
- supportVxxxDemo,google最新发布的兼容包的用法和特性都在里面有比如 recyclerView、cardView等。
相信大家把这些Demo撸完基础一定会打的非常扎实的。当然我们有demo是不够的,还需要源码。
二、导入方法
这里只讲as的导入方法,还在用ec的自己google。
**(1)导入API demo **
打开as File ->new->importProject
选择路径你的SDK目录下的\samples\android-xx\legacy\aipdemo,如果没有自行打开SDKManager下载,里面会包含各个历史版本的demo:
根据自己需要导入就行了,一定记得导入V4包,导入之后会有报错:xxx文件不是xml文件,找到它,改名字直接加个.xml后缀名就行。
6.png编译后可能又会出现一个错误,说是当前最小运行版本为1,告诉你应该最小为4,这是应为v4包最低兼容4,在build.gradle 的defaultConfig 闭包里面加上minSdkVersion 4或者高于4都行
7.png 8.png如果是导入5.x以上的apidemo会报错:
9.png
说是包找不到,我暂时也没找到好的解决办法,我是直接把相关联的几个类直接删掉了。
(2)导入V7、V4等兼容包的demo
路径:sdkPath\support\samples\SupportxxxDemos:
导入之后就可以看源码了:
3.png注意记得导包:
5.pngv4的demo就不掩饰了和v7一样,最终运行后:
10.png三、查看源码
导入之后我们就可以像app一样使用它了,如果我们想学习某种效果的时候需要查看相应的源码,就好比我们拿到一个比较大型项目我们想快速的定位我们当前打开的Activity是哪个Activity呢?难道我们每次从manifest里面的入口区找吗?那这样未免也太浪费时间了。这里有个小技巧:
打开as的日志,新建一个logcat过滤器:
命名为ActivityManager:
12.png切换日志等级到Verbose然后我们每打开一个Activity都会打印相应的类出来,如下图是RecyclerView的拖动排序的Actvity的界面。
13.png
然后我们双击shift全局查找就能快速定位到当前类了,然后我们就能随意查看当前示例的源码了。
好了到此大功告成!希望能帮到有需要的童鞋。
ps:第一次写文章有的有点乱,大家将就着看吧
网友评论