首页
社区
课程
招聘
[讨论]自由行, 游览 Android 的官方源码
发表于: 2011-6-29 17:10 20984

[讨论]自由行, 游览 Android 的官方源码

2011-6-29 17:10
20984
自由行, 游览 Android 的官方源码

初学者或许会问到 :
"编写软件,需要了解 android 源码吗 ?  我需要了解 android 内部的运作吗 ?"

其实一般的 app,只需要使用普通 java 便可以编写完成

可是你会渐渐发现,别人的 app,总是做到了某些特别的功能,那些优秀的功能,都不是使用一般方法便可以做到的

因为android 软件使用 java 平台的关系,我们可以使用 java 的 reflection 来进行 java 对象的深入操作,使用官方 SDK 没有公开的功能,做到更多效果

经过 google 查了一下,你便会发现,了解 android 源码设计,会使你了解 android 更多

这个帖是集中讨论阅读源码,这里使用网上 git 来提供参考 (当然鼓励大家用 git 把整份源码下载到 pc 上)

如果大家有甚么问题或发现,欢迎讨论

网上git 查看 android 源码的方法 :

http://android.git.kernel.org/

这里是 android project 的源码,假如你想查看某一个目录,只需要在那一行,按 tree,便会打开

eg:

系统架构 :
platform/frameworks/base.git

按 tree 打开

drwxr-xr-x         -         api         tree | history
drwxr-xr-x         -         build         tree | history
drwxr-xr-x         -         cmds         tree | history
drwxr-xr-x         -         core         tree | history
drwxr-xr-x         -         data         tree | history
drwxr-xr-x         -         docs         tree | history
drwxr-xr-x         -         drm         tree | history
drwxr-xr-x         -         graphics         tree | history
drwxr-xr-x         -         include         tree | history
drwxr-xr-x         -         keystore         tree | history
drwxr-xr-x         -         libs         tree | history
drwxr-xr-x         -         location         tree | history
drwxr-xr-x         -         media         tree | history

我们假如对 android 的 "Bitmap" 这个class 有兴趣,便前往

graphics  (按 tree)

drwxr-xr-x                   ..        
drwxr-xr-x         -         java         tree | history
drwxr-xr-x         -         jni         tree | history
drwxr-xr-x         -         tests         tree | history

然后,继续进入 -> java -> android -> graphics

(完整位置 : [platform/frameworks/base.git] / graphics / java / android / graphics / )

便会看见

-rw-r--r--         2388         AvoidXfermode.java         blob | history | raw
-rwxr-xr-x         676         Bitmap.aidl         blob | history | raw
-rw-r--r--         42136         Bitmap.java         blob | history | raw
-rw-r--r--         25562         BitmapFactory.java         blob | history | raw
-rw-r--r--         11435         BitmapRegionDecoder.java         blob | history | raw
-rw-r--r--         1542         BitmapShader.java         blob | history | raw
-rw-r--r--         1783         BlurMaskFilter.java         blob | history | raw
-rw-r--r--         1594         Camera.java         blob | history | raw

打开 Bitmap.java ,便可以看到 Bitmap 的设计了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
“因为android 软件使用 java 平台的关系,我们可以使用 java 的 reflection 来进行 java 对象的深入操作,使用官方 SDK 没有公开的功能,做到更多效果”
留念下。。
2011-11-22 11:40
0
雪    币: 114
活跃值: (81)
能力值: (RANK:60 )
在线值:
发帖
回帖
粉丝
3
最好在Linux环境下查看源代码,这也是官方所推荐的。
我是装了一个虚拟机,硬盘50G,Ubuntu,64位,下载代码,在虚拟机里面查看代码,编译等等!
2011-12-1 21:39
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我是做个虚拟机,可以LINX。。不会安软件。XP下倒是组建环境了。可又不会开发。
本就是新手。。来发表下
2012-1-3 09:29
0
雪    币: 268
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
从没接触过安卓 现在要用安卓来开发毕业设计程序 真是蛋疼啊
2012-3-16 14:23
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
java基础不好的表示鸭梨好大呀。
2012-4-11 06:53
0
雪    币: 438
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我是用fedora来下载编译查看源码,发现不错!!!
2013-1-7 10:38
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
表示同感,java用得少,工作上只用到C语言
2013-2-2 08:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
kernel 部分的代码还是在linux 下看,
其他的可以在windows下看得
2013-3-4 19:43
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
新手,各位大牛有linux 环境下部署开发环境的文档吗?
2013-8-28 14:15
0
雪    币: 192
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
只有C/C++基础的表示看一个星期书就可以开发android程序了
2013-9-10 14:51
0
雪    币: 3572
活跃值: (760)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
安装官网方法 每次都下载不了。。而且还那么大。。真心无奈
2013-10-1 22:57
0
游客
登录 | 注册 方可回帖
返回
//