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源码分析