在Android开发中,有时候有些数据需要保存,在下次打开能够使用,那么如何保存呢?本文通过一个例子使用SharedPreferences保存数据。
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" 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=".MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <EditText android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:hint="test"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="finish" android:text="确定"/> </LinearLayout>
MainActivity.java
package com.sharedpreferencesdemo; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.app.Activity; import android.content.SharedPreferences; public class MainActivity extends Activity { private static final String DATA = "data"; private static final String CONTENT = "content"; private EditText txt = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt=(EditText)findViewById(R.id.txt); SharedPreferences sharedata = getSharedPreferences(DATA, 0); String data = sharedata.getString(CONTENT, null); txt.setText(data); } public void finish(View view) { SharedPreferences.Editor sharedata = getSharedPreferences(DATA, 0).edit(); String content=txt.getText().toString(); sharedata.putString(CONTENT, content); sharedata.commit(); MainActivity.this.finish(); } }
界面效果
在第一次打开程序中,界面数据是空的
下面我们填写一个测试数据,效果如下
关闭程序后,再打开程序后,界面如下
这就说明了我们的数据保存成功了。