Android資料存放區之IO,android資料存放區
Android開發中免不了資料本地的儲存,今天我們來說一說如何利用IO流來進行資料存放區。
這裡我們通過類比一個QQ登陸介面的小demo來實際操作IO流。
功能描述:點擊按鈕能夠儲存使用者輸入的使用者名稱和密碼,當點擊記住密碼時,亦能在應用第二次開啟時,回顯使用者名稱和密碼
1.這裡布局檔案的代碼就不貼了,看
2.MainActivity.java
package com.example.viewswitchtest;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.graphics.drawable.Drawable;import android.telephony.SmsManager;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText editAccount; private EditText editPwd; private Button btnLogin; private CheckBox checkbox; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 帳號edit editAccount = (EditText) findViewById(R.id.edit_account); // 密碼edit editPwd = (EditText) findViewById(R.id.edit_pwd); // 登陸button btnLogin = (Button) findViewById(R.id.btn_login); // 記住帳號和密碼checkbox checkbox = (CheckBox) findViewById(R.id.checkbox); // 回顯帳號和密碼 readAccountAndPwd(); btnLogin.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (checkbox.isChecked()) { String account = editAccount.getText().toString(); String pwd = editPwd.getText().toString(); // android為了防止開發人員手寫路徑容易出現錯誤,裝門提供了兩個API // getFilesDir() --> 對應的路徑:data/data/項目包名/files // getCacheDir() --> 對應的路徑:data/data/項目包名/cache File file = new File(getFilesDir(), "info.txt"); try { FileOutputStream fos = new FileOutputStream(file); fos.write((account + "-" + pwd).getBytes()); // 儲存格式為"account-password",方便分割 fos.close(); } catch (Exception e) { e.printStackTrace(); } } Toast.makeText(MainActivity.this, "login success", Toast.LENGTH_LONG).show(); } }); } /** * 回顯使用者名稱和密碼 */ private void readAccountAndPwd() { File file = new File(getFilesDir(), "info.txt"); if (file.exists()) { try { FileInputStream fis = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader(fis)); String text = reader.readLine(); String[] infos = text.split("-"); // 回顯資訊 editAccount.setText(infos[0]); editPwd.setText(infos[1]); fis.close(); reader.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
3.輸入帳號和密碼,點擊登陸按鈕,我們可以在DDMS中的file explore中看到儲存的txt格式檔案:
4.匯出檔案,通過文字編輯器開啟驗證,帳號密碼是否正確:
可以看到帳號和密碼被正確的儲存了,且格式正確。
5.關閉應用,再次開啟
可以看到,資料能夠被正確的回顯到輸入框中,:-D!!!
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。