此处通过一实例来说明,实例内容来自Google+Android开发入门与实战一书第八章
此实例主要实现用SharedPreferences存储程序信息的功能,主要效果如下图所示:
1.当第一次运行程序时如图1所示,有两个输入框,并且输入框内是空的,输入内容并退出程序
2.当再次运行此程序时如图2所示,1中输入的内容回显到了输入框内. 说明数据得到了保存
图1 图2
编码:
1.layout/main.xml中加入代码,在首页中增加输入框及其说明
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="SharedPreferences Demo" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Name:" />
<EditText android:text=""
android:id="@+id/name_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Password:" />
<EditText android:text=""
android:id="@+id/password_edit"
android:layout_width="fill_parent"
android:password="true"
android:layout_height="wrap_content"/>
</LinearLayout>
代码解释:如上代码所示,使用LinearLayout 布局,加入三个用来做界面提示的文本框(TextView),两个输入框 (EditText)
2.编写DBSharedPreferences.java文件,此文件是入口类,程序运行会首先调用该类
package my.db;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
/**
* 程序中信息保存(如:输入框信息回显)
* @author wangxiaobo
*
*/
public class DBSharedPreferences extends Activity {
/** Called when the activity is first created. */
public final static String SETTINT_INFOS = "setting_infos";
public final static String NAME = "name";
public final static String PASSWORD = "password";
private EditText fill_name;
private EditText fill_password;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取组件
fill_name = (EditText) findViewById(R.id.name_edit);
fill_password = (EditText) findViewById(R.id.password_edit);
//获取SharedPreferences对象
SharedPreferences settings = getSharedPreferences(SETTINT_INFOS, 0);
//获取SharedPreferences中保存的信息
String name = settings.getString(NAME, "");
String password = settings.getString(PASSWORD, "");
//将取出的信息放入组件
fill_name.setText(name);
fill_password.setText(password);
}
//程序退出时保存EditText内容
@Override
protected void onStop() {
super.onStop();
SharedPreferences settings = getSharedPreferences(SETTINT_INFOS, 0);
settings.edit().putString(NAME, fill_name.getText().toString()).putString(PASSWORD, fill_password.getText().toString()).commit();
}
}
代码解释:SharedPreferences将数据保存在哪里了呢?
SharedPreferences是以xml文件的方式自动保存的,切换视图到DDMS,在其File Explorer中展开/data/data/<package name>/shared_prefs目录,其中有**.xml文件,可以导出来查看内容
分享到:
相关推荐
本人博客:Android存储---SharedPreferences的介绍与使用demo
SharedPreferences是Android提供的一个轻量级存储类,经常用于保存软件设置参数。存放的格式为xml,文件存放在 /data/data/<package name>/shared_prefs下。
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
Fit 利用 SharedPreferences 存储对象
Android数据存储之SharedPreferences,自己根据文档编写的代码,有需要的就下载吧。
实现Android存储数据的一个例子,里面附带效果图,代码有备注。
DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore 基于 Kotlin 协程和 Flow 实现,并且可以对 SP 数据进行迁移,旨在取代 SP 。 DataStore 提供了两种...
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
android,SharedPreferences
Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
Android数据存储——SharedPreferences实现登入记住密码功能。
Android本地存储SharedPreferences详解 存储位置 SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。...
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio http://blog.csdn.net/iwanghang
1.掌握SharedPreferences的使用方法; 2.掌握各种文件存储的区别与适用情况; 3.了解SQLite数据库的特点和体系结构; 4.掌握SQLite数据库的建立和操作方法; 5.理解ContentProvider的用途和原理; 6.掌握...
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据...
Android使用SharedPreferences进行数据存储,缓存ID等数据
因此,我们来学习一下Android的另外一种存储方式,SharedPreferences存储,它是一种数据持久化的方式,它比文件存储更加简单易用。 将数据存储到SharedPreferences中 不同于文件存储的方式,SharedPreferences是使用...
Android使用SharedPreferences和SQLite数据库实现数据存储