Android初學筆記——內部儲存空間的讀寫

來源:互聯網
上載者:User

標籤:

手機的記憶體分為運行記憶體(RAM)和手機的儲存容量(ROM),當然大部分手機還支援外部儲存卡,今天的只是在手機的記憶體空間中進行簡單的讀寫操作

下面是一個登入介面和該介面的xml檔案內容

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2     xmlns:tools="http://schemas.android.com/tools" 3     android:layout_width="match_parent" 4     android:layout_height="match_parent" 5     android:gravity="center_vertical" 6     tools:context=".MainActivity" > 7      8     <EditText  9         android:id="@+id/edit_name"10         android:layout_width="match_parent"11         android:layout_height="wrap_content"12         android:hint="@string/login_username"/>13     <EditText 14         android:id="@+id/edit_password"15         android:layout_width="match_parent"16         android:layout_height="wrap_content"17         android:hint="@string/login_password"18         android:password="true"19         android:layout_below="@id/edit_name"/>20     <LinearLayout 21         android:layout_width="match_parent"22         android:layout_height="wrap_content"23         android:orientation="horizontal"24         android:layout_below="@id/edit_password">25         26         <CheckBox 27             android:id="@+id/choice"28             android:layout_width="0dp"29             android:layout_height="wrap_content"30             android:layout_weight="1"31             android:text="@string/login_check"/>32         <Button 33             android:id="@+id/btn_login"34             android:layout_width="wrap_content"35             android:layout_height="wrap_content"36             android:text="@string/btn_login"/>37     </LinearLayout>38 </RelativeLayout>

一個簡單的相對布局頁面,選擇是否儲存賬戶和密碼,點擊登入,會在手機內部儲存空間裡產生一個相應的檔案,檔案類型自行決定,在這裡就用一個簡單的文字文件來儲存賬戶和密碼,部分代碼如下:

public void onClick(View view) {        switch (view.getId()) {        case R.id.btn_login:            String name=editName.getText().toString();            String password=editPassword.getText().toString();            if(choice.isChecked()){                try {                    File file=new File("data/data/com.zzqhfuf.innerstore/login.txt");                    fos = new FileOutputStream(file);                    fos.write((name+"#"+password).getBytes());                    fos.close();                } catch (Exception e) {                    e.printStackTrace();                }            }            Toast.makeText(this, "登陸成功", 0).show();            break;        default:            break;        }    }

這裡當點擊按鈕後,在手機中的某個位置產生一個txt檔案,通過FileOutputStream將使用者名稱和密碼寫入到文本中,然後關閉檔案輸出資料流,密碼和賬戶用“#”好分割,方便取出。後面的Toast沒太大意義..

接下來就是檔案的讀取了,一開始進來就會去讀取檔案,因此首先要判斷檔案是否存在。

file=new File("data/data/com.zzqhfuf.innerstore/login.txt");            if(file.exists()){                FileInputStream fis=new FileInputStream(file);                byte[] b=new byte[1024*4];                int hasRead=0;                String s;                while((hasRead=fis.read(b))>0){                    s=new String(b, 0, hasRead);                    String[] strs=s.split("#");                        editName.setText(strs[0]);                        editPassword.setText(strs[1]);                        choice.setChecked(true);                }                fis.close();            }

當然,使用者下次可能選擇不儲存密碼和賬戶,但上次有儲存過檔案,這樣就達不到目的。所以在使用者不選擇儲存的情況時,應刪除儲存的檔案

if(file.exists()){//檔案存在                    if(file.isFile())//判斷是否為檔案                        file.delete();                }

 

Android初學筆記——內部儲存空間的讀寫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.