阅读android项目源码
版权声明:欢迎转载,转载请注明出处;http://blog.csdn.net/angcyo
上一篇,我们成功导入并运行了 贝壳单词 项目.
这篇文章, 带大家一起读一读源码.
打开 贝壳单词 项目,定位到文件 AndroidManifest.xml
我们今天的一切,都从这里开始;(这个文件是项目的入口)
1–>首先注意到的是权限:
这里大致可以了解到,项目会进行一些什么操作;
比如网络访问啊, 读写磁盘啊, 调用振动器啊, 等
2–>其次看到一个application标签
这个标签就代表,整个android应用程序, 其下面包含很多个Activity(活动),就表示应用程序中,有很多个活动.
application标签,有且必须有一个;
可以看到 android:name=”.App”;这条属性,这说明程序自定义了application;(这很关键, 因为程序运行的时候,会首先调用这个类….所以我们有必要先查看一下究竟..看看这个类,都做了啥).
很简单, 只是定义了一个全局的Context 对象; private static Context sContext;
但是…App是继承LitePalApplication类的, public class App extends LitePalApplication ;
所以我们还必须看一下LitePalApplication做了什么:
这是一个库项目中的类, 我们无法查看. 没关系,这里我们只要知道,他使用到了库中的application就行了.
继续回到 AndroidManifest.xml 文件:
可以看到: 静态声明了5个Activity, 2个广播接收器receiver, 1个服务service
其中.ui.SplashActivity 就是程序最主要的入口Activity:
因为他有2个过滤器:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
- 1
- 2
- 3
- 4
以后,大家看到这2个过滤器,就要知道,这是程序的 主要Activity入口, 就是桌面上点击启动之后,看到的第一个界面.
3–>程序主界面
进行了初始化操作, 访问网络操作, 最后跳转到了:MainActivity.class 类中;
显然,接下来要查看MainActivity.class类了:
到这里, 我们已经知道了怎么开始阅读别人的项目了.
如果需要继续学习,就需要大家按照自己的目的, 自己的想法去学习了
阅读android项目源码的更多相关文章
- 如何阅读Android系统源码-收藏必备
对于任何一个对Android开发感兴趣的人而言,对于android系统的学习必不可少.而学习系统最佳的方法就如linus所言:"RTFSC"(Read The Fucking So ...
- 最新app源码下载:200款优秀Android项目源码
200款优秀Android项目源码!菜鸟必备!Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他 ...
- Android项目源码分享
http://blog.csdn.net/gao_chun/article/details/47263063 Android项目源码分享 给大家分享几个Android开发项目源码,大部分功能相信可以在 ...
- 网上的很多Android项目源码有用吗?Android开发注意的地方。
在Android项目开发中,我们可以在网上看到很多项目源码,大部分也不是很精致, 比如 06.Android阿福多媒体播放器开发教程+源码 还有什么浏览器源码. 那么这些有用吗? 价值在哪里? 精致 ...
- 如何阅读android framework源码
但如果想深入的了解Android系统, 那么可以看下我的一些简单的总结. 知识 Java Java是AOSP的主要语言之一. 没得说, 必需熟练掌握. 熟练的Android App开发 Linux A ...
- android项目源码
[置顶] Android精品开源项目整理_V20140221(持续更新中..) 让我们回顾下2013年有哪些精品资源:Android精品开源项目整理_V20131115(持续更新中..) 引言: ...
- [转]如何阅读android framework源码
但如果想深入的了解Android系统, 那么可以看下我的一些简单的总结. 知识 Java Java是AOSP的主要语言之一. 没得说, 必需熟练掌握. 熟练的Android App开发 Linux A ...
- [转]大牛们是怎么阅读 Android 系统源码的
转自:http://www.zhihu.com/question/19759722 由于工作需要大量修改framework代码, 在AOSP(Android Open Source Project)源 ...
- Android项目源码界面超级华丽的仿QQ最新版本
这是一个我们比较熟悉的一款应用,高仿专仿最新QQ应用源码,也是一个高仿QQ最新版本的项目,界面超级华丽,使用了大量的自定义控件,项目里实现了部分功能,例如WIFI-FTP(把手机变成FTP服务端,可以 ...
随机推荐
- 注册表被篡改,请重新安装应用程序 acdphotoEdit
破解之后,运行程序,提示“注册表被篡改,请重新安装应用程序”,反复重装,重启,都不行,删除注册表,重新安装后运行一次ACDSee,绿化,也不行,最后发现设置属性以管理员权限运行,ok,解决了
- js控制日期选择框datetime-local和select的展开
注: js控制元素展开不受元素css属性的限制,例如opacity,z-index等 1. 使用js控制日期选择框的展开 ios: document.querySelector(".targ ...
- linux下修改MAC地址方法
一.修改MAC地址方法linux环境下:需要用 #ifconfig eth0 down 先把网卡禁用 再用ifconfig eth0 hw ether 1234567890ab 这样就可以改成功了要想 ...
- 《JS权威指南学习总结--4.13运算符》
一.typeof运算符 typeof是一元运算符,放在其单个操作数的前面,操作数可以是任意类型.返回值为表示操作数类型的一个字符串. 例如: typeof x ...
- storm 使用过程中遇到的问题
1 bolt不停重启,excutor无法启动. nimbus日志类似如下(), 2014-03-12 10:55:06 b.s.d.nimbus [INFO] Executor MITAS3-74-1 ...
- 根据字符串获取对应类型(Type) 转
public static Type GetTypeByString(string type) { switch (type.ToLower()) ...
- Floodfill算法——求独立子图个数
Floodfill--漫水填充法(也称种子填充法)简单来说就是求一个图中独立子图的个数并将其描述出不同的状态.Floodfill在计算机图形学有着非常广泛的运用,比如图像分割.物体识别之类.基于Flo ...
- 安卓四大组件的作用、安卓Service的作用
Activity好像是应用程式的眼睛,提供与user互动之窗. BroadcastReceiver好像是耳朵,接收来自各方的Intent. Service是在后台运行的. 一个Service 是一段长 ...
- 用GDB调试程序的设置 Segmentation fault(Core Dump)调试
在写wifi库的时候碰见一个 Segmentation fault(Core Dump) 所以需要用GDB调试下. 在cmake的时候,修改CMakeLists.txt set(CMAKE_C_FLA ...
- Puppent 介绍原理及安装
Puppet原理: Puppet是一个或者多个master,众多client,所有的客户端都定期(默认为30分钟)使用facter工具把 客户端的基本信息,通过https的xmlrpc协议发送给服务器 ...