<p> 之前写的一片文章,说的是android中的文件存储。功能方面且先不谈,相信IO流那块的操作,会让不少人用起来感觉不是那么的得心应手。</p><p>那么今天来一起初识一下android中的另外一种存储方式---SharedPrefernces存储。</p><p>
</p><p> 这种存储方式感觉有点像解析的数据,是以键值对的形式存储的。对于键值对相信对android稍微比较熟悉的朋友都应该了解。是通过“键”来获取"值"。</p><p>这里在下面我们实现还原功能的时候会用到。具体代码如下</p>
</pre><pre name="code" class="java"><span style="font-size:18px;"><strong>package com.sharedpreference;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
/**
* @author NanFeiLong
* @version 2016年09月12日
* SharedPreferences存储
*/
public class MainActivity extends Activity {
private Button btnSave;
private Button btnRestore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//保存数据
//提示这里的保存路径是在手机的data/data/你的包名/shared_prefs/目录下。
//可以通过DDMS中File Explorer中查看
btnSave = (Button) findViewById(R.id.btn_save);
btnSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 这里的get方法接收两个参数,一个是xml类型的文件名
//一个是保存模式。这里使用默认模式,表示只有此应用可以对其进行操作。
SharedPreferences.Editor editor = getSharedPreferences("nanfeilong", MODE_PRIVATE).edit();
editor.putString("name", "王小京");
editor.putInt("age", 23);
editor.putBoolean("ismarried",true);
editor.commit();
Toast.makeText(MainActivity.this, "保存数据", Toast.LENGTH_LONG).show();
}
});
btnRestore = (Button) findViewById(R.id.btn_restore);//还原数据
btnRestore.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences sharedPreferences = getSharedPreferences("nanfeilong", MODE_PRIVATE);
String name = sharedPreferences.getString("name", " ");
int age = sharedPreferences.getInt("age", 0);
boolean married = sharedPreferences.getBoolean("ismarried", false);//默认未婚
Toast.makeText(MainActivity.this, "姓名:"+name+"\n年龄:"+age+"\n婚否:"+married, Toast.LENGTH_LONG).show();
}
});
}
}</strong></span>
运行程序,点击保存数据会保存数据,然后在(也可以退出程序在重新进)点击还原数据会还原之前保存的数据。