有些小的技巧总是需要花时间去寻找,为了帮助大家节省寻找的时间,也帮自己做一个记忆,总结如下:
在软件的设置界面总是免不了要设置一些接受信息的铃声,这个时候就用到了RingtonePreference ,首先在onCreate()里面,输入如下代码:
mAccountRingtone.setSummary(getRingtonName(mAccount.getRingtone()));
mAccountRingtone.setOnPreferenceChangeListener(new Reference.OnPreferenceChangeListener()
{
public boolean onPreferenceChange(Preference preference,Object newValue)
{
mAccountRingtone.setSummary(getRingtonName(newValue.toString()));
SharedPreferences sp=mAccountRingtone.getPreferenceManager().getSharedPreferences();
sp.edit().putString(PREFERENCE_RINGTONE, newValue.toString()).commit();
return false;
}
});
上面这段代码是说在监听到改变的时候,先把newValue显示到RingtonePreference 上面,然后保存到SharedPreferences里面,可能在有些地方还需要存到数据库里面,那大家就要问了,getRingtonName()这个方法是做什么的呢?其实newValue是一个Uri并不是铃声的名字,那么我们就需要通过这个Uri去查找数据库,来得到铃声的名字,下面是这个方法的实现:
public static final String DEFAULT="default";
public String getRingtonName(String uri)
{
if(uri.equals(""));
{
return "";
}
else
{
try
{
Uri mUri = Uri.parse(uri);
Cursor c = getContentResolver().query(mUri, new String[]{MediaStore.Audio.Media.TITLE}, null, null, null);
try
{
if(c.moveToFirst())
{
return c.getString(0);
}
else
{
return DEFAULT;
}
}
finally
{
c.close();
}
}
catch(Exception e)
{
return DEFAULT;
}
}
}
ok!
分享到:
相关推荐
此DEMO内含基本的android preference framework的简单介绍,包括CheckboxPreference, RingtonePreference, EditTextPreference以及ListPreference。主要探究了一下android 怎么通过使用preference从而达到对用户定制...
9.1.4 RingtonePreference 9.2 组织首选项 9.3 以编程方式操作首选项 9.4 使用首选项保存状态 9.5 参考资料 9.6 小结 第10章 探索安全性和权限 10.1 理解Android安全性模型 10.1.1 安全性...
Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,同时Android提供一种类似的layout的方式来进行Preference的布局。 Preference组件有ListPreference,EditTextPreference,...
9.1.4 RingtonePreference 9.2 组织首选项 9.3 以编程方式操作首选项 9.4 使用首选项保存状态 9.5 参考资料 9.6 小结 第10章 探索安全性和权限 10.1 理解Android安全性模型 10.1.1 安全性...
另外,还有可用,例如RingtonePreference , DatePickerPreference和TimePickerPreference 。捐款如果您想支持我,您可以通过PayPal捐款少量。如何使用图书馆?1.添加gradle依赖将此添加到您的gradle文件中: ...
RingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreferenceRingtonePreference
需要向里面添加首选项控件,原生的这些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每种控件至少包含4种属性:android:key,android:title,...