SharedPreferences 写入读取

任务:  

使用SharedPreferences将姓名和年龄信息保存到文件

首先设计界面xlm

1 ?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:id="@+id/activity_main"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:orientation="vertical"
 8     tools:context="hello.xingxibaocunduqu.MainActivity">
 9
10     <EditText
11         android:id="@+id/name"
12         android:layout_width="match_parent"
13         android:layout_height="wrap_content"
14         android:hint="@string/name" />
15
16     <EditText
17         android:id="@+id/age"
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         android:hint="@string/age"
21         android:digits="0123456789"/>
22 //为限制只能输入数字“0123456789"
23     <LinearLayout
24         android:layout_width="match_parent"
25         android:layout_height="wrap_content"
26         android:orientation="horizontal">
27
28         <Button
29             android:id="@+id/xieru"
30             android:layout_width="0dp"
31             android:layout_height="wrap_content"
32             android:layout_weight="1"
33             android:onClick="onClick"
34             android:text="@string/button1"
35             android:textSize="20sp" />
36
37         <Button
38             android:id="@+id/duqu"
39             android:layout_width="0dp"
40             android:layout_height="wrap_content"
41             android:layout_weight="1"
42             android:onClick="onClick"
43             android:text="@string/button2"
44             android:textSize="20sp" />
45     </LinearLayout>
46 </LinearLayout>

第二步:由java代码来实现。其主要的步骤为“保存方法”,“读取方法”,以及实现按钮事件

  

1 private void save(String name, String age) {
2     SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();//获取对象,并且命名文件的名称
3     editor.putString("name", name);  //保存数据
4     editor.putString("age",age);
5     editor.commit();
6     editor.clear();
7     Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_LONG).show();
8 }//保存方法的实现代码
private void readPrefs() {
    SharedPreferences prefs = getSharedPreferences("data", MODE_PRIVATE); //获取对象,读取data文件
    String username = prefs.getString("name", ""); //获取文件中的数据
    String userage = prefs.getString("age", "");
    Toast.makeText(MainActivity.this, "姓名是:"+username+"年龄是:"+userage, Toast.LENGTH_LONG).show();
}      //读取方法的实现代码
public void onClick(View view) {          //按钮的点击事件
    switch (view.getId()) {
        case R.id.xieru:
            name = etname.getText().toString();
            age = etage.getText().toString();
            save(name,age);    //调用保存方法,将输入的姓名和年龄保存
            break;
        case R.id.duqu:
            readPrefs();   //调用读取方法,将保存的文件中的姓名和年龄显示出来
            break;
    }
}
时间: 2024-07-28 13:20:40

SharedPreferences 写入读取的相关文章

Android中写入读取XML

获取XML文件的基本思路是,通过getResources().getXml()获的XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开头还是结尾,是某个标签的开始还是结尾,并通过一些获取属性的方法来遍历XML文件,从而访问XML文件的内容,下面是一个访问XML文件内容的例子,并将内容更显示在一个TextView上 数据写入xml: ReadXMLTest.java [java] view plaincopy //xml数据生成 private String Wr

net快速写入/读取大量数据Postgresql

Postgresql快速写入/读取大量数据 http://www.cnblogs.com/podolski/p/7152144.html 环境及测试 使用.net驱动npgsql连接post数据库.配置:win10 x64, i5-4590, 16G DDR3, SSD 850EVO. postgresql 9.6.3,数据库与数据都安装在SSD上,默认配置,无扩展. CREATE TABLE public.mesh ( x integer NOT NULL, y integer NOT NUL

ObjectOutputStream 追加写入读取错误

摘自http://blog.csdn.net/mitkey/article/details/50274543 问题描述: 用类ObjectOutputStream向文件写读对象时,碰到一个问题:新建一个文件,用输出流ObjectOutputStream向文件连续写几个对象,关闭输出流,然 后读取,这些对象都可以读出:这时在向该文件增加对象,新写的对象就读不出了 问题出现的原因: ObjectOutputStream建立后第一次写入一个对象时, 会在对象数据前写入一些标志的数据"AC ED  00

C# 创建 写入 读取 excel

public static void CreateExcelFile(string FileName, List<UUser> luu) { if (FileName.Split('.')[FileName.Split('.').Length - 1] == "xlsx")//如果是2007版以后 { //create object Nothing = System.Reflection.Missing.Value; var app = new Excel.Applicat

Asp.Net写入读取Xml(处理文件权限)

1,网上关于读取写入Xml的博客比较多,参考了发现提到Xml文件权限的博客比较少.因为在开发中我发现,如果文件存于一些没有权限的路径,代码是访问不到该文件,页面会报错提示403,Forbidden.意思是禁止,也就是没有权限.需要用代码给文件EveryOne赋予完全控制权限.希望我的博客能帮助一些在权限方面遇到问题的朋友. 2,判断文件文件夹和文件是否存在(写入时会自动创建Xml,但是如果没有权限,会创建失败,所以我觉得先用FileStream把文件创建出来比较保险); public strin

IOS Plist文件操作之写入/读取/删除

写入数据到plist文件   //获取路径对象     NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);     NSString *path = [pathArray objectAtIndex:0];     //获取文件的完整路径     NSString *filePatch = [path stringByAppendingPathC

get,set ,写入读取cookies--[ASP.NET]

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace demo5 { public partial class hanshu : System.Web.UI.Page { protected void Page_Load(object sender, Ev

文件创建 数据写入 读取 删除

// 创建文件路径   (有三种沙盒路径,根据需求 请自选) NSArray * paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString * cachPath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"HYC.txt"]; NSFileManager * fileManager

有关对象流写入读取文件的一个细节

在写日志系统的时候,出于导入数据库比较方便的考虑,所以就想把用户的操作都封装在一个对象里面,然后把整个对象写到文件里面去.需要导入数据库时,再从文件中读取出对象信息,把对象写入数据库.测试的时候,对象写入文件和从文件读取对象是放在了不同的项目里,也就是说我在一个项目里执行写入操作,在另外一个项目执行读取操作.读取的项目里面的对象类是从写入操作项目里复制粘贴的.然后问题就来了,写入文件正确执行,文件里已经存在了写入的信息,但是读取文件的时候抛了异常,是classnotfoundexception,