首页 > 其他分享 >每日总结2023-05-16

每日总结2023-05-16

时间:2023-05-16 19:22:56浏览次数:40  
标签:05 16 id user 2023 import login password android

今天对Android记住密码以及自动登录做出了处理

首先进行了对与login页面的优化:

package com.example.math;
/*
 * 登录界面
 * */

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.example.math.repositiory.user_res;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {

    private SharedPreferences pref;

    private SharedPreferences.Editor editor;

    private  CheckBox rememberCb;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

        initData();
        savePassword();


    }

    private void savePassword() {
        pref = PreferenceManager.getDefaultSharedPreferences(this);
        EditText user_name = findViewById(R.id.userName);
        EditText user_password = findViewById(R.id.userPassword);

        rememberCb = findViewById(R.id.login_cb_ji);
        boolean isRemember = pref.getBoolean("remember",true);
        if(isRemember){
            String account = pref.getString("account","");
            String password = pref.getString("password","");
            user_name.setText(account);
            user_password.setText(password);
            rememberCb.setChecked(true);

        }
    }

    private void initData() {
        Button login_l = findViewById(R.id.login);
        TextView bt_zhu = findViewById(R.id.login_zhu);
        TextView bt_xiu = findViewById(R.id.login_xiu);
        login_l.setOnClickListener(this);
        bt_zhu.setOnClickListener(this);
        bt_xiu.setOnClickListener(this);
    }


    @SuppressLint("HandlerLeak")
    public Handler myHandler = new Handler(Looper.myLooper()) {
        @Override
        public void handleMessage(@NonNull Message msg) {

            if (msg.what == 1) {
                Intent intent1 = new Intent(getApplicationContext(), UserMainActivity.class);
                startActivity(intent1);
                finish();

                Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(getApplicationContext(), "登录失败", Toast.LENGTH_LONG).show();
            }
        }
    };


    @SuppressLint("NonConstantResourceId")
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.login:
                EditText user_name = findViewById(R.id.userName);
                EditText user_password = findViewById(R.id.userPassword);
                rememberCb = findViewById(R.id.login_cb_ji);

                String userName = user_name.getText().toString();
                CustomApplication app = (CustomApplication) getApplication();
                app.setValue(userName);

                login(user_name.getText().toString(), user_password.getText().toString());
                editor = pref.edit();
                if (rememberCb.isChecked()) {
                    editor.putBoolean("remember", true);
                    editor.putString("account", userName);
                    editor.putString("password", user_password.getText().toString());
                } else {
                    editor.apply();
                }
                break;
            case R.id.login_zhu:
                startActivity(new Intent(getApplicationContext(), register_Activity.class));
                break;
            case R.id.login_xiu:
                startActivity(new Intent(getApplicationContext(), retrieve_Activity.class));
                break;
        }
    }

    /**
     * 登录功能
     */
    public void login(String name, String password) {
        new Thread() {
            @Override
            public void run() {


                boolean aa;
                try {
                    aa = user_res.user_login(name, password);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
                int msg = 0;
                if (aa) {
                    msg = 1;
                }
                myHandler.sendEmptyMessage(msg);
            }
        }.start();
    }
}

对于记住密码以及通过手机唯一标识自动登录还在研究中。

标签:05,16,id,user,2023,import,login,password,android
From: https://www.cnblogs.com/JJTyyds/p/17406562.html

相关文章

  • 23-5-16--数组--猜帽子游戏
    L1-5猜帽子游戏分数 15作者 陈越单位 浙江大学宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子,有的是黑色的,有的是黄色的。每个人可以看到别人头上的帽子,但是看不到自己的。游戏开始后,每个人可以猜自己头上的帽子是什么颜色,或者可以弃权不猜。如......
  • 2023.5.16编程一小时打卡
    一、问题描述:给出下面的多边形基类框架:classpolygon{protected:intnumber;//边数,最多不超过100条边private:intside_length[100];//边长数组public:polygon();//构造函数根据需要重载intperimeter();//计算多边形边长voiddisplay();//输出多边形边......
  • 2023年5月最新全国省市区县和乡镇街道行政区划矢量边界坐标经纬度地图数据 shp geojso
    发现个可以免费下载全国 geojson 数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3、Echarts等geojson数据下载地址:https://geojson.hxkj.vip该项目github地址:https://github.com/TangSY/echarts-m......
  • 2023年五月
    P4931[MtOI2018]情侣简要题意给定\(T\)个\((n,k)\)二元组,求\[\sum_{t=k}^n(-1)^{t-k}\binom{t}{k}\binom{n}{k}^2k!2^k(2n-2k)!\]\(T\le2\times10^5,k\len\le5\times10^6\)。题解\[\begin{align*}&\sum_{t=k}^n(-1)^{t-k}\binom{t}{k}\binom{n}......
  • 16进制转字节数组为负数问题
    举例:B9转换成字节数组为-73或者185为什么如果是-73字节数组再转回为16进制为:0xFFFFFFB9,与原来的B9相差解析:在java里面B9 转换成二进制为:00000000000000000000000010110101Int转换为Byte的过程,也是将Int里32个bit的前24个“砍掉”,只留下最后8个bit的过程即为......
  • 2023年5月中国数据库排行榜:OTO组合回归育新机,华为高斯蓄势待发展雄心
    路漫漫其修远兮,吾将上下而求索。 2023年5月的 墨天轮中国数据库流行度排行 火热出炉,本月共有262个数据库参与排名。本月排行榜前十变动较大,可以用一句话概括为:openGauss立足创新夺探花;华为云GaussDB云上之争成赢家;其余数据库自强不息居原位。从2023年5月起,排行榜月度解读文......
  • 【2023.05.16】水草缸搭建思路(阳光直射/散射)
    本文采用的是米家智能鱼缸图片环境分析鱼缸将放在院子里鞋柜上面,这个位置的话会有一个问题,那就是会有阳光直射或者散射周围没有位置可以放二氧化碳钢瓶不需要太多的打理,好养活,不需加热棒搭建思路一点点解决问题暴藻起初我的打算是放在储藏间的,家人要求放在院子里,院子里......
  • 5.16打卡
    #include<bits/stdc++.h>usingnamespacestd;intf(intn){if(n==1)return1;elsereturnf(n-1)+n;}intmain(){inta;cin>>a;cout<<f(a)<<endl;return0;} ......
  • E840-TTL(4G05-DGC)型号4G/LTE数传模块快速入门测试教程
    亿佰特LTE数传模块E840-TTL(4G05-DGC)快速入门测试教程E840-TTL(4G05-DGC)是亿佰特推出的4G/LTE数传模块产品,是为实现串口设备与网络服务器,通过网络相互传输数据而开发的产品,该4G/LTE数传模块产品软件功能完善,覆盖绝大多数常规应用场景,用户只需通过简单的设置,即可实现串口到网络......
  • 知行之桥EDI系统2023版功能介绍——概览页面
    登录知行之桥EDI系统2023版,即可看到概览页面。默认情况下,会显示过去7天的各项指标。用户可以在页面右上角:显示过去的数据 下拉列表中手动选择需要的时间段,如:24小时、3天、7天等。关键指标的自定义配置概览页面具有灵活的可选性,用户可以对关键指标部分进行自定义的搭配。可以从......