【Android】用户登录界面功能实现:登陆跳转、退出
文章目录
- 用户登录界面功能实现:登陆跳转、退出
- ♦ 回顾
- ♦ 编写 MainActivity 实现功能
- 登录功能效果
- 退出弹框、连续点击返回退出
- ♦ 设计 activity_my_tool.xml 展示工具界面
- ♦ 编写 MyToolActivity 展示欢迎信息
用户登录界面功能实现:登陆跳转、退出
♦ 回顾
通过上一节的内容,我们创建了简单的登陆界面,但是部分功能还未完善,比如登陆、退出、注册等。今天就先来实现登陆跳转
和退出功能
。
返回顶部
♦ 编写 MainActivity 实现功能
package com.example.myapplication;import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.example.myapplication_test.R;public class MainActivity extends AppCompatActivity {// 获取xml中的组件EditText username,pwd; // 获取文本编辑组件的对象Button login,back; // 获取按钮组件的对象// 2秒内点击两次返回键退出long exittime; // 设定退出时间间隔public boolean onKeyDown(int keyCode, KeyEvent event){ //参数:按的键;按键事件// 判断事件触发if (keyCode == KeyEvent.KEYCODE_BACK){// 判断两次点击间隔时间if((System.currentTimeMillis()-exittime)>2000){Toast.makeText(MainActivity.this,"再次返回程序退出!",Toast.LENGTH_SHORT).show();exittime = System.currentTimeMillis(); // 设置第一次点击时间}else{//finish();System.exit(0);}return true;}return super.onKeyDown(keyCode,event);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 通过组件id创建组件对象username = findViewById(R.id.username);pwd = findViewById(R.id.pwd);login = findViewById(R.id.login);back = findViewById(R.id.back);// 为登陆按钮添加监听事件实现登陆login.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 假设用户名为admin,密码为123if (username.getText().toString().equals("admin")&&pwd.getText().toString().equals("123456")){// 用户名、密码正确,成功登陆Toast.makeText(MainActivity.this,"登陆成功!",Toast.LENGTH_SHORT).show();// 实现页面跳转Intent intent = new Intent();intent.setClass(MainActivity.this,MyToolActivity.class);// 存储当前用户名,用于工具界面显示信息intent.putExtra("username",username.getText().toString());startActivity(intent);} else if (username.getText().toString().equals("")||pwd.getText().toString().equals("")){// 用户名、密码不能为空Toast.makeText(MainActivity.this,"用户名/密码不能为空!",Toast.LENGTH_SHORT).show();} else {// 用户名、密码不正确Toast.makeText(MainActivity.this,"登录失败,密码或用户名错误!",Toast.LENGTH_SHORT).show();}}});// 为退出按钮添加监听事件实现退出 --- 用到弹框提示确认退出back.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 1.创建弹框对象,显示在当前页面AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this);// 2.编辑弹框样式// 2.1 创建标题ab.setTitle("提示");// 2.3 设置图标ab.setIcon(R.mipmap.ic_launcher_round);// 2.4 设置内容ab.setMessage("您是否确定退出?");// 2.5 设置按钮ab.setPositiveButton("取消",null);ab.setNeutralButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 实现程序的退出,结束当前MainActivity.this.finish();}});// 3.创建弹框ab.create();// 4.显示弹框ab.show();}});}
}
登录功能效果
退出弹框、连续点击返回退出
返回顶部
♦ 设计 activity_my_tool.xml 展示工具界面
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.myapplication.MyToolActivity"android:background="@drawable/main_page" 设置背景><TextViewandroid:id="@+id/welcome" welcome文本框结合登陆显示欢迎信息android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"android:layout_marginStart="28dp"android:layout_marginLeft="28dp"android:layout_marginBottom="25dp"android:text=""android:textColor="@android:color/white"android:textSize="20dp"/><TextViewandroid:id="@+id/title" android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="58dp"android:text="My Tools"android:textColor="@android:color/white"android:textSize="25dp"android:textStyle="bold"/>
</RelativeLayout>
返回顶部
♦ 编写 MyToolActivity 展示欢迎信息
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import com.example.myapplication_test.R;public class MyToolActivity extends AppCompatActivity {TextView welcome;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_my_tool);// 获取文本框对象welcome = findViewById(R.id.welcome);// 通过final Intent intent = getIntent();intent.getStringExtra("username");welcome.setText("欢迎您"+intent.getStringExtra("username"));}
}
返回顶部
上一篇:【Android】实现应用简单的用户登录界面 下一篇:【Android】MyTool 工具界面:百度、拨号、一键拨号
【Android】用户登录界面功能实现:登陆跳转、退出相关推荐
- Android 猫头鹰登录界面,WordPress个性化登陆界面(添加会遮挡双眼的猫头鹰动画)...
在开始本篇文章之前,我们先来看下最终效果,需要的话就继续看下去吧.文章最后面还加了个点心,欢迎品尝. 即当鼠标切换到登陆密码一栏时,那只萌萌的猫头鹰就害羞的遮挡住了双眼.陌小雨给大家分享这效果的具体方 ...
- android studio 微信登录界面,如何使用Android Studio开发用户登录界面
满意答案 zhou9081 2016.05.21 采纳率:51% 等级:7 已帮助:411人 如何使用Android Studio开发用户登录界面,具体解决方案如下: 解决方案1: <:t ...
- 简单步骤,使用 Android studio 实现保存 QQ 账号密码,和简易 QQ 用户登录界面
利用 Android studio 2021 软件输出一个简易用户登录界面,拥有头像并且能够实现对自行输入的账号密码进行保存,文件名为 saveqq,功能实现对账号与密码的输入和存储,简单QQ界面布局 ...
- java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...
下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- php注册登录描述,基于PHP实现用户登录注册功能的详细教程
教程前先给大家看看小编的实现成果吧! 图1: 图2: 图3: 教程: 实现这个功能我们需要五个php文件: login.php (登录界面,如图2) 登录 登录页面 用户名: required=&qu ...
- nodejs+vue实现登录界面功能(一)
项目描述:一开始进入登录界面,只有登录成功才可以跳转到主页面,已注册但是忘记密码的进入忘记密码页面,找回密码后进入登录界面. 技术选型:nodejs+vue+stylus 界面效果: 切换登录方式 手 ...
- 用户登录界面的测试用例
用户登录界面如何测试 这个界面上有两个输入框,一个提交按钮. 在面试时经常会被问到这道题,考察点是面试者是否熟悉各种测试方法.首先,可以询问面试官用户的需求.例如这个登录界面应该是弹出窗口还是直接在网 ...
- 一个简单的用户登录界面
今天我们学习了如何实现一个简单的用户登陆界面,具体要用到两个jsp和一个servlet,具体操作如下: 首先创建一个用户登录界面,inputview.jsp,其源代码如下所示: <!DOCTYP ...
- 界面开发(3)--- PyQt5用户登录界面连接数据库
文章目录 数据库 账户注册 账号登录 找回密码 为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中.如果输入的账号和密码与数据库中的一致,那我们就允许用户登录 ...
最新文章
- 每日一皮:最真实的现代互联网商业模式
- stringbuffer_StringBuffer的存在的含义
- 使用工具类实现通用分页处理
- 回溯——伯努利装错信封问题
- 警惕“***性社工”现象
- flutter创建一个demo
- 小升初想择校,英语跟语数一样重要吗?
- ThinkPHP3.2开启静态缓存
- PHPExcel 插件使用详解
- 计算机关闭系统剪切板上的内容,如何在Win10中打开/关闭和清除剪贴板历史记录...
- 有些CAD通过Arcgis程序读取后,发现面积不对
- c语言逻辑运算符用法大全,C语言之逻辑运算符(示例代码)
- Sqoop--全量/增量、导入/导出
- docker参数详解
- jvm.option是什么,它是如何加载的
- KMP算法经典应用——“循环节”
- python 导入第三方包_python 导入第三方包---
- 借助海尔平台打造智能家居的一点想法
- 常用的文本情感分析方法及其应用
- 智能书架中RFID技术是如何实现图书定位的