国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android基礎教程數據存儲之文件存儲

2019-12-12 02:25:39
字體:
來源:轉載
供稿:網友

Android基礎教程數據存儲之文件存儲

將數據存儲到文件中并讀取數據

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

<?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()方法將一段文本內容保存到文件中,load()方法從文件中讀取數據,套用)

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)){                 //對字符串進行非空判斷      edit.setText(inputText);      edit.setSelection(inputText.length());      Toast.makeText(this,"Restoring succeeded",Toast.LENGTH_SHORT).show();    }  }  @Override  protected void onDestroy(){                      //重寫onDestroy()保證在活動銷毀之前一定調用這個方法    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();  }}

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 樟树市| 鄢陵县| 布尔津县| 衢州市| 遂宁市| 齐齐哈尔市| 怀来县| 英德市| 兴安县| 鞍山市| 高密市| 连平县| 曲阳县| 姜堰市| 昆山市| 来凤县| 济南市| 全椒县| 双辽市| 灯塔市| 大荔县| 奉节县| 古田县| 白银市| 武胜县| 霍山县| 钟山县| 定陶县| 昭通市| 孝义市| 百色市| 进贤县| 昔阳县| 江门市| 堆龙德庆县| 海盐县| 安多县| 石家庄市| 湛江市| 冀州市| 北京市|