Android自動登入功能的實現

來源:互聯網
上載者:User

標籤:extends   設計   isp   linear   klist   android   ttext   alt   highlight   

登陸頁面配置設計:

 <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:orientation="horizontal" >        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/account" />        <EditText            android:id="@+id/edtaccount"            android:layout_width="150dp"            android:layout_height="wrap_content"            android:inputType="number"            android:singleLine="true" />    </LinearLayout>    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:orientation="horizontal" >        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/password" />        <EditText            android:id="@+id/edtpassword"            android:layout_width="150dp"            android:layout_height="wrap_content"            android:inputType="textPassword"            android:singleLine="true" />    </LinearLayout>    <Button        android:id="@+id/btnlogin"        android:layout_width="200dp"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:text="@string/login" />

 登出頁面配置設計:

    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:text="@string/登出頁面"        android:textSize="15sp" />    <Button        android:id="@+id/btncancel"        android:layout_width="200dp"        android:layout_height="wrap_content"        android:text="@string/cancel" />

 LoginActivity.java:

package com.xiaoyan.autologin;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class LoginActivity extends Activity {// 定義組件private EditText edtAccount;private EditText edtPassword;private Button btnLogin;// 用於記錄帳號和密碼private String strAccount = "";private String strPassword = "";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.login_main);// 設定標題setTitle("Login");// 擷取sharedpreferences對象SharedPreferences share = getSharedPreferences("Login",Context.MODE_PRIVATE);strAccount = share.getString("Account", "");strPassword = share.getString("Password", "");// 判斷是否是之前有登入過if (share == null) {init();} else {// 判斷是否剛登出if (share.getBoolean("LoginBool", false)) {// 跳轉到登出頁面並銷毀當前activityIntent intent = new Intent(LoginActivity.this,CancelActivity.class);startActivity(intent);finish();} else {init();}}}private void init() {// 初始化組件edtAccount = (EditText) findViewById(R.id.edtaccount);edtPassword = (EditText) findViewById(R.id.edtpassword);btnLogin = (Button) findViewById(R.id.btnlogin);edtAccount.setText(strAccount);edtPassword.setText(strPassword);// 監聽按鈕btnLogin.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {// 判斷帳號和密碼是輸入是否為空白if (edtAccount.getText().toString().equals("")|| edtPassword.getText().toString().equals("")) {Toast.makeText(LoginActivity.this, "帳號或密碼不可為空",Toast.LENGTH_SHORT).show();} else {// 建立SharedPreferences對象用於儲存帳號和密碼,並將其私人化SharedPreferences share = getSharedPreferences("Login",Context.MODE_PRIVATE);// 擷取編輯器來儲存資料到sharedpreferences中Editor editor = share.edit();editor.putString("Account", edtAccount.getText().toString());editor.putString("Password", edtPassword.getText().toString());editor.putBoolean("LoginBool", true);// 將資料提交到sharedpreferences中editor.commit();// 跳轉到登出頁面並銷毀當前activityIntent intent = new Intent(LoginActivity.this,CancelActivity.class);startActivity(intent);finish();}}});}}

 CancelActivity.java:

package com.xiaoyan.autologin;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.Button;public class CancelActivity extends Activity {// 定義組件private Button btnCancel;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.cancel_activity);// 設定標題setTitle("Cancel");// 初始化頁面init();}private void init() {// 初始化組件btnCancel = (Button) findViewById(R.id.btncancel);// 監聽登出按鈕btnCancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub// 登出帳號並銷毀當前頁面SharedPreferences share = getSharedPreferences("Login",Context.MODE_PRIVATE);share.edit().putBoolean("LoginBool", false).commit();Intent intent = new Intent(CancelActivity.this,LoginActivity.class);startActivity(intent);finish();}});}}

 

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.