下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Android本地存儲(chǔ)方法淺析介紹目錄本地存儲(chǔ)案例原理介紹設(shè)置文本輸入框存儲(chǔ)讀取數(shù)據(jù)
本地存儲(chǔ)案例
該方法僅適用于保存一些比較簡(jiǎn)單的,運(yùn)行時(shí)并不占用過多內(nèi)存的小字段
原理介紹
我們需要完成這么一個(gè)app:
在文本框輸入文字后退出app會(huì)自動(dòng)存儲(chǔ)下次打開后,檢測(cè)到存儲(chǔ)的文本文件,自動(dòng)獲取他并輸出到文本框里
首先需要清楚:
本案例文件存儲(chǔ)的位置是:data/data/你的工程包名/files/xxx
當(dāng)手機(jī)內(nèi)存不夠時(shí),data/data目錄下的文件會(huì)被自動(dòng)清理以騰出空間,所以本方法不具有持久化存儲(chǔ)的功效!
下面介紹幾個(gè)獲取不同存儲(chǔ)路徑的方法:
getCacheDir():/data/data/你的應(yīng)用的包名/cachegetFilesDir():/data/data/你的應(yīng)用的包名/filesgetExternalFilesDir():SDCard/Android/data/你的應(yīng)用的包名/files/getExternalCacheDir():SDCard/Android/data/你的應(yīng)用包名/cache/
一般的,由于目前手機(jī)都是一體機(jī)且無法再擴(kuò)展外存,所以存儲(chǔ)到SD卡的解決方式可行性較高!
設(shè)置文本輸入框
在mainactivity的布局文件隨意添加一個(gè)文本輸入框
xmlversion="1.0"encoding="utf-8"
LinearLayoutxmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="請(qǐng)輸入內(nèi)容"/
/LinearLayout
存儲(chǔ)讀取數(shù)據(jù)
首先我們需要定義一個(gè)存儲(chǔ)文件的方法
privatefunsave(inputText:String){
try{
//打開輸出文件,如果不存在就新建一個(gè)
valoutput=openFileOutput("data",Context.MODE_PRIVATE)
//設(shè)置輸出流
valwriter=BufferedWriter(OutputStreamWriter(output))
//使用use語法,在輸出所有內(nèi)容完畢后就會(huì)自動(dòng)關(guān)閉流,不需要手動(dòng)關(guān)閉了!
writer.use{
it.write(inputText)
}catch(e:IOException){
e.printStackTrace()
既然有了存儲(chǔ),那必須還有一個(gè)讀取,依葫蘆畫瓢即可
privatefunload():String{
//存儲(chǔ)獲取到的文本
valcontent=StringBuilder()
try{
//打開文件
valinput=openFileInput("data")
//設(shè)置輸入流
valreader=BufferedReader(InputStreamReader(input))
reader.use{
//逐行輸入到content變量
reader.forEachLine{
content.append(it)
}catch(e:IOException){
e.printStackTrace()
//返回得到的文字文本數(shù)據(jù)
returncontent.toString()
理解完以上兩個(gè)主要代碼后,我們組合到MainActivity.kt文件內(nèi),最終得到的代碼如下:
packagecom.zhiyiyi.listviewdemo
importandroid.content.Context
importandroidx.appcompat.app.AppCompatActivity
importandroid.os.Bundle
importandroid.widget.Toast
importkotlinx.android.synthetic.main.activity_main.*
importjava.io.*
classMainActivity:AppCompatActivity(){
overridefunonCreate(savedInstanceState:Bundle){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//activity打開前讀取存儲(chǔ)的文件,拿出內(nèi)容
valinputText=load()
if(inputText.isNotEmpty()){
editText.setText(inputText)
editText.setSelection(inputText.length)
Toast.makeText(this,"Restoringsucceeded",Toast.LENGTH_SHORT).show()
//activity銷毀前執(zhí)行存儲(chǔ)方法
overridefunonDestroy(){
super.onDestroy()
valinputText=editText.text.toString()
save(inputText)
//存儲(chǔ)
privatefunsave(inputText:String){
try{
valoutput=openFileOutput("data",Context.MODE_PRIVATE)
valwriter=BufferedWriter(OutputStreamWriter(output))
writer.use{
it.write(inputText)
}catch(e:IOException){
e.printStackTrace()
//讀取
privatefunload():String{
valcontent=StringBuilder()
try{
valinput=openFileInput("data")
valreader=BufferedReader(InputStreamReader(input))
reader
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 焊工證的模擬試題及答案
- (完整)醫(yī)師定期考核考試題庫及參考答案
- 齊齊哈爾市甘南縣招聘協(xié)管員考試真題及答案
- 江蘇航運(yùn)考試題型及答案
- 高頻管教能手面試試題大全及答案
- 元江哈尼族彝族傣族自治縣公開遴選公務(wù)員筆試題及答案解析(A類)
- 生保產(chǎn)品考試及答案
- 高頻六大部門面試試題及答案
- 體育教招筆試題目及答案
- 高級(jí)經(jīng)濟(jì)師《工商管理》試題庫及答案
- 五年級(jí)數(shù)學(xué)下冊(cè)寒假作業(yè)每日一練
- 傳染病院感防控課件
- 寒假生活有計(jì)劃主題班會(huì)
- 羅馬機(jī)場(chǎng)地圖
- 實(shí)習(xí)生醫(yī)德醫(yī)風(fēng)培訓(xùn)
- 橫穿公路管道施工方案
- 真空澆注工安全操作規(guī)程(3篇)
- 快樂讀書吧:非洲民間故事(專項(xiàng)訓(xùn)練)-2023-2024學(xué)年五年級(jí)語文上冊(cè)(統(tǒng)編版)
- GB/T 19609-2024卷煙用常規(guī)分析用吸煙機(jī)測(cè)定總粒相物和焦油
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件(2018年版)
- 高處安全作業(yè)票(證)模板
評(píng)論
0/150
提交評(píng)論