zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android 基础课堂 - Lesson.6 - 如果登录成功了

Android基础 登录 成功 如果 课堂
2023-09-14 09:00:28 时间
上周我们已经写完登录界面啦,也测试过登录成功和登录失败的情况了,回想一下我们在登录成功和登录失败的时候,分别做了啥呢,没错,成功和失败我们都是弹出一个toast告诉用户登录失败了或者登录成功了,然而现实的场景是什么样的呢。 在现实场景中,如果我们登录失败了,那么弹出一个toast来告知用户,这个是没有问题的,那么登录成功了呢?当然是不能弹
Android 基础课堂
上周我们已经写完登录界面啦,也测试过登录成功和登录失败的情况了,回想一下我们在登录成功和登录失败的时候,分别做了啥呢,没错,成功和失败我们都是弹出一个toast告诉用户登录失败了或者登录成功了,然而现实的场景是什么样的呢。

在现实场景中,如果我们登录失败了,那么弹出一个toast来告知用户,这个是没有问题的,那么登录成功了呢?当然是不能弹出一个toast然后啥都不做的,正常情况下,我们都应该跳转到一个另外的页面,让用户进入到我们的APP,好,本周我们就将继续推移下去,看看登录成功的时候该做些什么。

第六课、如果登录成功了

一、场景分析

现在的APP,一般有以下两种场景:

① 刚一进入APP,就到了登录页面,用户必须通过登录才能进入到APP,才能浏览我们APP里的其他页面

② 刚一进入APP会先到达我们的主页面,用户可以对APP内的一部分页面进行浏览,而有些页面的浏览是需要登录的,当用户点击这些页面时,会唤起登录界面,让用户进行登录。一般这样的APP在个人中心也会有一个登录按钮的,通过点击登录按钮可以唤起登录界面

以上两种情况其实总体上没有太大的区别,第一种是先有登录页面,成功后唤起一个新的页面,第二种是由一个其他页面唤起登录界面,登录成功时候,做一些需要的处理然后把登录页面杀掉,这里我们主要就第一种情况进行讨论,了解了这种情况那么第二种情况自然也就能清楚的了解了

所以就第一种情况而言,就是我们上节课做的,先进入到了一个登录页面,然后让用户进行登录,用户登录失败的时候,弹出一个toast告知用户,用户登录成功的时候,我们也可以弹出一个toast告知用户登录成功了,但是只是弹出一个toast是不行的,如果登录成功了还是在登录页面,那我们登录的意义是什么,用户就只能在一个登录页面登录着玩了,所以当用户登录成功的时候,我们还需要进行页面跳转的处理,将页面跳转到我们希望用户进入到的首页面,所以,该课我们主要讲下两个activity跳转相关的内容。

---

二、Activity的几种跳转方式

讲到Activity的跳转,我们需要先来了解下Intent,这是跳转中最重要的东西,Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息, ① 显示调用方法:它的简单使用如下

Intent intent=new Intent(this,OtherActivity.class); //方法1 startActivity(intent2);

以上是Intent在跳转Activity时最简单的操作在一个Activity中通过startActivity()来跳转到另外一个Activity,此时我们就能成功的从登录页面跳转到一个我们想要跳转到的页面了,由于是从登录页面跳转的,所以在我们调用startActivity()之后,需要再调用下LoginActivity.this.finish()把登录页面销毁掉,不然用户点击返回按钮会回到登录页面,这是不合理的


关于Intent的相关知识还有很多,它的作用非常大,感兴趣的话可以对它专门了解下


② 隐式调用方法(只要action、category、data和要跳转到的Activity在AndroidManifest.xml中设置的匹配就OK)

TB1WDrlNpXXXXX0XXXXXXXXXXXX-420-109.png

既然我们已经讲了页面跳转相关的内容了,那么数据传递的内容也就在此一起提一下,数据传递是什么概念呢,举个最直接的场景吧,在登录页面,如果我们是使用用户名进行登录的,那么如果要实现登录成功后,跳转到新页面之后,在底部显示一个欢迎语,欢迎内容为“hello,xxxx”,这个xxxx即为该用户的用户名,那么我们是不是需要将登录页面的用户名传递到我们新唤醒的页面用于显示,这时候,在跳转Activity的时候,就需要连带传输数据了,那么我们就来看看数据的传递,我们主要看看我们最常用的方法,即使用Bundle进行传值


Bundle主要用于传递数据;它保存的数据,是以key-value(键值对)的形式存在的,我们经常使用Bundle在Activity之间传递数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelable接口,简单用法如下

Intent intent=new Intent(this, OtherActivity.class); intent.setClass(); Bundle bundle = new Bundle(); bundle.putString("标记", "放入数据"); intent.putExtras(bundle);

startActivity(intent);

通过以上步骤,我们就可以将Bundle传递到跳转到的Activity里了,自然Bundle里的数据也就一起传递过去了,那在第二个Activity里该怎么接受数据呢,可以通过getIntent().getExtras().get("key");来获取到指定key的数据,这个key就是之前设置在Bundle里面的,简单是数据传递就是这样的,甚至可以不用Bundle而直接用Intent来传递数据,还可以使用其他方法来传递,都可以通过实践来尝试看看

---

好了,到这我们已经完成登录成功后的跳转处理及数据传递了,关于跳转和数据传递的知识还有太多太多,不可能通过这一次全都涵盖,可以考虑将他们更完整的过一遍,这将会使我们在今后遇到这方面问题时更加游刃有余,本周的基础课堂就到这啦,让我们下周再见~


Android基础入门教程 Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
Android基础 | 关于Activity你应该明白的一切 Activity 作为一个老生常谈的话题,它是我们刚接触Android开发就遇到,虽然已有一段时间开发经验,但谈起完全搞懂Activity相关,不敢妄言,故结合个人理解及书籍参考,简单总结一下 Activity基础相关知识,其中也留出了一些有意思的问题。
移动应用程序设计基础——Android环境构建与Activity生命周期 安装智能手机开发相关软件平台,并在此基础上测试Activity的生命周期过程。 5、 完成智能手机开发平台安装、以及相关配置; 6、 并实现Hello World; 7、 添加Log日志,通过Log日志验证Ac 1、 安装JAVA JDK 2、 安装Android Studio,熟悉AS的基本操作,改变AS的字体,显示方式;截图和文字说明。 3、 建立新项目,实现Hello World。说明各个文件的作用,以及各个关键语句的作用或含义,给出程序的运行结果。 4、 设置生命周期的Log日志,分别执行相关操作