• 文件存储

activity_mian.xml

<?xml version="1.0" encoding="utf-8"?>    

修改MainActivity

package com.syc.androidlearning;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.os.Bundle;import android.text.TextUtils;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class MainActivity extends AppCompatActivity {    private EditText editText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        editText = findViewById(R.id.edit);        String inputText = load();        if (!TextUtils.isEmpty(inputText)){            editText.setText(inputText);            Toast.makeText(this,"restoring succeed",Toast.LENGTH_SHORT).show();        }    }    private String load() {        FileInputStream in = null;        BufferedReader reader = null;        StringBuilder content = new StringBuilder();        try {            in = openFileInput("data");            reader = new BufferedReader(new InputStreamReader(in));            String line = "";            while ((line = reader.readLine()) != null) {                content.append(line);            }        }        catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } finally {            if (reader != null){                try {                    reader.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        return content.toString();    }    @Override    protected void onDestroy() {        super.onDestroy();        String input = editText.getText().toString();        save(input);    }    public void save(String input) {        FileOutputStream outputStream = null;        BufferedWriter writer = null;        try {            outputStream = openFileOutput("data", Context.MODE_PRIVATE);            writer = new BufferedWriter(new OutputStreamWriter(outputStream));            writer.write(input);        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } finally {            if (writer != null) {                try {                    writer.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}
  • SharedPreference存储

SharedPreference使用键值对存储数据,他比文件存储更加简单。

修改activity_mian.xml

<?xml version="1.0" encoding="utf-8"?>    

修改ActivityMain文件

package com.syc.androidlearning;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.content.SharedPreferences;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button saveData = findViewById(R.id.save);        Button restoreData = findViewById(R.id.restore);        saveData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();                editor.putString("name", "SYC");                editor.putInt("age", 24);                editor.apply();            }        });        restoreData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                SharedPreferences preferences = getSharedPreferences("data", MODE_PRIVATE);                String name = preferences.getString("name", "");                int age = preferences.getInt("age", 0);                Log.d("MainActivity", "name is " + name + "age is " + age);            }        });    }}

 

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. 自定义Android(安卓)ORM 框架greenDAO数据库文件的路径
  3. 滴滴插件化框架学习笔记之virtualapk-gradle-plugin
  4. 监听BatteryManager.EXTRA_PLUGGED无效的修改
  5. Java读写二进制文件操作
  6. Android手势操作(一)
  7. Android(安卓)菜单 使用XML
  8. Android(安卓)第三方开源:Volley通过网络下载数据
  9. Android(安卓)Auto-IP support

随机推荐

  1. [Android]Smali语法
  2. Android 翻牌动画 实现
  3. Android中判断网络是否连接实例详解
  4. FregServer进程,启动Binder线程池,睡眠等待
  5. android与服务器连接保持
  6. 轻松实现Android锁屏功能
  7. Android《内嵌浏览器-WebView》
  8. Android进程保活招式大全
  9. Mac无法编译android
  10. 31、android打开文件夹并列出里面的文件