怎样阅读别人的安卓项目

文章转自:http://blog.csdn.net/angcyo/article/details/45889625

打开 贝壳单词 项目,定位到文件 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个过滤器:

<code class="hljs xml has-numbering">            <span class="hljs-tag"><<span class="hljs-title">intent-filter</span>></span>
                <span class="hljs-tag"><<span class="hljs-title">action</span> <span class="hljs-attribute">android:name</span>=<span class="hljs-value">"android.intent.action.MAIN"</span>/></span>
                <span class="hljs-tag"><<span class="hljs-title">category</span> <span class="hljs-attribute">android:name</span>=<span class="hljs-value">"android.intent.category.LAUNCHER"</span>/></span>
            <span class="hljs-tag"></<span class="hljs-title">intent-filter</span>></span></code><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li></ul><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li></ul>

以后,大家看到这2个过滤器,就要知道,这是程序的 主要Activity入口, 就是桌面上点击启动之后,看到的第一个界面.

3–>程序主界面
这里写图片描述
进行了初始化操作, 访问网络操作, 最后跳转到了:MainActivity.class 类中;

显然,接下来要查看MainActivity.class类了:
这里写图片描述

到这里, 我们已经知道了怎么开始阅读别人的项目了.

如果需要继续学习,就需要大家按照自己的目的, 自己的想法去学习了

原文地址:https://www.cnblogs.com/wanghang/p/6299680.html