Articles of android preferences

如何将SharedPreferences备份到SD卡?

我在很多地方看到将SharedPreferences文件复制到SD卡是一个问题,因为每个制造商都将它放在其他地方。 无论文件位于何处,我都想在SD卡上备份。 有没有办法做到这一点?

Android 4.4中左侧和右侧的AppCompatPreferenceActivity奇怪填充

我有一个扩展AppCompatPreferenceActivity的SettingsActivity。 我的pref_headers.xml看起来像这样: 片段代码如下所示: @TargetApi(Build.VERSION_CODES.HONEYCOMB) public class ProfileFragment extends PreferenceFragment { @BindView(R.id.email) TextView email; @BindView(R.id.username) TextView username; @BindView(R.id.loadingPanel) RelativeLayout loadingPanel; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_profile, container, false); ButterKnife.bind(this, rootView); if (setActionbarListener != null) { setActionbarListener.setActionbarTitle(“Profil”); } loadingPanel.setVisibility(View.VISIBLE); UsernameHandler uHandler = UsernameHandler.getInstance(new UsernameResult() { @Override public void finished(String […]

如何从首选项屏幕打开AlertDialog?

我在android中开发应用程序我想显示AlertDialog如果用户从首选项屏幕检查checkboxpreference。 那我怎么能这样做..?

PreferenceFragment中的上下文

取自http://developer.android.com/guide/topics/ui/settings.html : 注意:PreferenceFragment没有自己的Context对象。 如果需要Context对象,可以调用getActivity()。 但是,只有在片段附加到活动时才要小心调用getActivity()。 当片段尚未附加,或在其生命周期结束时被分离时,getActivity()将返回null。 如果我从PreferenceFragment的OnCreate()方法中调用getActivity(),那么我可以确定该片段是附加到它的活动 – 还是有其他方法你应该在这个实例中获取Context? 我需要Context的原因是我正在尝试使用PreferenceFragment中的Toast通知

如何将工具栏添加到AppCompatPreferenceActivity?

我正在尝试将工具栏添加到AppCompatPreferenceActivity,但我不知道该怎么做。 你能告诉我怎么样吗?

如何使用support.v7.preference与AppCompat和潜在的缺点

我正在尝试使用support.v7.preference实现AppCompat应用程序的首选项。 我花了几天时间来完成它,因为support.v7.preference与本机偏好有一些显着的差异……一旦你知道,这并不是太糟糕,但不幸的是那里没有很少的文档。 我以为我会分享我的发现,所以其他人不必经历同样的痛苦。 所以……问题: 您如何最好地实现AppCompat应用程序的首选项(PreferenceFragment和AppCompatAcitivity不兼容)? 以下是一些相关问题: 使用support.v7.preference时,首选项子屏幕无法打开 如何从PreferenceFragmentCompat中的Preferences子屏幕移回主屏幕? PreferenceFragmentCompat需要设置preferenceTheme 如何使用android.support.v7.preference库创建自定义首选项? 官方文件: http://developer.android.com/guide/topics/ui/settings.html http://developer.android.com/reference/android/support/v7/preference/Preference.html

PreferenceFragment读/写哪个设置文件?

如何控制PreferencesFragment应该使用哪个文件来读写设置? 我在文档中找不到任何相关内容。 如果无法通过代码或XML资源控制,是否有任何保证,文件被调用,所以我可以使用显式打开它 Activity.getSharedPreferences(String name, int mode) 谢谢。

使用SharedPreferences的自定义子类与PreferenceActivity或PreferenceFragment

我正在使用SharedPreferences的自定义子类来加密我在应用程序中保存的设置,类似于第二个响应中的操作: 在Android应用程序中存储用户设置的最合适方法是什么 我必须保存的偏好数量正在增加。 在我使用自定义视图更新这些首选项之前,这将变得很麻烦,我想使用PreferenceActivity或PreferenceFragment。 问题是,似乎没有办法让这些类中的任何一个使用我的子类访问我的数据,这意味着它从默认首选项文件中提取的数据将是乱码,因为它没有被解密。 我发现有些人创建了Preference的自定义实现来加密那里的数据,但是我不想这样做,因为数据已经在我的SharedPreferences子类中加密/解密了,我想保持它办法。 我也一直在查看PreferenceActivity和PreferenceManager的源代码,我不确定解决这个问题的最佳方法。 有没有其他人有幸做完这样的事情并对我可能从哪里开始有任何建议?

如何从屏幕上删除Android偏好设置

我正在尝试从屏幕中删除首选项,以便在用户使用大于2.2的SDK时不可见。 我find了几个答案,说getPreferenceScreen()。removePreference(thePreference)会起作用,但每次尝试都会返回FALSE。 我在错误的地方使用它吗? 我的代码中的任何线索? public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener { private static final String POLLING_PREFERENCE = “update_frequency_list”; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); // Get a reference to the preferences mPollPref = getPreferenceScreen().findPreference(POLLING_PREFERENCE); //If the SDK is 2.2 or greater do not display […]

如何使用膨胀布局访问自定义DialogPreference中的小部件?

我是Android的新手,我试图从我的自定义DialogPreference加载/持久化值。 目前,这会失败,因为findViewById返回null。 我(尝试)这样做的方式是否正确? 如何在代码中访问我的EditText小部件? public class AddressDialogPreference extends DialogPreference { public AddressDialogPreference(Context context, AttributeSet attrs) { super(context, attrs); setDialogLayoutResource(R.layout.address_dialog); } @Override protected void onBindDialogView(View view) { EditText idField = (EditText) view.findViewById(R.id.hostID); EditText ipField = (EditText) view.findViewById(R.id.hostIP); SharedPreferences pref = getSharedPreferences(); idField.setText(pref.getString(getKey() + “_id”,”ExampleHostname”)); ipField.setText(pref.getString(getKey() + “_ip”,”192.168.1.1″)); super.onBindDialogView(view); } @Override protected void onDialogClosed(boolean positiveResult) { if(!positiveResult) […]