Android开发:文件存储
程序员文章站
2022-06-28 21:55:23
这个程序只有一个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="http://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>
本文地址:https://blog.csdn.net/weixin_42708161/article/details/107574395
上一篇: PHP 判断当前访问设备是电脑还是手机
下一篇: 吃不完的蛋挞怎么保存?蛋挞的种类有哪些?