android开发分享Android开发:文件存储

这个程序只有一个Activity, Activity中只有一个Edittext。实现的功能是在Activity销毁之前将EditText的内容存储到一个文件中,在Activity创建的时候,从该文件中读取内容并写道EditText中。代码如下,在onCreate加载数据,在onDestroy中保存数据。MainActivity.ktpackage com.example.filetestimport android.content.Contextimport androidx.appcompat.

这个程序只有一个Activity, Activity中只有一个Edittext。实现的功能是在Activity销毁之前将EditText的内容存储到一个文件中,在Activity创建的时候,从该文件中读取内容并写道EditText中。代码如下,在onCreate加载数据,在onDestroy中保存数据。
MainActivity.kt

package com.example.filetest  import android.content.Context import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* import java.io.* import java.lang.StringBuilder  class MainActivity : AppCompatActivity() {     override fun onCreate(savedInstanceState: Bundle?) {         super.onCreate(savedInstanceState)         setContentView(R.layout.activity_main)          editText.setText(loda())     }      override fun onDestroy() {         super.onDestroy()         save(editText.text.toString())     }      private fun save(inputText:String){         try {             //此函数接收两个参数,分别是文件名和打开模式             //函数的默认存储路径是/data/data/<package name>/file             //打开模式主要是MODE_APPEND(追加)和MODE_PRIVATE(覆盖)             val output = openFileOutput("data", Context.MODE_PRIVATE)             val write = BufferedWriter(OutputStreamWriter(output))             write.use {                 it.write(inputText)             }         }catch (e:IOException){             e.printStackTrace()         }     }      private fun loda():String{         val result = StringBuilder()         try {             val input = openFileInput("data")             val reader = BufferedReader(InputStreamReader(input))             reader.use {                 reader.forEachLine {                     result.append(it)                 }             }         }catch (e : IOException){             e.printStackTrace()         }         return result.toString()     } } 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent">      <EditText         android:id="@+id/editText"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:hint="请输入一段话"/>  </LinearLayout> 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/894999.html

(0)
上一篇 2021年10月21日
下一篇 2021年10月21日

精彩推荐