1. 程式人生 > >倒計時延時跳轉和登入記住密碼

倒計時延時跳轉和登入記住密碼

//佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     tools:context="${relativePackage}.${activityClass}"     android:background="@drawable/a" >

    <Button         android:id="@+id/btn_times"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentRight="true"         android:layout_alignParentTop="true"         android:background="@null"         android:text="跳轉5" />

</RelativeLayout>

//頁面賦值  Handler

import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

public class MainActivity extends Activity {

    private Button btn_times;     // 定義臨時變數     int t = 5;

    @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         btn_times = (Button) findViewById(R.id.btn_times);         btn_times.setOnClickListener(new OnClickListener() {

            @Override             public void onClick(View v) {                 // TODO Auto-generated method stub                 // 為0時跳轉                 t = 0;             }         });         handler.sendEmptyMessage(0);         btn_times.setText("跳轉" + t);     }

    Handler handler = new Handler() {         public void handleMessage(android.os.Message msg) {             switch (msg.what) {             case 0:                 if (t<=0) {                     startActivity(new Intent(MainActivity.this,TwoActivity.class));                     finish();                 }else {                     t--;                     btn_times.setText("跳轉" + t);                     Message message = new Message();                     message.what = 0;                     handler.sendMessageDelayed(message, 1000);                 }                 break;

            default:                 break;             }         };     };

    @Override     protected void onDestroy() {         // TODO Auto-generated method stub         super.onDestroy();         handler.removeCallbacksAndMessages(null);     } }

//登入頁面的佈局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background="@drawable/a"     android:orientation="vertical"     tools:context="${relativePackage}.${activityClass}" >

    <LinearLayout         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:layout_marginLeft="100dp"         android:layout_marginTop="200dp"         android:gravity="center"         android:orientation="vertical" >

        <EditText             android:id="@+id/edit_name"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:ems="10"             android:hint="請輸入賬號" />

        <EditText             android:id="@+id/edit_pass"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:ems="10"             android:hint="請輸入密碼" />     </LinearLayout>

    <LinearLayout         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:layout_marginLeft="100dp"         android:layout_marginTop="20dp"         android:gravity="center"         android:orientation="horizontal" >

        <CheckBox             android:id="@+id/check_jz"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="記住密碼" />

        <CheckBox             android:id="@+id/check_zd"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="自動登入" />     </LinearLayout>

    <Button         android:id="@+id/btn_deng"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_gravity="center"         android:background="@null"         android:layout_marginTop="20dp"         android:text="登入" />

</LinearLayout>

//儲存資料 下次登入不在顯示

package com.example.yuekao5;

import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v7.widget.ShareActionProvider; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText;

public class TwoActivity extends FragmentActivity {

    private SharedPreferences sharedPreferences;     private EditText edit_name;     private EditText edit_pass;     private CheckBox check_jz;     private CheckBox check_zd;     private Button btn_deng;

    @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_two);         edit_name = (EditText) findViewById(R.id.edit_name);         edit_pass = (EditText) findViewById(R.id.edit_pass);         check_jz = (CheckBox) findViewById(R.id.check_jz);         check_zd = (CheckBox) findViewById(R.id.check_zd);         btn_deng = (Button) findViewById(R.id.btn_deng);         sharedPreferences = getSharedPreferences("1606B", MODE_PRIVATE);

        boolean isJZ = sharedPreferences.getBoolean("isJZ", false);         String username = sharedPreferences.getString("username", "");         String password = sharedPreferences.getString("password", "");         if (isJZ) {             edit_name.setText(username);             edit_pass.setText(password);             check_jz.setChecked(true);         }         boolean isZD = sharedPreferences.getBoolean("isZD", false);         if (isZD) {             startActivity(new Intent(TwoActivity.this, ThreeActivity.class));             finish();         }         btn_deng.setOnClickListener(new OnClickListener() {

            @Override             public void onClick(View v) {                 // TODO Auto-generated method stub                 // 獲取賬號密碼                 String username = edit_name.getText().toString().trim();                 String password = edit_pass.getText().toString().trim();                 if (check_jz.isChecked()) {                     Editor editor = sharedPreferences.edit();                     editor.putString(username, "username");                     editor.putString(password, "password");                     editor.putBoolean("isJZ", true);                     editor.commit();                 }                 if (check_zd.isChecked()) {                     Editor editor = sharedPreferences.edit();                     editor.putBoolean("isZD", true);                     editor.commit();                 }                 startActivity(new Intent(TwoActivity.this, ThreeActivity.class));                 finish();             }         });     } }