现在的位置: 首页 > 综合 > 正文

Android之SharedPreferences数据保存

2016年02月23日 ⁄ 综合 ⁄ 共 1873字 ⁄ 字号 评论关闭

在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();
	}
}

界面效果

在第一次打开程序中,界面数据是空的

下面我们填写一个测试数据,效果如下

关闭程序后,再打开程序后,界面如下

这就说明了我们的数据保存成功了。

源码下载

抱歉!评论已关闭.