在前面已经说过android的文件操作的2种方式了,这次就介绍一下文件的第三种操作,这种操作只要是用来设置软件参数的。在后面还会有基于数据库的操作,这次的这种文件操作比较简单,下面就一步步的来弄下这个小实验。
1.设置界面,提供昵称,口头禅以及相应文本框,2个按钮如下图所示
下面是strings.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, PreferenceActivity!</string>
<string name="app_name">参数操作</string>
<string name="nickname">昵称</string>
<string name="words">口头禅</string>
<string name="button">设置</string>
<string name="reset">显示设置</string>
<string name="success">参数设置成功</string>
<string name="tip">昵称和口头禅不能为空</string>
</resources>
接下来就是main.xml了,界面比较简单,该文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/nickname"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/nickname"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/words"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/words"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="@string/button"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/reset"
android:text="@string/reset"
/>
</LinearLayout>
</LinearLayout>
2.编写activity,先保存设置
这里为了把执行效率和速度考虑在内,控件就单独拿了出来,后面通过事件监听保存设置。hnspi代表该文件的文件名称,后面是操作模式,保存之后弹出吐司,这里我没做非空控制。
private EditText username;
private EditText userwords;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
username=(EditText)findViewById(R.id.nickname);
userwords=(EditText)findViewById(R.id.words);
Button saveSet=(Button)findViewById(R.id.button);
saveSet.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String nickname=username.getText().toString(); //取得文本框里的值
String words=userwords.getText().toString();
//开始保存参数
SharedPreferences preference=getSharedPreferences("hnspi",Context.MODE_PRIVATE);
Editor edit=preference.edit(); //取得编辑器
/*
* 通过编辑器把内容写入xml,这里首先存储在内存中,之后commit
* */
edit.putString("nickname", nickname);
edit.putString("words", words);
edit.commit();
Toast.makeText(PreferenceActivity.this, R.string.success, 1).show();
}
});
需要注意的是最后要提交(commit),否则文件不会被保存
3.取出文件的内容,上面保存的是xml.使用参数取出昵称和口头禅显示在文本框了
Button showSet=(Button)findViewById(R.id.reset);
showSet.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
SharedPreferences preference=getSharedPreferences("hnspi",Context.MODE_PRIVATE);
String nickname=preference.getString("nickname", "");
String words=preference.getString("words", "");
username.setText(nickname); //设置文本框的value
userwords.setText(words);
}
});
到这里代码就写好了,学习android你我同行,有问题给我些留言啊。下面是效果截图
分享到:
相关推荐
SharedPreference文件操作代码例子
前言 相信大家都知道知道,在AndroidOS中,提供了五中数据存储方式,分别是:ContentProvider存储、文件存储、SharedPreference...我们在学Java的时候都知道,Java中的IO操作来进行文件的保存和读取,Android是基于Linu
用SharedPreferences的形式在缓存中维护两个List,并能对其进行增删改查操作,同步缓存文件
4.3 http使用Post方式进行提交数据 4.4 http使用apache工具类提交数据 五、 Android解析json数据 5.1 android解析json数据(一) 5.2 android解析json数据(二) 5.3 android使用gson解析 5.4 android使用fastjson...
5.其它细节一些的比如listview的显示控制、Bitmap的OutOfMemoryError的控制,viewswitcher的使用,布局的控制,sharedpreference的使用,handler的使用等等 由于是学习用的,开发出的东西兼容性可能不太好(没测过...
分别是: file ,SharedPreference, SQLite, ContentProvider 各有各的优缺点 file主要存储大型文件,但需要你的sdcard中有相应用空间,比如存一个二进制文件. 操作方式与普通java相似,即打开一个FileInputStream/...
第二个是操作模式,目前只有MODE_PRIVATE可选,这是默认的操作模式,表示只有当前的应用可以对文件进行操作。 2.Activity类中的getPreference()方法 它只接收一个操作模式参数,因为使用这个方法会自动将类名...
特色 1、实现安卓设备上的对象持久化,能存储和读取任何对象。...2、读写速度比SharedPreference等基于文件的存储方案高。 3、大量对象读写操作的场景下,使用此框架能极大提升性能,比通常的数据库方案高效。
Android提供了3种操作数据的方式,SharedPreference(共享首选项)、文件存储以及SQLite数据库。 SQLite数据库文件被保存在/data/data/package_name/databases目录下。 一、创建和删除表 1.创建表 创建表的SQL语句...
文件操作工具类 汉字转拼音工具类 IMSI工具类 Json解析工具类 根据经纬度查询地址信息和根据地址信息查询经纬度 Log工具类。课参考博文: 。 网络工具类 应用安装下载相关 手机组件调用工具类 尖端服务工具类...
一个漂亮而简单的目录选择器和文件选择器库,用于4.4+设备。 创建该库是为了将其包含在。 那里有太多的存储选择器,但是这一选择实在太重要了 :face_with_tongue: 。 易于实施,并且不需要花费很多宝贵的时间来...
SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是...但它是通过其Editor接口中的一些方法来操作SharedPreference的,用法见下面代码: Context.getSharedPreferences(String name