您好,登錄后才能下訂單哦!
這篇文章主要講解了Android如何開發(fā)實(shí)現(xiàn)文件存儲(chǔ)功能,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
這個(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>
看完上述內(nèi)容,是不是對(duì)Android如何開發(fā)實(shí)現(xiàn)文件存儲(chǔ)功能有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。