如何用Android Studio实现登录跳转

前言

这个项目是我很早的时候写的,现在将其发上来供大家参考。可能存在一些不规范的问题,如有不对,欢迎批评指正。首先需要安装配置好Java开发环境,并选择任意一款Android开发工具进行编程,推荐下载安装Android Studio软件进行程序开发。在开始进行Android编程开发之前需要对Java基础知识有一定的了解和掌握。

一、基本要求

实现一个简单的用户登录界面,功能如下:

1、默认不存储用户信息,默认隐藏密码。

2、能通过勾选框记住密码、显示密码,点击登录后实现页面跳转至主页面。

3、通过“登录”进入主界面,通过“退出”退出APP,主界面通过“返回”返回到登录页面

4、登录界面显示登录的用户名及当前用户的登录时间

二、关键代码分析

1、在进行登录跳转时,manifest.xml必须写入新活动名,否则无法实现跳转

<activity android:name=".WelcomeActivity"/>

2、从SharedPreferences中获取是否记住当前用户的相关参数(登录名及密码),设置账号与密码到文本编辑框,并勾选记住当前用户名与密码

//从SharedPreferences中获取是否记住密码的参数final SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(this);boolean isRemember = preference.getBoolean("remember_pwd", false);//设置账号与密码到文本框,并勾选记住密码if (isRemember) {username.setText(preference.getString("name", ""));password.setText(preference.getString("password", ""));remember_pwd.setChecked(true);}

3、设置用户名和密码校验;如果校验成功且勾选记住密码,保存密码和用户名,如未勾选,登录成功后清除保存的数据

 String inputName = username.getText().toString();String pwd = password.getText().toString();//进行登录用户名和密码校验if (inputName.equals("老王") && pwd.equals("123456789")) {SharedPreferences.Editor editor = preference.edit();if (remember_pwd.isChecked()) {//记住账号与密码editor.putBoolean("remember_pwd", true);editor.putString("name", inputName);editor.putString("password", pwd);} else {//清空数据editor.clear();}editor.apply();

4、跳转至主界面WelcomeActivity.java

 WelcomeActivity.actionStart(MainActivity.this, inputName, pwd);

5、是否显示密码,默认不勾选显示密码

@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {//如果选中,显示密码editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());} else {//否则隐藏密码editText.setTransformationMethod(PasswordTransformationMethod.getInstance());}}

6、退出登录

cancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish();}});

7、登录成功后,用户名显示

//登录成功后,用户名显示private void showWelcome() {Bundle bundle = getIntent().getExtras();String name = bundle.getString("username");myWelcome.setText("\n" + name + " 您好!\n    欢迎光临");}

 8、获取当前的登录时间

