Android开发:文件存储
程序员文章站
2022-04-01 11:23:11
这个程序只有一个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
上一篇: 面试常考的Vue知识点
下一篇: 自己需要学习的技术和工具
推荐阅读
-
Android修改jar文件包名的方法分享
-
将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用
-
Android开发之DrawerLayout实现抽屉效果
-
Android 工程内嵌资源文件的两种方法
-
Android开发之MediaPlayer基本使用方法详解
-
Android开发技巧之ViewStub控件惰性装载
-
Android开发技巧之像QQ一样输入文字和表情图像
-
Android文件下载进度条的实现代码
-
android开发之调用手机的摄像头使用MediaRecorder录像并播放
-
Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)