我正在自定义Android应用,我必须自己初始化一些参数,并且不希望该用户应该能够为它们指定值。我修改了Java代码并为一些参数(早先从R.java中获取值)分配了值,删除了preferences.xml中的那些参数,现在用户看不到它们。但是仍有一些参数,当我在java代码中初始化并从preferences.xml中删除它时,它会在启动时崩溃应用程序,我是否必须在R.java中进行更改?
解决这个问题的第二种方法是将preferences.xml文件从服务器传递到android app,我可以轻松地修改应用程序,使其连接到服务器,并在验证后对preference.xml文件进行解析,但问题是我将如何使android make使用该preference.xml?这种方法是不可消化的,因为如果没有preferences.xml(正如预期的那样,在启动应用程序后,将发生用户的身份验证,然后将推送preferences.xml)应用程序将无法启动。
第三种方法是初始化代码中的参数,并将其从preferences.xml中删除,只是隐藏用户的选项,例如以下代码在preferences.xml中,我已经在代码中初始化了参数但是想要从preferences.xml中删除以下代码
<PreferenceCategory android:title="@string/pref_audio">
<CheckBoxPreference android:key="@string/pref_echo_cancellation_key" android:defaultValue="true"
android:title="@string/pref_echo_cancellation" android:summary="@string/pref_echo_cancellation_summary"></CheckBoxPreference>
<CheckBoxPreference android:key="@string/pref_echo_canceller_calibration_key"
android:title="@string/pref_echo_canceller_calibration" />
<PreferenceScreen android:title="@string/pref_codecs"
android:key="@string/pref_codecs_key">
<CheckBoxPreference android:key="@string/pref_codec_speex16_key"
android:title="@string/pref_codec_speex16"/>
<CheckBoxPreference android:key="@string/pref_codec_speex8_key"
android:title="@string/pref_codec_speex8"/>
<CheckBoxPreference android:key="@string/pref_codec_ilbc_key"
android:title="@string/pref_codec_ilbc"
android:shouldDisableView="true"
android:summary="@string/pref_ilbc_summary"/>
<CheckBoxPreference android:key="@string/pref_codec_amr_key"
android:title="@string/pref_codec_amr"
android:defaultValue="true"
android:shouldDisableView="true" />
<CheckBoxPreference android:key="@string/pref_codec_gsm_key"
android:title="@string/pref_codec_gsm"/>
<CheckBoxPreference android:key="@string/pref_codec_g722_key"
android:defaultValue="false"
android:title="@string/pref_codec_g722"/>
android:title="@string/pref_codec_silk8"/>
<CheckBoxPreference android:key="@string/pref_codec_pcmu_key"
android:title="@string/pref_codec_pcmu"/>
<CheckBoxPreference android:key="@string/pref_codec_pcma_key"
android:title="@string/pref_codec_pcma"/>
</PreferenceScreen>
</PreferenceCategory>
我可以隐藏这些选项的任何标签或考虑接近1或2的任何其他帮助??? /
此致
答案 0 :(得分:1)
请不要修改R.java文件。这些值由系统提供。不要操纵它们。尽量不要初始化代码中的参数。这可能有所帮助。