【Android】_UI设计_登录页面(记住密码)
生活随笔
收集整理的這篇文章主要介紹了
【Android】_UI设计_登录页面(记住密码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目標: Android記住密碼和自動登錄界面的實現(SharedPreferences),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
登錄頁面設計(記住密碼版)
- (一) SharedPreferences用法
- (二) 登錄頁面Demo
- (三)具體的編碼實現
(一) SharedPreferences用法
- SharedPreferences介紹:
SharedPreferences是Android平臺上一個輕量級的存儲類,主要是保存一些常用的配置參數,它是采用xml文件存放數據的,文件存放在"/data/data/shared_prefs"目錄下。 - SharedPreferences的用法:
由于SharedPreferences是一個接口,而且在這個接口里沒有提供寫入數據和讀取數據的能力。但它是通過其Editor接口中的一些方法來操作SharedPreference的,用法見下面代碼: - Context.getSharedPreferences(String name,int mode)來得到一個SharedPreferences實例
name:是指文件名稱,不需要加后綴.xml,系統會自動為我們添加上。
mode:是指定讀寫方式,其值有三種,分別為:
Context.MODE_PRIVATE:指定該SharedPreferences數據只能被本應用程序讀、寫
Context.MODE_WORLD_READABLE:指定該SharedPreferences數據能被其他應用程序讀,但不能寫
Context.MODE_WORLD_WRITEABLE:指定該SharedPreferences數據能被其他應用程序讀寫。
效果實現圖:
只有 用戶名為“student”且密碼為“123456”才能登錄!
我們平常進入登錄界面都要求我們輸入用戶名和密碼,記住密碼后,進入界面就有不用手動輸入,如圖:
(二) 登錄頁面Demo
- 新建AndroidStudio項目
(三)具體的編碼實現
補充權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />remeberPwdActivity
package com.example.cungu.myapplication4;import android.content.Intent; import android.preference.PreferenceManager; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.content.SharedPreferences; import android.text.Editable; import android.text.InputType; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast;public class remeberPwdActivity extends AppCompatActivity {private SharedPreferences pref;private SharedPreferences.Editor editor;private EditText accountEdit;private EditText passwordEdit;private Button login;private CheckBox savePassword;private CheckBox autoLogin;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_remeber_pwd);pref = PreferenceManager.getDefaultSharedPreferences(this);accountEdit = (EditText) findViewById(R.id.account);passwordEdit = (EditText) findViewById(R.id.password);savePassword = (CheckBox) findViewById(R.id.savePassword);autoLogin = (CheckBox) findViewById(R.id.autologin);login = (Button) findViewById(R.id.login);passwordEdit.setInputType(InputType.TYPE_CLASS_TEXT| InputType.TYPE_TEXT_VARIATION_PASSWORD);//隱式密碼boolean isRemember = pref.getBoolean("savePassword", false);if (isRemember) {// 將賬號和密碼都設置到文本框中,下一次進入不如再輸密碼啦String account = pref.getString("account", "");String password = pref.getString("password", "");accountEdit.setText(account);passwordEdit.setText(password);savePassword.setChecked(true);}login.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String account = accountEdit.getText().toString();String password = passwordEdit.getText().toString();if (account.equals("student") && password.equals("123456")) {editor = pref.edit();if (savePassword.isChecked()) { // 檢查復選框是否被選中editor.putBoolean("savePassword", true);editor.putString("account", account);editor.putString("password", password);} else {editor.clear();}editor.commit();Toast.makeText(remeberPwdActivity.this, "Login Success!", Toast.LENGTH_SHORT).show();//Intent intent = new Intent(remeberPwdActivity.this, MainActivity.class);//跳轉//startActivity(intent);finish();} else {Toast.makeText(remeberPwdActivity.this, "account or password is invalid", Toast.LENGTH_SHORT).show();}}});} }本次為了優化界面引入內容較多,Drawable下:
| 1 | background_button_div.xml | button藍色背景 |
| 2 | background_login.xml | 登錄框漸變藍背景 |
| 3 | background_login_div.xml | 登錄框圓角半透明背景 |
| 4 | edit_login_div.xml | 編輯框圓角半透明背景 |
大功告成!
總結
以上是生活随笔為你收集整理的【Android】_UI设计_登录页面(记住密码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中产生0-100之间的随机整数
- 下一篇: android的timertask,An