Android 5.1 Contacts源码分析:Contacts模块文件结构

Posted ximsfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 5.1 Contacts源码分析:Contacts模块文件结构相关的知识,希望对你有一定的参考价值。

1 Contacts目录下android.mk文件分析:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

contacts_common_dir := ../ContactsCommon
phone_common_dir := ../PhoneCommon

src_dirs := src $(contacts_common_dir)/src $(phone_common_dir)/src
res_dirs := res $(contacts_common_dir)/res $(phone_common_dir)/res
#编译Contacts时,会同时编译ContactsCommon,PhoneCommon模块

LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs)) \\
    frameworks/support/v7/cardview/res

LOCAL_AAPT_FLAGS := \\
    --auto-add-overlay \\
    --extra-packages com.android.contacts.common \\
    --extra-packages com.android.phone.common \\
    --extra-packages android.support.v7.cardview

#导入jar包,(使用include$(BUILD _JAVA_LIBRARY)生成
#telephony-common: frameworks/opt/telephony/
#voip-common: frameworks/opt/net/voip/
LOCAL_JAVA_LIBRARIES := telephony-common voip-common
#导入静态库,静态jar包(使用include$(BUILD_STATIC_JAVA_LIBRARY)生成
LOCAL_STATIC_JAVA_LIBRARIES := \\
    com.android.vcard \\
    android-common \\
    guava \\
    android-support-v13 \\
    android-support-v7-cardview \\
    android-support-v7-palette \\
    android-support-v4 \\
    libphonenumber \\
    libgeocoding
#生成应用名为Contacts.apk
LOCAL_PACKAGE_NAME := Contacts
LOCAL_CERTIFICATE := shared
LOCAL_PRIVILEGED_MODULE := true

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

2 文件结构:

(1). Contacts 模块:
- activities : Contacts中主要的Activity,例如:PeopleActivity.java,ContactEditorActivity.java,GroupDetailActivity.java等。
- preference: Contacts的设置相关类,例如:ContactsPreferenceActivity.java。
- editor: Contacts编辑界面的相关类,例如:ContactEditorFragment.java等。
- interactions:一些辅助功能类,例如GroupCreationDialogFragment.java等。
- quickcontact: Contacts详情的相关类,例如:QuickContactActivity.java等。
- group: 群组相关类,例如:GroupDetailFragment.java,GroupEditorFragment.java等。
- list: 列表相关类,例如:DefaultContactBrowseListFragment.java等。
- …
(2). ContactsCommon模块:
- model: 封装了一些数据结构,账户等信息,例如:ValuesDelta.java,RawContact.java等。
- util: 封装了一些公用工具,例如:PhoneNumberFormatter.java等。
- vcard: 封装了一些vcard相关类,例如:NfcImportVCardActivity.java等。
- list: 封装了一些公用列表相关类,例如:ContactListItemView.java,ContactEntryListAdapter.java,ContactEntryListFragment.java等。
- …

以上是关于Android 5.1 Contacts源码分析:Contacts模块文件结构的主要内容,如果未能解决你的问题,请参考以下文章

Android 5.1 Contacts源码分析:Contacts模块ListView Adapter结构

Android 5.1 Contacts源码分析:Contacts模块Fargment结构

Android 5.1 Contacts源码分析:PeopleActivity

Android 5.1系统源码Wifi模块中wifiSettings源码分析

Orchard源码分析(5.1):Host初始化(DefaultOrchardHost.Initialize方法)

Android 5.1 Settings源代码简要分析