Android開發(fā)實(shí)現(xiàn)文件存儲(chǔ)功能
本文實(shí)例為大家分享了Android開發(fā)實(shí)現(xiàn)文件存儲(chǔ)的具體代碼,供大家參考,具體內(nèi)容如下
這個(gè)程序只有一個(gè)Activity, Activity中只有一個(gè)Edittext。實(shí)現(xiàn)的功能是在Activity銷毀之前將EditText的內(nèi)容存儲(chǔ)到一個(gè)文件中,在Activity創(chuàng)建的時(shí)候,從該文件中讀取內(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ù)接收兩個(gè)參數(shù),分別是文件名和打開模式
//函數(shù)的默認(rèn)存儲(chǔ)路徑是/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="請(qǐng)輸入一段話"/> </LinearLayout>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android系統(tǒng)默認(rèn)對(duì)話框添加圖片功能
這篇文章主要介紹了Android系統(tǒng)默認(rèn)對(duì)話框添加圖片的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
Android實(shí)現(xiàn)購(gòu)物車添加商品動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)購(gòu)物車添加商品動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android網(wǎng)絡(luò)編程之簡(jiǎn)易新聞客戶端
這篇文章主要為大家詳細(xì)介紹了Android網(wǎng)絡(luò)編程之簡(jiǎn)易新聞客戶端的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Android開發(fā)之日歷CalendarView用法示例
這篇文章主要介紹了Android開發(fā)之日歷CalendarView用法,簡(jiǎn)單分析了日歷CalendarView組件的功能、屬性設(shè)置方法、界面布局、事件監(jiān)聽等相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Android使用Sqlite存儲(chǔ)數(shù)據(jù)用法示例
這篇文章主要介紹了Android使用Sqlite存儲(chǔ)數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Android操作SQLite數(shù)據(jù)庫(kù)的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-11-11
Android調(diào)用相機(jī)并將照片存儲(chǔ)到sd卡上實(shí)現(xiàn)方法
Android中實(shí)現(xiàn)拍照有兩種方法,一種是調(diào)用系統(tǒng)自帶的相機(jī),還有一種是自己用Camera類和其他相關(guān)類實(shí)現(xiàn)相機(jī)功能,這種方法定制度比較高,需要的朋友可以了解下2012-12-12
Android實(shí)現(xiàn)無標(biāo)題欄全屏的方法
這篇文章主要介紹了Android實(shí)現(xiàn)無標(biāo)題欄全屏的三種方法,感興趣的小伙伴們可以參考一下2016-07-07
Android栗子の圖片驗(yàn)證碼生成實(shí)例代碼
這篇文章主要介紹了Android栗子の圖片驗(yàn)證碼生成實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12