private void showTime() {SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");Date curDate = new Date(System.currentTimeMillis());//获取当前时间String str = formatter.format(curDate);myTime.setText("您的登录时间为:"+str);}

三、页面代码展示

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/relativeLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/b03533fa828ba61e560f92ebd1da230f324e5901"tools:context=".MainActivity"><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="75dp"android:layout_marginEnd="32dp"android:hint="请输入用户名"app:layout_constraintBottom_toTopOf="@+id/editText2"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"android:maxLines="1"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.972" /><EditTextandroid:id="@+id/editText2"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="75dp"android:layout_marginEnd="32dp"android:hint="请输入密码"android:inputType="textPassword"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"android:maxLines="1"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.546" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="16dp"android:layout_marginBottom="16dp"android:text="用户登录"android:textSize="28sp"android:textStyle="bold"app:layout_constraintBottom_toTopOf="@+id/editText1"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.89" /><Buttonandroid:id="@+id/button_login"style="@style/AlertDialog.AppCompat.Light"android:layout_width="match_parent"android:layout_height="45dp"android:layout_gravity="center_horizontal"android:layout_marginLeft="30dp"android:layout_marginTop="32dp"android:layout_marginRight="30dp"android:backgroundTint="@android:color/holo_blue_dark"android:text="登录"app:layout_constraintEnd_toStartOf="@+id/button_quit"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/editText2" /><Buttonandroid:id="@+id/button_quit"style="@style/AlertDialog.AppCompat.Light"android:layout_width="match_parent"android:layout_height="45dp"android:layout_gravity="center_horizontal"android:layout_marginStart="30dp"android:layout_marginTop="76dp"android:layout_marginEnd="30dp"android:text="退出"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/editText2" /><CheckBoxandroid:id="@+id/checkBox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="显示密码"app:layout_constraintStart_toStartOf="@+id/button_login"app:layout_constraintTop_toBottomOf="@+id/editText2" /><CheckBoxandroid:id="@+id/checkBox2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="记住密码"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.3"app:layout_constraintStart_toStartOf="@+id/checkBox1"app:layout_constraintTop_toBottomOf="@+id/editText2" /><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="24dp"android:text="用户:"android:textSize="20sp"android:textStyle="bold"app:layout_constraintBottom_toTopOf="@+id/editText2"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="@+id/editText1"app:layout_constraintVertical_bias="0.37" /><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="24dp"android:text="密码:"android:textSize="20sp"android:textStyle="bold"app:layout_constraintBottom_toBottomOf="@+id/editText2"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView"app:layout_constraintVertical_bias="0.718" /></androidx.constraintlayout.widget.ConstraintLayout>

welcome.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent" android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="网上购书系统"android:id="@+id/textView"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:textSize="@dimen/abc_text_size_headline_material"android:textStyle="bold"android:textColor="@android:color/holo_blue_dark" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textAppearance="?android:attr/textAppearanceLarge"android:text="\n您好!\n欢迎光临"android:id="@+id/myLabelWelcome"android:layout_below="@+id/textView"android:layout_centerHorizontal="true"android:textSize="@dimen/abc_text_size_large_material"android:textColor="@android:color/holo_red_dark" /><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/imageView"android:src="@drawable/androidwelcomer"android:layout_below="@+id/myLabelWelcome"android:layout_centerHorizontal="true" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text=""android:id="@+id/myLabelTime"android:layout_below="@+id/textView"android:layout_centerHorizontal="true"android:textSize="@dimen/abc_text_size_medium_material" /><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="返      回"android:id="@+id/myButtonBack"android:layout_below="@+id/imageView"android:layout_centerHorizontal="true"android:textSize="@dimen/abc_text_size_large_material"android:onClick="onBackClick" />
</RelativeLayout>

五、结果展示

1、用户登录界面如下:

2、默认不存储用户信息,默认隐藏密码: 

 3、能通过勾选框记住密码、显示密码,以及账号密码正确或错误提示:

 4、点击登录后实现页面跳转进行主界面,主界面显示当前登录时间和用户:

5、项目综合演示 

源码下载:安卓开发实战之登录界面跳转-Android文档类资源-CSDN下载 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49220.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于swagger突然跳转登录页面

今天建了一个初始项目&#xff0c;引入swagger之后&#xff0c;启动调用&#xff0c;却总跳转到一个登录页面&#xff0c;手足无措 最后原因是导入了security的包&#xff0c;导致权限安全拦截 注释后运行成功&#xff0c;如果没有成功看一下dependencies 里面是否还存在secur…

Android--使用显式Intent,实现从登录界面到注册界面的跳转

//Activity_abaka.xml --------------注册界面<?xml version"1.0" encoding"utf-8"?><RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xml…

HTML实现登录后跳转到指定页面,不回退

最近开发页面&#xff0c;需要实现登录功能&#xff0c;成功后跳转到指定页面&#xff0c;之前尝试了好几种页面被跳转方法&#xff0c;但是都失败了&#xff0c;好在最终成功跳转&#xff0c;且浏览器不会后退&#xff0c;所以来记录一下&#xff1a; 最开始我使用的是window.…

登录页面,登录后跳转不成功

一、登录后跳转不成功&#xff0c;原因未知 二、分析①&#xff1a;404错误&#xff1a;用户操作资源不存在 分析②&#xff1a; action跳转地址为&#xff1a;http:/localhost:80/day0901/login 网页中登录后实际跳转地址为&#xff1a;http://localhost:8005/localho…

如何从短信链接打开跳转到微信App内

运营做了一个活动&#xff0c;准备发送短信推广出去&#xff0c;结果问题来了&#xff0c;用户接收到短信后&#xff0c;点击短信里的链接&#xff0c;默认是用的系统浏览器打开的&#xff0c;但我们的活动是用微信支付啊~~~微信支付啊~~~ 系统浏览器里不支持啊&#xff01;&a…

uniapp登录拦截器(未登录点击其他地方跳转登录页)

项目场景&#xff1a; 例如&#xff1a;客户要求用户在未登录的情况下&#xff0c;用户只可以在底部导航栏操作&#xff0c;点击其他的的功能都要跳转到登录页面。 uni.addInterceptor拦截器 是uni-app官网提供的拦截器&#xff0c;可以利用它来实现登录拦截器&#xff0c;用户…

【Android】用户登录界面功能实现:登陆跳转、退出

文章目录 用户登录界面功能实现&#xff1a;登陆跳转、退出♦ 回顾♦ 编写 MainActivity 实现功能登录功能效果退出弹框、连续点击返回退出 ♦ 设计 activity_my_tool.xml 展示工具界面♦ 编写 MyToolActivity 展示欢迎信息 用户登录界面功能实现&#xff1a;登陆跳转、退出 ♦…

登录成功不跳转的问题

一般而言&#xff0c;登录成功后页面会进行跳转&#xff0c;但我最进遇到一个问题&#xff0c;会导致原应该进行跳转的登录&#xff0c;在成功输入完账号密码以及验证码后&#xff0c;点击登录按钮&#xff0c;弹出登录成功的提示框&#xff0c;点击确定后&#xff0c;却没有跳…

GPT4.0写爬虫,连bug都没有

灵感来源 看到很多大佬在发这个&#xff0c;打开一看是个小光子&#xff0c;付费课程&#xff0c;所以我觉得写一个简单的免费教程。 简单示例 我们用一个简单的来介绍&#xff0c;比如爬取这位博主: https://blog.csdn.net/AOAIYI/article/details/130659496定义目标 下面…

怕抢不到演唱会门票?AI帮你做攻略!

最新消息称&#xff0c;随着演唱会门票销售的热度越来越高&#xff0c;越来越多的音乐爱好者开始使用人工智能&#xff08;AI&#xff09;来帮助他们抢到最热门的演唱会门票。 这是通过分析历史数据、线上队列和其他因素来制定最佳购票攻略。 据悉&#xff0c;一些智能购票工…

本机路由管理(公司内外网同时连接)

问题 我们平时办公室办公经常会使用到内网但是又想用外网查查资料&#xff0c;跟着下面教程你就可以实现&#xff01;解决办法 按住键盘 WIN建R键 &#xff0c;输入cmd&#xff1b;或者直接在左下角搜索命令提示符&#xff0c;右键以管理员身份运行 查询本电脑 IP 配置信息 设置…

chatGTP被美国多地高校封禁,近一半学生用其完成家庭作业或论文

火遍整个大江南北的chatGTP&#xff0c;被美国多市的高校封杀&#xff0c;甚至让纽约的教育系统也封杀了。新闻明确表示&#xff0c;美国多所高校学生&#xff0c;用chatGTP来完成家庭作业&#xff0c;以及论文。因为chat的算法&#xff0c;根本不会让你的文章重复出现&#xf…

香港银行卡别任性~最近民生港卡很多被发质询邮件的

自从我上次写了文章→ 您有一封民生香港银行卡的质询邮件待处理 之后 又陆续遇到了好几个人说收到质询邮件的 大多是跟别人互转的&#xff0c;当然也有个别不一样的。 1、案例A&#xff1a;入金微牛美股证券账户收到民生香港的质询邮件 这个小伙伴在入金微牛美股时候收到质询…

香港港铁可用支付宝了!还有什么地方是支付宝去不了的?

去香港旅游&#xff0c;港铁&#xff08;也就是我们说的地铁&#xff09;是很多人会选择的交通工具&#xff0c;而为了让大家更享受方便快捷的出游&#xff0c;香港港铁可以刷支付宝啦&#xff01; 近日&#xff0c;香港港铁与支付宝达成合作&#xff0c;宣告将正式接入支付宝和…

我香港账户的钱怎么几天了还没到账?

经常有人来问:“我国外的客户给我香港公司账户汇了一笔货款, 不知道什么原因,已经几天了还没到账。” 遇到这种事情难免让人心烦,那我们又应该如何应对呢? 首先我们了解一下什么是跨境汇款: 跨境汇款,即电汇(Telegraphic Transfer,简称T/T),是指汇出行应汇款人的…

Adyen海外支付 - 直付

官方文档 // Set your X-API-KEY with the API key from the Customer Area. String xApiKey "YOUR_X-API-KEY"; Client client new Client(xApiKey,Environment.TEST); Checkout checkout new Checkout(client); PaymentsRequest paymentsRequest new PaymentsR…

台湾PayPal大陆手机号注册and学生Visa信用卡办理

原因&#xff1a;主要由于看到任天堂switch上的数字版游戏太香了&#xff0c;于是就打算做个墨西哥人。信用卡办理和台湾paypal的注册上都踩了好多的坑。所以打算捣鼓个switch绑定的整体流程&#xff0c;供大家参考。 这里写目录标题 台湾PayPal注册PayPal 绑定switch工行VISA…

这些国外支付方式,你都听过或用过吗?

国内大多跨境商户&#xff08;外贸&#xff0c;虚拟产品&#xff0c;游戏等&#xff09;&#xff0c;无论是在跨境平台上还是有自己的独立外贸网店&#xff0c;大概都用过Paypal , 西联或信用卡&#xff0c;毕竟它们是全球范围的在线支付方式。 但是据2016年paypal的年报显示&…

谷歌支付:无法购买您要买的商品。

google play在测试轨道添加测试账户&#xff0c;并且支付许可也添加了测试账户&#xff0c;但谷歌支付报错&#xff1a; 解决办法&#xff1a; 测试账户还要点击邀请链接接受&#xff1b;

台湾本地支付GASH钱包及点卡详细介绍

GASH是台湾当地游戏玩家比较常用支付方式之一&#xff0c;过去它是玩家最熟悉的付费代名词&#xff1a;GASH&#xff08;Game Cash&#xff09;&#xff1b;现在GASH不只提供玩家付费的服务&#xff0c;更全面性的结合数位娱乐内容以及优质而强大的使用功能&#xff0c;让用户付…