最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android基礎(chǔ)教程數(shù)據(jù)存儲之文件存儲

 更新時間:2017年07月22日 08:44:29   投稿:lqh  
這篇文章主要介紹了Android基礎(chǔ)教程數(shù)據(jù)存儲之文件存儲的相關(guān)資料,數(shù)據(jù)存儲是Android開發(fā)的重要的知識,這里提供了實(shí)例,需要的朋友可以參考下

Android基礎(chǔ)教程數(shù)據(jù)存儲之文件存儲

將數(shù)據(jù)存儲到文件中并讀取數(shù)據(jù)

1、新建FilePersistenceTest項(xiàng)目,并修改activity_main.xml中的代碼,如下:(只加入了EditText,用于輸入文本內(nèi)容,不管輸入什么按下back鍵就丟失,我們要做的是數(shù)據(jù)被回收之前,將它存儲在文件中)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/activity_main"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <EditText
    android:id="@+id/edit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Type something here"/>
</LinearLayout>

2、修改MainActivity中的代碼,如下:(save()方法將一段文本內(nèi)容保存到文件中,load()方法從文件中讀取數(shù)據(jù),套用)

public class MainActivity extends AppCompatActivity {
  private EditText edit;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit=(EditText) findViewById(R.id.edit);
    String inputText=load();
    if(!TextUtils.isEmpty(inputText)){                 //對字符串進(jìn)行非空判斷
      edit.setText(inputText);
      edit.setSelection(inputText.length());
      Toast.makeText(this,"Restoring succeeded",Toast.LENGTH_SHORT).show();
    }

  }
  @Override
  protected void onDestroy(){                      //重寫onDestroy()保證在活動銷毀之前一定調(diào)用這個方法
    super.onDestroy();
    String inputText=edit.getText().toString();
    save(inputText);
  }

  public void save(String inputText){
    FileOutputStream out=null;
    BufferedWriter writer=null;
    try{
      out=openFileOutput("data", Context.MODE_PRIVATE);
      writer=new BufferedWriter(new OutputStreamWriter(out));
      writer.write(inputText);
    }catch(IOException e){
      e.printStackTrace();
    }finally{
      try{
        if(writer!=null){
          writer.close();
        }
      }catch(IOException e){
        e.printStackTrace();
      }
    }
  }

  public String load(){
    FileInputStream in=null;
    BufferedReader reader=null;
    StringBuilder content=new StringBuilder();
    try{
      in=openFileInput("data");
      reader=new BufferedReader(new InputStreamReader(in));
      String line="";
      while((line=reader.readLine())!=null){
        content.append(line);
      }
    }catch(IOException e){
      e.printStackTrace();
    }finally {
      if(reader!=null){
        try{
          reader.close();
        }catch (IOException e){
          e.printStackTrace();
        }
      }
    }
    return content.toString();
  }
}

運(yùn)行程序,效果如下:(輸入content后按back鍵返回,重新打開)

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 詳解Flutter如何完全自定義TabBar

    詳解Flutter如何完全自定義TabBar

    在App中TabBar形式交互是非常常見的,但是系統(tǒng)提供的的樣式大多數(shù)又不能滿足我們產(chǎn)品和UI的想法,本文記錄了在Flutter中如何實(shí)現(xiàn)自定義TabBar的一個思路和過程,需要的可以參考一下
    2022-04-04
  • 系統(tǒng)應(yīng)用根據(jù)Uri授予權(quán)限方法詳解

    系統(tǒng)應(yīng)用根據(jù)Uri授予權(quán)限方法詳解

    這篇文章主要為大家介紹了系統(tǒng)應(yīng)用根據(jù)Uri授予權(quán)限方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Android自定義控件如何在XML文件中使用自定義屬性

    Android自定義控件如何在XML文件中使用自定義屬性

    這篇文章主要為大家介紹了Android自定義控件之如何在XML文件中使用自定義屬性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • RecyclerView使用payload實(shí)現(xiàn)局部刷新

    RecyclerView使用payload實(shí)現(xiàn)局部刷新

    這篇文章主要為大家詳細(xì)介紹了RecyclerView使用payload實(shí)現(xiàn)局部刷新,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Ubantu16.04進(jìn)行Android 8.0源碼編譯的流程

    Ubantu16.04進(jìn)行Android 8.0源碼編譯的流程

    這篇文章主要介紹了Ubantu16.04進(jìn)行Android 8.0源碼編譯的相關(guān)資料,需要的朋友可以參考下
    2018-02-02
  • Android實(shí)現(xiàn)NFC讀取校園卡

    Android實(shí)現(xiàn)NFC讀取校園卡

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)NFC讀取校園卡,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Android學(xué)習(xí)之AppWidget筆記分享

    Android學(xué)習(xí)之AppWidget筆記分享

    這篇文章主要為大家詳細(xì)介紹了Android學(xué)習(xí)筆記之AppWidget的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android實(shí)現(xiàn)WIFI和GPRS網(wǎng)絡(luò)的切換

    Android實(shí)現(xiàn)WIFI和GPRS網(wǎng)絡(luò)的切換

    這篇文章主要介紹了Android實(shí)現(xiàn)WIFI和GPRS網(wǎng)絡(luò)的切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Flutter 中的PageStorage小部件使用及最佳實(shí)踐

    Flutter 中的PageStorage小部件使用及最佳實(shí)踐

    在Flutter中,PageStorage小部件提供了一種方法來保存和恢復(fù)頁面間的信息,這對于具有多個頁面且需要在這些頁面之間共享狀態(tài)的應(yīng)用程序非常有用,本文將詳細(xì)介紹PageStorage的用途、如何使用它以及一些最佳實(shí)踐,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Android中網(wǎng)絡(luò)框架簡單封裝的實(shí)例方法

    Android中網(wǎng)絡(luò)框架簡單封裝的實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于Android中網(wǎng)絡(luò)框架簡單封裝的實(shí)例方法,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03

最新評論

临洮县| 武邑县| 潼关县| 普洱| 阆中市| 横峰县| 扎囊县| 梅州市| 四会市| 乌兰浩特市| 水富县| 伊春市| 泸西县| 沿河| 渭南市| 忻州市| 阳曲县| 怀仁县| 肥乡县| 大理市| 巩义市| 贞丰县| 鹤壁市| 肃北| 普格县| 莱芜市| 宁国市| 教育| 龙川县| 教育| 泗阳县| 云南省| 甘洛县| 平谷区| 哈尔滨市| 本溪| 吴川市| 固原市| 大厂| 河津市| 新乐市|