zoukankan      html  css  js  c++  java
  • Android第八次作业

    界面:

    功能:

    QQ登录界面,默认设置登录账号为admin,密码也为admin。

    (1)、如果输入账号或密码其中任意一个错误直接显示密码错误请重试,此时会清空账号密码输入框中的内容,勾选与未勾选记住密码按钮,效果一样;

    (2)、如果账号密码都输入正确没勾选记住密码按钮,则显示登陆成功,未保存;

    (3)、如果账号密码都输入正确,且勾选了记住密码按钮,则显示登陆成功已保存,此时保存了密码,之后再重新进入app账号密码自动显示在屏幕的相应位置,保存数据均用SharedPreferences数据存储方式

    (4)、保存数据的文件及内容

    Layout代码:

    <?xml version="1.0" encoding="utf-8"?>
    <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:orientation="vertical"
        tools:context=".MainActivity">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="50dp"
            android:src="@drawable/qq" />
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="30dp">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="账号:"
                android:textSize="30sp" />
    
            <EditText
                android:id="@+id/etName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="请输入账号"
                android:textSize="30sp" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="密码:"
                android:textSize="30sp" />
    
            <EditText
                android:id="@+id/etPassword"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="请输入密码"
                android:inputType="textPassword"
                android:textSize="30sp" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="30dp">
    
            <CheckBox
                android:id="@+id/cbRemember"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:text="记住密码"
                android:textSize="20sp" />
    
            <Button
                android:id="@+id/btnLogin"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:onClick="btnLogin"
                android:text="登录"
                android:textSize="20sp" />
    
            <Button
                android:id="@+id/btnExit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:text="取消"
                android:textSize="20sp" />
    
        </LinearLayout>
    
    
    </LinearLayout>

    Activity代码:

    package com.example.sp;
    
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    public class MainActivity extends AppCompatActivity {
    
        private EditText etName;
        private EditText etPassword;
        private CheckBox cbRemember;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            etName = findViewById(R.id.etName);
            etPassword = findViewById(R.id.etPassword);
            cbRemember = findViewById(R.id.cbRemember);
            SharedPreferences sp = getSharedPreferences("date", MODE_PRIVATE);
            etName.setText(sp.getString("name", ""));
            etPassword.setText(sp.getString("password", ""));
    
        }
    
        public void btnLogin(View view) {
            if ("admin".equals(etName.getText().toString()) && "admin".equals(etPassword.getText().toString())) {
                if (cbRemember.isChecked()) {
                    SharedPreferences sp = getSharedPreferences("date", MODE_PRIVATE);
                    SharedPreferences.Editor editor = sp.edit();
                    editor.putString("name", etName.getText().toString());
                    editor.putString("password", etPassword.getText().toString());
                    editor.commit();
                    Toast.makeText(this, "登陆成功,已保存", Toast.LENGTH_SHORT).show();
                } else {
                    SharedPreferences sp = getSharedPreferences("date", MODE_PRIVATE);
                    SharedPreferences.Editor editor = sp.edit();
                    editor.putString("name", "");
                    editor.putString("password", "");
                    editor.commit();
                    Toast.makeText(this, "登陆成功,未保存", Toast.LENGTH_SHORT).show();
                }
            } else {
                Toast.makeText(this, "密码错误,请重试", Toast.LENGTH_SHORT).show();
                etName.setText("");
                etPassword.setText("");
            }
        }
    }
    
    
    
  • 相关阅读:
    HDU 3911 Black And White 分段树 题解
    Haskell 差点儿无痛苦上手指南
    CFileDialog的使用方法简单介绍
    对 dpif_class 结构体的一点认识
    三层架构之基础知识
    五类常见算法小记 (递归与分治,动态规划,贪心,回溯,分支界限法)
    AlertDialog具体解释
    delphi tcp/ip IdTCPServer1实例一
    23种设计模式(15):备忘录模式
    Android APK反编译具体解释(附图)
  • 原文地址:https://www.cnblogs.com/mengjia0513/p/11743959.html
Copyright © 2011-2022 走看看