Android原生设置源码分析:修改Setting默认值

4星 · 超过85%的资源 需积分: 35 68 下载量 64 浏览量 更新于2024-09-17 收藏 415KB DOCX 举报
"这篇文稿主要探讨了对Android原生Setting应用的源码分析,特别是如何修改设置默认值,特别是Sound & Display中的Orientation选项。文章介绍了Android应用程序的基本结构,并通过跟踪Settings应用的工作流程来理解其功能实现。" 在Android系统中,原生的Setting应用位于`packages/apps`目录下,其组成部分包括资源文件(resoureces)、源代码(src)、测试代码(tests),以及编译文件(Android.mk)和全局数据文件(AndroidManifest.xml)。`Android.mk`用于编译项目,而`AndroidManifest.xml`则包含了应用的元数据和权限信息。 分析Setting应用,首先需要查看`res/xml/setting.xml`,这个文件定义了Settings界面中的各项选项。为了修改Sound & Display的Orientation设置,我们需要找到与之相关的配置。通常,这些配置会链接到相应的Java类,例如`SoundAndDisplaySettings`。在`sound_and_display_settings.xml`中,我们可以找到Orientation选项的具体定义。 在`values/strings.xml`或针对特定语言的`values-<lang>/strings.xml`文件中,可以找到各个选项的文本描述,如"accelerometer"对应Orientation的用户界面文字。在源码中,`KEY_ACCELEROMETER`常量表示Orientation选项的标识。 在设置应用的初始化过程中,`OnCreate()`方法会使用`findPreference`找到XML中描述的`accelerometer`,并将其转换为`CheckBoxPreference`类型。当用户点击这个复选框时,事件处理代码会检查其状态。如果复选框被选中,`Setting.System.putInt`会将值设为1,否则设为0,从而改变了系统的设置值。 通过这个过程,我们可以了解到Android Settings应用如何读取和保存用户配置,以及如何根据源码修改默认设置。这对于定制Android系统或者开发自定义设置项非常有用。深入理解这部分源码,有助于开发者更好地控制设备的显示和声音设置,尤其是涉及到硬件传感器如加速度计的相关选项。