Android数据持久化:文件存储
生活随笔
收集整理的這篇文章主要介紹了
Android数据持久化:文件存储
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 數據持久化: 數據可分為瞬時數據和關鍵數據。保存在內存之中的數據是瞬時數據,而對于一些關鍵性數據,后期需要持續使用的,應當保存在存儲設備中;
- 持久化保存方式: 文件存儲、SharePreference,SQLlite;
文件存儲
- 將數據存儲到文件中
- 使用到openFileOutputStream(“文件名”,操作方式)方法和FileOutputStream對象;
/*** 數據寫入* @param 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();}}}
4 . 使用Context類中的openFileInput()方法
5 . 數據讀出
/*** 數據讀入* @return*/public String load(){FileInputStream in = null;BufferedReader reader = null;StringBuilder content = new StringBuilder();try {in = openFileInput("文件名");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();}
6.代碼實踐參考:
public class MainActivity extends AppCompatActivity {private EditText editText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);editText = (EditText) findViewById(R.id.edit);String inputText = load();if (!TextUtils.isEmpty(inputText)){editText.setText(inputText);editText.setSelection(inputText.length());Toast.makeText(this,"Restoring succeeded",Toast.LENGTH_SHORT).show();}}@Overrideprotected void onDestroy() {super.onDestroy();String inputText = editText.getText().toString();save(inputText);}/*** 數據寫入* @param 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();}}}/*** 數據讀入* @return*/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();}
}
相關xml:
<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/edit"android:hint="Writing at here." /></LinearLayout>
總結
以上是生活随笔為你收集整理的Android数据持久化:文件存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中指针
- 下一篇: Android数据持久化:SharePr