最近出于一些业务上的需要需要对Android Contacts和Phone做出一些改动
首先我们知道
Contacts应用是由Google Android团队编写的Android原生应用。在应用层面上涉及到Contacts.apk,
ContactProvider.apk。其他相关的在Framwork,以及framework与linux内核之间的SQLite.Contacts.apk只是界面
层的逻辑,主要实现UI的流程。对于联系人的查询,存储,增加和删除都在ContactProvider.apk中封装,
是对底层的SQLite进行封装。数据的操作最终都是在底层的SQLite的C代码中进行。
事实上,绝大多数的改动一般只需要改动界面,所以我本次打算做一次完善的Contacts界面分析(MTK为例)
其实,我们都知道对于系统级的应用,它的启动一半在于开机时就已经全部启动运行了,而此次我们重在在于界面
所以,对于启动便不作过多赘述
首先给出Contacts源码位置,Android SourceCode/Packages/apps/Contacts/
进入源码目录
通过AndroidManifest.xml我们也大概可以看出它的启动运行
在AndroidManifest.xml中,我们可以看出大概有NonPhoneActivity、DialtactsActivity、PeopleActivity等activity
其他activity暂时不做考虑,首先NophoneActivity我们也不做考虑(专为非Phone使用)
那么我们先看一下,在MTK平台下的DialtactsActivity、PeopleActivity