Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android數據存儲之IO

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!!!

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved