android实现存储,Android开发实现文件存储功能
本文實(shí)例為大家分享了Android開發(fā)實(shí)現(xiàn)文件存儲的具體代碼,供大家參考,具體內(nèi)容如下
這個程序只有一個Activity, Activity中只有一個Edittext。實(shí)現(xiàn)的功能是在Activity銷毀之前將EditText的內(nèi)容存儲到一個文件中,在Activity創(chuàng)建的時候,從該文件中讀取內(nèi)容并寫道EditText中。代碼如下,在onCreate加載數(shù)據(jù),在onDestroy中保存數(shù)據(jù)。
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 {
//此函數(shù)接收兩個參數(shù),分別是文件名和打開模式
//函數(shù)的默認(rèn)存儲路徑是/data/data//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
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="請輸入一段話"/>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持云海天教程。
原文鏈接:https://blog.csdn.net/weixin_42708161/article/details/107574395
總結(jié)
以上是生活随笔為你收集整理的android实现存储,Android开发实现文件存储功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android传递布局到下个页面,浅入浅
- 下一篇: android考试编程题,30道andr