当我们阅读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包源码的更多相关文章

  1. 【转】Android 如何在Eclipse中查看Android API源码 及 support包源码

    原文网址:http://blog.csdn.net/vipzjyno1/article/details/22954775 当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都 ...

  2. 如何在Eclipse中查看Android源码或者第三方组件包源码

    文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅 ...

  3. 如何在Eclipse中查看Android API源码以及support包源码

    http://my.eoe.cn/futurexiong/archive/181.html 开发第三方Android应用的,大多数人应该还是Eclipse结合ADT来开发.那么大多数时候我们可能希望点 ...

  4. 沉淀再出发:如何在eclipse中查看java的核心代码

    沉淀再出发:如何在eclipse中查看java的核心代码 一.前言   很多时候我们在eclipse中按F3键打算查看某一个系统类的定义的时候,总是弹出找不到类这样的界面,这里我们把核心对应的代码加进 ...

  5. 在eclipse中查看Android源码

    声明:高手跳过此文章 当我们在eclipse中开发android程序的时候.往往须要看源码(可能是出于好奇,可能是读源码习惯),那么怎样查看Android源码呢? 比方以下这样的情况 图1 如果我们想 ...

  6. (转)如何在Eclipse中查看JDK类库的源代码

    在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 “window”-> "Preferences" -> "Java" -> & ...

  7. Eclipse中查看Android模拟器SD卡目录

    · 有时候用到Android模拟器来模拟SD卡相关操作,在Eclipse中可以直接查看SD卡目录: 首先,新建模拟器的时候要创建SD卡,存储的大小根据需要创建: 启动模拟器,在Eclipse中打开视图 ...

  8. 在eclipse中查看android源代码

    自己写了一个类MainAcvitivity extends Activity, 按F12(我把转到定义改成了F12的快捷键),转到Activity的定义,弹出下面这样的界面 就是说没有找到androi ...

  9. 如何在eclipse中添加android ADT(转)

    转自: http://jingyan.baidu.com/article/b0b63dbfa9e0a74a4830701e.html 对于程序开发的学者来说,eclipse并不陌生,它为我们提供了一个 ...

随机推荐

  1. Ajax 简述

    说到Ajax大家一定不陌生,但是真要具体说说它是什么?估计给出完整定义的人应该不多. W3C上给Ajax的具体定义为: AJAX = Asynchronous JavaScript and XML(异 ...

  2. JZOJ P1817:[8.27]研究性学习作业

    传送门 老师良心推荐的二分题.7月29号第一次写,想到了裸的DP,乱搞搞过了6组,欲优化,无解,弃疗. 然后今天老师给了题解,简单看了一下. 正解是二分答案+DP验证. 二分天数$day$,然后对于每 ...

  3. elk系列1之入门安装与基本操作

    preface 我们每天都要查看服务器的日志,一方面是为了开发的同事翻找日志,另一方面是巡检服务器查看日志,而随着服务器数量以及越来越多的业务上线,日志越来越多,人肉运维相当痛苦了,此时,参考现在非常 ...

  4. SVM松弛变量-记录毕业论文3

    上一篇博客讨论了高维映射和核函数,也通过例子说明了将特征向量映射到高维空间中可以使其线性可分.然而,很多情况下的高维映射并不能保证线性可分,这时就可以通过加入松弛变量放松约束条件.同样这次的记录仍然通 ...

  5. python学习笔记-(八)装饰器、生成器&迭代器

    本节课程内容概览: 1.装饰器 2.列表生成式&迭代器&生成器 3.json&pickle数据序列化 1. 装饰器 1.1 定义: 本质上是个函数,功能是装饰其他函数—就是为其 ...

  6. JQuery------$.ajax()的使用方法

    菜鸟教程地址: http://www.runoob.com/jquery/ajax-ajax.html html(../Home/Index.cshtml) <body> <butt ...

  7. 中缀表达式转后缀表达式(用于求字符串表达式值)(js栈和队列的实现是通过数组的push和unshift方法插值,pop方法取值)

    中缀表达式:就是我通常用的算术或逻辑公式: 后缀表达式:不包含括号,运算符放在两个运算对象后面,所有的计算按运算符出现的顺序,严格从左向右进行,不用考虑运算符优先级: 如,(2+1)*3 转换后,2 ...

  8. 20145212 《Java程序设计》第6周学习总结

    20145212 <Java程序设计>第6周学习总结 学习内容总结 第十章 1.Java将输入/输出抽象化为串流.读取数据对象成为输入流,能向其写入的对象叫输出流. 我从网上找到了一个可以 ...

  9. Java 9.10习题

    <1>设计4个线程对象,两个线程执行减操作,两个线程执行加操作 //================================================= // File Na ...

  10. Linux下开发常用 模拟 Http get和post请求

    1.get请求 curl "http://www.baidu.com"      如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "htt ...