Android 隱藏檔方式之一---SharedPreferences 內容提供者,以xml 的方式進行資料 儲存。是一種輕量級的檔案資料存放區

來源:互聯網
上載者:User

標籤:android   blog   class   code   java   ext   width   color   get   string   檔案   

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 //UI介面的布局 檔案<br><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="fill_parent"//填充父元素  線性布局<br>    android:layout_height="fill_parent"     android:orientation="vertical" >     <EditText         android:id="@+id/UserName"//id名稱方便後台擷取到該控制項名稱來去控制項裡面的值<br>        android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:ems="10"         android:inputType="text" >         <requestFocus />     </EditText>     <EditText         android:id="@+id/Password"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:inputType="text" />     <LinearLayout         android:layout_width="fill_parent"         android:layout_height="wrap_content" >         <Button             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:onClick="login"//在該Button按鈕上面綁定onClick()方法 login和後台中的login名稱需要一直,否則將找不到背景方法<br>            android:text="登陸"             android:width="80dp" />         <CheckBox             android:id="@+id/saveUserAndPassword"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_marginLeft="180dp" />     </LinearLayout> </LinearLayout>

 

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package com.example.saveuserandpasswor; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast;<br>/**<br> *類比一個簡單的使用者登入時儲存密碼的功能。該demo 沒有對密碼進行加密,處於安全考慮可以使用MD5或UUID進行密碼加密  --後台代碼<br> */ public class MainActivity extends Activity {       private EditText userName;     private EditText password;     private CheckBox cb;     private SharedPreferences sp;// 內容提供者       @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         userName = (EditText) findViewById(R.id.UserName);//擷取ui介面中的空間元素         password = (EditText) findViewById(R.id.Password);         cb = (CheckBox) findViewById(R.id.saveUserAndPassword);         sp = getSharedPreferences("save", MODE_PRIVATE);// 設定儲存資訊的設定檔是私人的檔案,儲存問檔案形式以xml檔案儲存體,其實就是一個map                                                         // 集合         String username = sp.getString("username", "");         String pass = sp.getString("password", "");         if (username.length() != 0 && pass.length() != 0) {             userName.setText(username);             password.setText(pass);             cb.setChecked(true);         }       }       public void login(View view) {//在UI介面裡面對Button按鈕進行事件綁定,onclick() 方法<br>     String user = userName.getText().toString();         String pass = password.getText().toString();         boolean iscb = cb.isChecked();         Editor editor = sp.edit();// 擷取編輯器         if (iscb) {// 如果checkbox 被選中則儲存使用者名稱和密碼             editor.putString("username", user);             editor.putString("password", pass);         } else {             editor.putString("username", "");             editor.putString("password", "");         }         editor.commit();// 登陸完事後將使用者輸入的帳號密碼儲存到設定檔中         Toast.makeText(getApplicationContext(), "登陸成功", Toast.LENGTH_SHORT)// 操作完成一個時間後執行的操作                 .show();     }       @Override     public boolean onCreateOptionsMenu(Menu menu) {         getMenuInflater().inflate(R.menu.activity_main, menu);         return true;     } }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.