使用SharedPreferences存储数据(保存EditText中的值,使其可以在别的地方调用)

本文介绍了一种在Android应用中使用SharedPreferences保存和加载EditText输入数据的方法。通过在onCreate和onStop方法中调用SharedPreferences,可以实现在应用重启时保留用户输入的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这部分我目前接触的不多,暂时无注释,后续会整理,直接贴出源码,方便学习。(此处以同一个界面为例,可以应用于不同的界面)

实现效果:EditText启动时是上次输入的值。

java部分:

package com.example.renkai.login_test;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
public class messageActivity extends AppCompatActivity {
    private EditText ed1, ed2, ed3, ed4, ed5, ed6;
    private Button bn;
    private static final String TEMP_INFO="temp_info";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_message);
        ed1 = (EditText)findViewById(R.id.ed1);
        ed2 = (EditText)findViewById(R.id.ed2);
        ed3 = (EditText)findViewById(R.id.ed3);
        ed4 = (EditText)findViewById(R.id.ed4);
        ed5 = (EditText)findViewById(R.id.ed5);
        ed6 = (EditText)findViewById(R.id.ed6);
        SharedPreferences sp = getSharedPreferences(TEMP_INFO,Context.MODE_PRIVATE);
        String content1 = sp.getString("info_content1", "");
        String content2 = sp.getString("info_content2", "");
        String content3 = sp.getString("info_content3", "");
        String content4 = sp.getString("info_content4", "");
        String content5 = sp.getString("info_content5", "");
        String content6 = sp.getString("info_content6", "");
        ed1.setText(content1);
        ed2.setText(content2);
        ed3.setText(content3);
        ed4.setText(content4);
        ed5.setText(content5);
        ed6.setText(content6);
    }
    protected void onStop(){
        super.onStop();
        SharedPreferences.Editor editor = getSharedPreferences(TEMP_INFO,Context.MODE_PRIVATE).edit();
        editor.putString("info_content1", ed1.getText().toString());
        editor.putString("info_content2", ed2.getText().toString());
        editor.putString("info_content3", ed3.getText().toString());
        editor.putString("info_content4", ed4.getText().toString());
        editor.putString("info_content5", ed5.getText().toString());
        editor.putString("info_content6", ed6.getText().toString());
        editor.commit();
    }
}

xml部分:(这里不重要主要用的到就是几个EditText的id)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_gravity="bottom"
            android:background="#22000000"
            android:orientation="horizontal">
            <TextView
                android:id="@+id/intor"
                android:layout_width="wrap_content"
                android:layout_height="30dp"
                android:layout_gravity="center"
                android:layout_marginLeft="150dp"
                android:text="社团信息"
                android:textColor="@color/black"
                android:textSize="24sp" /> 
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="16dip"
        android:layout_marginRight="15dip"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:text="社团名称:"
            android:textColor="#000000"
            android:textSize="20sp" />
        <EditText
            android:id="@+id/ed1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dip"
            android:text=""
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="16dip"
        android:layout_marginRight="15dip"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:text="现任主席:"
            android:textColor="#000000"
            android:textSize="20sp" />
        <EditText
            android:id="@+id/ed2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dip"
            android:text=""
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="16dip"
        android:layout_marginRight="15dip"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:text="总人数:"
            android:textColor="#000000"
            android:textSize="20sp" />
        <EditText
            android:id="@+id/ed3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dip"
            android:text=""
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="16dip"
        android:layout_marginRight="15dip"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:text="成立时间:"
            android:textColor="#000000"
            android:textSize="20sp" />
        <EditText
            android:id="@+id/ed4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dip"
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="16dip"
        android:layout_marginRight="15dip"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:text="分类:"
            android:textColor="#000000"
            android:textSize="20sp" />
        <EditText
            android:id="@+id/ed5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dip"
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="16dip"
        android:layout_marginRight="15dip"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:text="邮箱:"
            android:textColor="#000000"
            android:textSize="20sp" />
        <EditText
            android:id="@+id/ed6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dip"
            android:layout_weight="0.75"
            android:textColor="#000000"
            android:textSize="20sp" />  
    </LinearLayout>
    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="保存" />
</LinearLayout>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值