Android : SharedPreferences存储xml_简单应用

MainActivity.java

package com.example.mysharedpreferences;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button btnCommit,btnGetdata;
    private EditText editText;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnCommit = findViewById(R.id.btn_submit);
        btnGetdata = findViewById(R.id.btn_get_data);
        editText = findViewById(R.id.et_content);
        textView = findViewById(R.id.tv_see);

        btnCommit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                /** 开始保存数据
                 * xml文件名
                 * 文件访问模式
                 * MODE_PRIVATE         私有模式,只能本应用程序操作,会替换内容
                 *
                 * MODE_WORLD_READABLE          当前文件可以被其它应用读取
                 *
                 * MODE_WORLD_WRITEABLE          当前文件可以被其它应用写入
                 * */
                SharedPreferences sp=getSharedPreferences("data_xml", MODE_PRIVATE);
                /** 1.获取一个编辑对象 */
                SharedPreferences.Editor editor =sp.edit();
                /** 2.写数据保存 */
                String data = editText.getText().toString();
                editor.putString("textContent",data);
                /** 3.提交编辑 */
                editor.commit();

                Toast.makeText(getApplication(),"保存成功", Toast.LENGTH_SHORT).show();

            }
        });

        //读取xml文件
        btnGetdata.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                /** 判断之前是否保存了数据 */
                /** 获取SharedPreferences如果之前已经存在就直接获取 反之 创建一个新的文件对象  */
                SharedPreferences sp = getSharedPreferences("data_xml",MODE_PRIVATE);
                /**
                 * sp.getString("textSizeData","默认值")
                 * 去文件对象中的值
                 * 如果值不存在 返回默认值 “默认值”
                 * */
                textView.setText(sp.getString("textContent","默认值"));

            }
        });
    }
}

activity_main.xml

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <TextView
        android:textSize="24sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="sharedpreferences保存xml数据"
        />

    <EditText
        android:textSize="24sp"
        android:id="@+id/et_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        />

    <Button
        android:textSize="24sp"
        android:id="@+id/btn_submit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击保存"
        />

    <Button
        android:textSize="24sp"
        android:id="@+id/btn_get_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击读取"
        />

    <TextView
        android:id="@+id/tv_see"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="数据"
         />

</LinearLayout>

相关推荐

  1. XML简介

    2023-12-06 00:28:05       13 阅读
  2. XML 应用程序

    2023-12-06 00:28:05       6 阅读
  3. Kingbase简单存储过程

    2023-12-06 00:28:05       18 阅读
  4. 应用】Spring-Bean注入-xml+注解

    2023-12-06 00:28:05       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 00:28:05       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 00:28:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 00:28:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 00:28:05       20 阅读

热门阅读

  1. Oracle连接和使用

    2023-12-06 00:28:05       47 阅读
  2. Mysql中的正经行锁、间隙锁和临键锁

    2023-12-06 00:28:05       43 阅读
  3. FFmpeg命令行使用小结

    2023-12-06 00:28:05       37 阅读
  4. 如何使用ffmpeg转换图片格式

    2023-12-06 00:28:05       36 阅读
  5. 电商产品经理常用的ChatGPT通用提示词模板

    2023-12-06 00:28:05       34 阅读
  6. mysql使用--备份与恢复

    2023-12-06 00:28:05       32 阅读
  7. vue-template-compiler 的原理

    2023-12-06 00:28:05       28 阅读
  8. 【QT深入理解】QT中的几种常用的排序函数

    2023-12-06 00:28:05       33 阅读
  9. 11:kotlin 类和对象 -- 普通类

    2023-12-06 00:28:05       43 阅读
  10. Ubuntu22.04下打包发布Qt5.15应用程序的方法

    2023-12-06 00:28:05       39 阅读