Android使用SharedPreference存储数据

SharedPreference存储数据和文件存储更加方便的一点是可以按照一定的数据类型进行存储,同时取数据时也能够获取到相应的数据类型。它是按照map的方式来存储和读取数据的。

MainActivity.java

package org.elvalad.sharedpreferencetest;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

    private Button saveButton;
    private Button restoreButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        saveButton = (Button) findViewById(R.id.save_data);
        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();
                editor.putString("name", "elvald");
                editor.putInt("age", 25);
                editor.putBoolean("married", true);
                editor.commit();
            }
        });

        restoreButton = (Button) findViewById(R.id.restore_data);
        restoreButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
                String name = pref.getString("name", "");
                int age = pref.getInt("age", 0);
                Boolean married = pref.getBoolean("married", false);
                Log.d("MainActivity", "name is " + name);
                Log.d("MainActivity", "age is " + age);
                Log.d("MainActivity", "married is " + married);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

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:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Button
        android:id="@+id/save_data"
        android:text="Save_data"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

   <Button
       android:id="@+id/restore_data"
       android:text="Restore_data"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" />

</LinearLayout>
时间: 2024-12-06 06:29:56

Android使用SharedPreference存储数据的相关文章

Android——使用SharedPreference存储数据

public interface SharedPreferences 导入: android.content.SharedPreferences; Overiview: 主要用于存储apk的一些属性数据,例如:窗口大小,音量等preference数据. 主要方法: 使用: (1)通过getSharedPreferences(string name,int mode)获取SharedPreferences的实例 (2)如果需要存入数据,使用SharedPreferences.Editor获取一个E

android开发之存储数据

android数据存储之SharedPreferences 一:SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中:当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出.SharedPreferences 可以用来进

Android使用文件存储数据

Android上最基本的存储数据的方式即为使用文件存储数据,使用基本的Java的FileOutStream,BufferedWriter,FileInputStream和BufferedReader即可. MainActivity.java package org.elvalad.filepersistencetest; import android.app.Activity; import android.content.Context; import android.os.Bundle; i

android 使用SQLite存储数据

创建一个类继承SQLiteOpenHelper,重写他的构造方法.onCreate().onUpgrade() 构建出SQLiteOpenHelper实例后,再调用他的getReadableDatabase()货getWritableDatabase()方法就能创建数据库 getReadableDatabase()和getWritableDatabase()两个方法都可创建或打开一个现有的数据库 不同的是,当数据库不可写入的时候,getReadableDatabase()方法返回的对象将以只读的

Android ROM 文件存储数据

使用Activity 类的openFileInput()和openFileOutput方法来操作设备上的文件,创建的文件默认存在“/data/data/<pakage name>/files”目录下,如在包名为[com.company.business]的程序中创建一个[data.txt]文件,存放路径将是[/data/data/com.company.business/file/date.txt].在默认状态下,文件不能在不同的程序之间共享,这两个方法只支持读取该应用目录下的文件,若读取非自

用SharedPreference或文件的方式存储数据

一.用SharedPreference存储数据 当程序有少量的数据需要保存,而这些数据的格式比较简单(例如一些配置信息),这个时候就可以使用SharedPreference来进行保存 下面例子将演示向SharedPreference中写入数据与读取数据界面比较简单,是两个按钮,将用作写入数据,以及读取数据 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="

Android的4中数据存储方式

Android的4中数据存储方式:1.SharedPreference2.SQLite3.ContentProvider4.File 1.SharedPreference 1)轻量级数据存储方式A 2)本质是基于XML文件存储key-value键值对数据 3)用于保存应用程序的 参数/属性的配置信息 SharedPreference对象本身只能获取数据而不支持存储和修改,修改是通过Editor来实现 实现SharedPreference存储的步骤: (1)获得SharedPreference对象

Android应用如何存储本地数据

安卓应用将数据存储在本地的方式一共有四种,按照轻量级到重量级的顺序分别是: 1.用SharedPreferences存储数据 2.用ContentProvider存储数据 3.用SQLite存储数据 4.用本地文件存储数据 如果加上用网络存储数据,一共就有五种了,首先我们来看第一种SharedPreference: 一.interface android.content.SharedPreferences 它的属性类似于早期windows的ini配置文件,最终是以xml方式来保存,你也可以理解为

【Mark】Android应用开发SharedPreferences存储数据的使用方法

Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据. 1.使用SharedPreferences保存数据方法如下: //实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences=