【转】Android 如何在Eclipse中查看Android API源码 及 support包源码
原文网址:http://blog.csdn.net/vipzjyno1/article/details/22954775
当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的。android系统是开源的,所以谷歌官方在每发布一个版本的时候都会放出它对应的API源码的,让我们可以深入了解android的API实现过程,这就是开源的魅力。如果我们从API源码的角度去了解了开发过程,那样对于作为开发人员的我们,便会对他有更深入的体会,有助于日后的软件开发。
比如查看Activity的源码,如图
也可以查看系统方法怎么去实现一个过程,
如每个activity设置界面时都会去调用的一个方法:setContentView(R.layout.welcome);
从代码中我们可以看到,这个方法其实就是系统分装好我们拿来用的简化版,我们也可以按照源码里面的
getWindow().setContentView(R.layout.welcome);
这样的实现效果都是一样的。
在例如系统提供的按钮控件Button:
不看不知道一看明白了,原来它的父类就是TextView,那在然我们看看TextView控件的源码:
可以发现,它的父类是View,安卓的系统控件都是继承了View类,画出来的,所以在我们想要自定义控件的时候,可以继承View去做出自己想要的控件。
在Eclipse中需要查看某个类的源码,直接按住Ctrl 然后点击想要查看的类或则方法,就会打开相对应的类文件,可是这是建立在配置好源source的情况下才会打得开,下面让我们去看看如何配置:
一.android API 源码
1.首先要先下载SDK下的对应版本API的源码Source for Android SDK
2.之后找到你所安装的SDK所在的目录,我的SDK目录路径是:C:\Users\Administrator\android-sdks
找到各个版本的对应sources文件夹
里面就是对应的你所下载版本的源文件
我们拿4.3来做个例子(android-19 就是对应4.3)
找到目录路径
C:\Users\Administrator\android-sdks\sources\android-19
之后右击你的项目,选菜单最下方的Properties --- Java Buld Path --- Libraries --- android 4.3 --- android.jar
点击Edit,
在上图所示输入框放入你前面源码的目录,之后项目会自动更新,之后便可以查看源码了。
二:查看对应的support拓展包的源码
下面以android-support-v4.jar为例子
1.先要下载SDK下的android support library,这个里面包含了最新版本的拓展包
之后找该拓展包到目录,这就是V4的架包路径,我的路径为:C:\Users\Administrator\android-sdks\extras\android\support\v4\src
在你所在的项目的LIB文件下,会有一个android-support-v4.jar架包,在该目录下建立文件命名为:android-support-v4.jar.properties,(其他V7什么的架包类似,在原架包名称后面加上.properties既可以),如下图所示:
我的是support v4的架包源码路径为C:\Users\Administrator\android-sdks\extras\\android\support\v4\src
之后打开你所创建的这个文件,在里面输入你该架包源码所在的位置路径:
如果是WINDOWS操作系统下,输入的路径为:C:\\Users\\Administrator\\android-sdks\\extras\\android\\support\\v4\\src
ndroid-support-v4.jar.properties文件中格式: src = C:\\Users\\Administrator\\android-sdks\\extras\\android\\support\\v4\\src
之后这步很关键,就是把这个项目CLOSE了,之后在OPEN,
之后我想查看V4架包的FRAGMENT这个类,就是通过按住CTRL在点击FRAGMENT,查看了,
通过源码去深入学习API的实现过程,可以让我们对android有更深入的体会和了解。
【转】Android 如何在Eclipse中查看Android API源码 及 support包源码的更多相关文章
- Android 如何在Eclipse中查看Android API源码 及 support包源码
当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...
- 如何在Eclipse中查看Android源码或者第三方组件包源码
文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅 ...
- 如何在Eclipse中查看Android API源码以及support包源码
http://my.eoe.cn/futurexiong/archive/181.html 开发第三方Android应用的,大多数人应该还是Eclipse结合ADT来开发.那么大多数时候我们可能希望点 ...
- 沉淀再出发:如何在eclipse中查看java的核心代码
沉淀再出发:如何在eclipse中查看java的核心代码 一.前言 很多时候我们在eclipse中按F3键打算查看某一个系统类的定义的时候,总是弹出找不到类这样的界面,这里我们把核心对应的代码加进 ...
- 在eclipse中查看Android源码
声明:高手跳过此文章 当我们在eclipse中开发android程序的时候.往往须要看源码(可能是出于好奇,可能是读源码习惯),那么怎样查看Android源码呢? 比方以下这样的情况 图1 如果我们想 ...
- (转)如何在Eclipse中查看JDK类库的源代码
在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 “window”-> "Preferences" -> "Java" -> & ...
- Eclipse中查看Android模拟器SD卡目录
· 有时候用到Android模拟器来模拟SD卡相关操作,在Eclipse中可以直接查看SD卡目录: 首先,新建模拟器的时候要创建SD卡,存储的大小根据需要创建: 启动模拟器,在Eclipse中打开视图 ...
- 在eclipse中查看android源代码
自己写了一个类MainAcvitivity extends Activity, 按F12(我把转到定义改成了F12的快捷键),转到Activity的定义,弹出下面这样的界面 就是说没有找到androi ...
- 如何在eclipse中添加android ADT(转)
转自: http://jingyan.baidu.com/article/b0b63dbfa9e0a74a4830701e.html 对于程序开发的学者来说,eclipse并不陌生,它为我们提供了一个 ...
随机推荐
- PHP对XML文件操作之属性与方法讲解
DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definit ...
- java 几种常见的定时器
今天闲着没事就总结了一下在java中常用的几种定时器. 主要有3种java.util.Timer, ScheduledExecutorService和quartz 一.Timer 举个简单例子.每隔5 ...
- Window 8.1 开启Wifi共享
p{padding-left:20px;} Hosted network supported:Yes 支持Wifi共享 命令:netsh wlan set hostednetwork mode=al ...
- HDU 1598 find the most comfortable road(枚举+并查集,类似于最小生成树)
一开始想到用BFS,写了之后,发现有点不太行.网上查了一下别人的解法. 首先将边从小到大排序,然后从最小边开始枚举,每次取比它大的边,直到start.end属于同一个集合,即可以连通时停止.过程类似于 ...
- POJ1573Robot Motion
http://poj.org/problem?id=1573 #include<stdio.h> #include<stdlib.h> #include<cstring& ...
- LR_问题_无法使用LR的Controller,提示缺少license
问题描述 无法使用LR的Controller,提示缺少license 问题解决 使用开始->所有程序->HP LoadRunner->loadrunner,在打开界面的左上角选择co ...
- chrome中tcmalloc的使用
chrome中内存分配采用了第三方库tcmalloc,这个库主要提供给应用程序内存管理方面的优化,按资料说内存存取速度会从300ns降到50ns.更具体的关于这个tcmalloc的信息大家可以查网上的 ...
- C++:成员运算符重载函数和友元运算符重载函数的比较
5.2.4 成员运算符重载函数和友元运算符重载函数的比较 (1)对双目运算符而言,成员运算符重载函数参数表中含有一个参数,而友元运算符重载函数参数表中有两个参数:对于单目运算符而言,成员运算符重载函数 ...
- 浏览器 怪异模式(Quirks Mode) 与 标准模式(Standards Mode)
浏览器 怪异模式(Quirks Mode) 与 标准模式(Standards Mode) 怪异模式,浏览器使用自己的方式解析渲染页面,在不同的浏览器就会显示不同的样式.标准模式,浏览器使用W3C的标准 ...
- "hadoop namenode -format"命令的作用和影响的文件
在hadoop部署好了之后是不能马上应用的,而是对配置的文件系统进行格式化.这里的文件系统,在物理上还未存在,或者用网络磁盘来描述更加合适:还有格式化,并不是传统意义上的磁盘清理,而是一些清除与准备工 ...