PreferenceActivity、SharedPreferences——开源项目Standup Timer学习总结(四)
2012-06-25 18:33
459 查看
PreferenceActivity通常用在设置界面,用于保存设置的状态数据。在网上看到一篇文章总结得很好,这里就不再总结了。
/article/5792796.html
http://www.cnblogs.com/keyindex/articles/1814506.html
下面,我自己编写了一个例子用于加深对SharedPreferences的理解。通常使用这个类来保持用户输入的数据,希望程序再次启动的时候,还能够得到用户上次输入的数据。废话少说,看代码:
通过以下的例子也学习了如何使用Spinner(下拉菜单)
array.xml文件:
程序启动的时候,调用initializeUI(),用于初始化所有用户需要输入的内容,getString(NAME,“Kaven”),当SharedPreferences里存有数据的时候,则取出保存的数据,如果没有则显示“Kaven”。getInt("position", 0),存有相应的数据时,则取出position对应的值,否则为0.
点击保存,保存当前编辑框和下拉菜单的数据。点击清除,则清除所有保持在SharedPreferences中的数据,因为这里使用的是clear(),如果使用remove(),则按意愿逐个清除保存的数据。
/article/5792796.html
http://www.cnblogs.com/keyindex/articles/1814506.html
下面,我自己编写了一个例子用于加深对SharedPreferences的理解。通常使用这个类来保持用户输入的数据,希望程序再次启动的时候,还能够得到用户上次输入的数据。废话少说,看代码:
通过以下的例子也学习了如何使用Spinner(下拉菜单)
package kaven.org; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; public class PreferenceTestActivity extends Activity { private final String NAME = "username" ; private final String POSITION = "position"; private Button saveButton = null; private Button removeButton = null; private int countryPosition = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initializeUI();//初始化UI saveButton = (Button)findViewById(R.id.button1); removeButton = (Button)findViewById(R.id.button2); saveButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub saveData(); } }); removeButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub removeData(); } }); } public void initializeUI(){ TextView text = (TextView)findViewById(R.id.editText1); Spinner spinner = (Spinner)findViewById(R.id.spinner_1); SharedPreferences pre = getPreferences(MODE_PRIVATE); text.setText(pre.getString(NAME, "Kaven")); //初始化编辑框显示 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.country, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setSelection(pre.getInt(POSITION, 0)); //设置初始化下拉菜单的显示内容 } public void saveData(){ SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); EditText text = (EditText)findViewById(R.id.editText1); editor.putString(NAME, text.getText().toString()); Spinner spinner = (Spinner)findViewById(R.id.spinner_1); countryPosition = spinner.getSelectedItemPosition();//获得所选Item的Position editor.putInt(POSITION, countryPosition); editor.commit(); } public void removeData(){ SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); //移除指定的数据 //editor.remove(NAME); //移除Preference里的所有数据 editor.clear(); //修改数据之后,记得调用这个方法保存数据 editor.commit(); initializeUI();//还原默认值 } }
array.xml文件:
<resources> <string-array name="country"> <item>China</item> <item >American</item> <item >England</item> </string-array> </resources>
程序启动的时候,调用initializeUI(),用于初始化所有用户需要输入的内容,getString(NAME,“Kaven”),当SharedPreferences里存有数据的时候,则取出保存的数据,如果没有则显示“Kaven”。getInt("position", 0),存有相应的数据时,则取出position对应的值,否则为0.
点击保存,保存当前编辑框和下拉菜单的数据。点击清除,则清除所有保持在SharedPreferences中的数据,因为这里使用的是clear(),如果使用remove(),则按意愿逐个清除保存的数据。
相关文章推荐
- ViewGroup,Spinner——开源项目Standup Timer学习总结(五)
- Opinion Menu的使用——开源项目Standup Timer学习总结(一)
- Dialog使用详解——开源项目Standup Timer学习总结(三)
- Context Menu的使用+为ListView绑定监听器——开源项目Standup Timer学习总结(二)
- Android 开源项目-StandupTimer学习笔记索引
- standupTimer项目中选项菜单的应用
- Java基础学习总结(102)——Java相关的开源项目
- iOS超全开源框架、项目和学习资料汇总(5)AppleWatch、经典博客、三方开源总结篇
- 学习和使用开源项目经验总结
- HTMLParser(一个比较流行的html代码解析、处理开源项目)学习,总结
- 一位大师总结的东西---J2EE学习中一些值得研究的开源项目
- Git开源项目学习总结
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- c语言开源项目--nigix学习资料总结 by 博客园 叶剑峰
- [项目过程中所遇到的各种问题记录]学习篇——对工作以来的学习过的开源项目进行总结—DiscuzNt
- 读《借助开源项目,学习软件开发》总结
- Github开源项目SlidingMenu学习遇到的问题总结
- Standup Timer的MVC模式及项目结构分析
- [项目过程中所遇到的各种问题记录]学习篇——对工作以来的学习过的开源项目进行总结—动软代码生成工具