本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。
原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/
在上一节中,大家已经看到了,PreferenceActivity这个类允许用户在运行时去创建和修改首选项信息。如果想要使用这些首选项信息,你就需要使用SharedPreferences这个类。
1. 继续使用上一节中的工程,在UsingPreferences.java中添加一些代码。
public class UsingPreferencesActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClickLoad(View view) {
Intent i = new Intent("net.manoel.AppPreferenceActivity");
startActivity(i);
}
public void onClickDisplay(View view) {
SharedPreferences appPrefs =
getSharedPreferences("net.manoel.UsingPreferences_preferences",
MODE_PRIVATE);
DisplayText(appPrefs.getString("editTextPref", ""));
}
public void onClickModify(View view) {
SharedPreferences appPrefs =
getSharedPreferences("net.manoel.UsingPreferences_preferences",
MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = appPrefs.edit();
prefsEditor.putString("editTextPref",
((EditText) findViewById(R.id.txtString)).getText().toString());
prefsEditor.commit();
}
private void DisplayText(String str) {
Toast.makeText(getBaseContext(), str, Toast.LENGTH_LONG).show();
}
}
2. 按F11在模拟器上面调试。这一次点击Display Preferences Values 这个按钮,将会看到:
3. 在EditText中输入一些字符,然后点击Modify Preferences Values按钮。
4. 再次点击Display Preferences Values按钮,可以看到,首选项中的值被更新了。
在onClickDisplay()方法中,使用getSharedPreferences()去获取SharedPreferences类的实例。这里我指定了xml文件的名字“net.manoel.UsingPreferences_preferences”。通常格式是包名_preferences。我还使用了getString()去获取一个字符串,这个字符串作为预设信息的键值:
public void onClickDisplay(View view) {
SharedPreferences appPrefs =
getSharedPreferences("net.manoel.UsingPreferences_preferences",
MODE_PRIVATE);
DisplayText(appPrefs.getString("editTextPref", ""));
}
MODE_PRIVATE常量说明这个首选项文件只能被创建它的程序打开。
在OnClickModify()方法中,我通过SharedPreferences对象的edit()方法创建了一个SharedPreferences.Editor对象。如果想要改变一个字符串预设值,就用putString()方法。最后,使用commit()方法去保存:
public void onClickModify(View view) {
SharedPreferences appPrefs =
getSharedPreferences("net.manoel.UsingPreferences_preferences",
MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = appPrefs.edit();
prefsEditor.putString("editTextPref",
((EditText) findViewById(R.id.txtString)).getText().toString());
prefsEditor.commit();
}
分享到:
相关推荐
Android实现 点击EditText编辑框清除hint预设字 的功能实现Demo。
VTemplate泛型集合字典根据预设键获取值
Element 3D是videocopilot机构出品的强大AE插件,支持3D对象在AE中直接渲染的引擎。该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AE中为数不多的支持完全3D渲染特性的插件之一。 该插件具有real time ...
一、功能 《LR预设文件转换》用于将LR预设文件(扩展名为 lrtemplate的文件)转换为ACR的预设... 修改了白平衡在“自定”时的设置,保持与LR一致。 2. V2.0 支持新版本ACR(6.7以后)。 3. V2.1 不需要注册了。
本Demo无须界面布局文件,使用一个LinearLayout容器来盛装一个示波器View组件,该示波器View组件将负责绘制Visualizer传过来的数据:LinearLayout添加多个SeekBar来控制Equalizer支持的所有频率的均衡值;...
来自滨田英明(Hideaki Hamada)灵感的日系电影情绪心情LR预设+Capture One预设 这款柔和而简约的预设背包灵感来自日本的主要摄影师滨田秀明(Hideaki Hamada)。 这些预设将帮助您添加干净的色调,日式摄影风格的情绪...
Acrobat XI Pro中文版基础入门视频教程14.2 自定义动作与分享预设.avi
PR无缝转场预设中文.rar
D610机内预设.
Foobar2000均衡器载入预设文件,包含很多种音效。
根据预设参数, 判断手机是否被盗,根据自定义协议发送手机中sim卡的信息和手机的位置信息给安全号码. 可以自定义特殊号码,拨号快速进入手机防盗功能,可远程通过短信指令,给手机设置锁屏密码, 远程锁定手机屏幕, 远程...
这些预设适用于移动 lightroom 应用程序(iOS 和 Android),也适用于桌面版 lightroom。 Lightroom 的 5 个移动预设(.DNG 文件)-5x 桌面预设(.xmp 文件)- 5x LUT 用于视频编辑(.CUBE 文件)
手写的一个批处理,将文件拖入至md5.bat中即可修改文件md5码,如果想修改至别的md5,编辑bat文件中预设的md5值即可
【5】人像摄影预设:以获得完美的肤色,节省您数小时的工作时间【6】黑白 预设:用适量的魔法精心制作而成【7】颜色分级预设:改善不同设备在不同环境中的外观。【8】北极戏剧预设:严峻,美丽,变幻莫测和脆弱
将您的预设文件夹复制到开发预设文件夹中 重新启动 Lightroom 如何为 Mac 安装 Lightroom 4、5、6 和 CC 预设: 打开 Lightroom 转到:编辑•首选项•预设 点击标题为:显示 Lightroom 的预设文件夹 双击 Lightroom...
AECS6动画预设特效中英文对照表参考.pdf
各种PS预设和LR预设,里面有我自己制作的各种预设
Camera Raw 预设 #1 “VSCO” VSCO 预设现在非常受欢迎,给照片带来了一些怀旧感和完美的老式修饰。借助多功能调色板,您将获得柔和的肤色、柔和的色彩和自然的肤色。 推荐照片:婚礼、时尚、肖像、旅行、儿童、室内...
预置Chrome浏览器默认主页和书签方法,文件包含所需的工程文件及配置说明文档 可参考: blog:http://blog.csdn.net/jiulousanti/article/details/38869909
PS中CAMERA的ACR预设,看看不错的选择,懒人预设,看看不错的选择,懒人预设,看看不错的选择,懒人预设