android SharedPreferences 简单的数据存储
SharedPreferences 简单数据存储,我的理解是类似于windows的ini文件
可以存储很多种类型,写了个小例子
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.ssln.sharedpreferences.MainActivity" > <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="写入" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="读取" /> </LinearLayout>
mainactivity.java
package com.ssln.sharedpreferences; 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.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private Button btnWrite,btnRead; private EditText edit; private SharedPreferences sp; private final String KEY="ISRUN"; private final String NAME="sharedpreferences"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnWrite=(Button)findViewById(R.id.button2); btnRead=(Button)findViewById(R.id.button1); edit=(EditText)findViewById(R.id.editText1); //使用Activity.getPreferences只可以在相应的Activity(MainActivity)中使用 //sp=getPreferences(MODE_PRIVATE); //使用Context.getSharedPreferences可以被同一应用程序中的其他组件使用 sp=this.getSharedPreferences(NAME, MODE_PRIVATE); btnRead.setOnClickListener(this); btnWrite.setOnClickListener(this); } @Override public void onClick(View v) { //读取内容 if(v==btnRead) { String result=sp.getString(KEY, null); if(result!=null) { edit.setText(result); } else { Toast.makeText(this, "没有找到相应的值", Toast.LENGTH_SHORT).show(); } } else if(v==btnWrite) //写入内容 { //写入和编辑内容需要使用到SharedPreferences.Editor对象 SharedPreferences.Editor editor=sp.edit(); editor.putString(KEY, edit.getText().toString()); //写入完成后要提交 editor.commit(); Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show(); } } }