【Android】

发布于:2024-06-02 ⋅ 阅读:(109) ⋅ 点赞:(0)

hint在text显示提示内容

设置主键,在mainactivity

// 获取SharedPreferences对象存放的用户名和密码,并设为相应组件的值

//指定key的值,及获取不到值时使用的默认值

String sName = sp.getString("name", "unknown");//指定key的值,及获取不到值时使用的默认值
        String sPasswd = sp.getString("passwd", "unknown");
        dtName.setText(sName);
        dtPasswd.setText(sPasswd);

完整代码

package com.example.saveinfo;

import androidx.appcompat.app.AppCompatActivity;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.QuickContactBadge;

public class MainActivity extends AppCompatActivity {
    private EditText dtName, dtPasswd;
    private Button btnLogin;
    private SharedPreferences sp; //存储少量数据到xml文件中
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // MODE_PRIVATE表示只能由当前APP访问此数据文件  /data/user/0/包名/shared_prefs/mydata.xml
        sp = getSharedPreferences("mydata.txt", MODE_PRIVATE);

        dtName = findViewById(R.id.dtName);
        dtPasswd = findViewById(R.id.dtPasswd);
        btnLogin = findViewById(R.id.btnLogin);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String sName = dtName.getText().toString();
                String sPasswd = dtPasswd.getText().toString();
                //通过SharedPreferences对象存入文件
                SharedPreferences.Editor dt = sp.edit();//获取编辑器对象,然后通过此编辑器增加或修改内容
                dt.putString("name", sName);//指定name为key, 存放相应的值
                dt.putString("passwd", sPasswd);
                dt.commit();//提交编辑内容,更新到文件中.
            }
        });
        // 获取SharedPreferences对象存放的用户名和密码,并设为相应组件的值
        String sName = sp.getString("name", "unknown");//指定key的值,及获取不到值时使用的默认值
        String sPasswd = sp.getString("passwd", "unknown");
        dtName.setText(sName);
        dtPasswd.setText(sPasswd);

    }
}