草庐IT

AndroidStudio制作登录窗口判断输入密码的对错(窗口跳转)

Mi_2021 2023-04-08 原文

目录

(1)三个基本控件

1、标签控件(TextView)

类层次继承图

​编辑

 常用属性

3、按钮控件(Button)

类层次继承图

常用属性

(2)具体案例

1、创建安卓应用

准备背景图片

3、基于模板创建登录窗口

4、登录窗口布局资源文件 

5、主窗口布局资源文件

6、安卓项目清单文件

7、字符串资源文件

8、实现登录窗口功能

9、启动应用,查看效果 


(1)三个基本控件

1、标签控件(TextView)

类层次继承图

  常用属性

属性含义
text文本内容
textSize文本字号,单位sp
textColor文本颜色,#ff0000 - 红色
layout_height高度,单位:dp (wrap_content, match_parent)
layout_weight宽度,单位:dp (wrap_content, match_parent)

3、按钮控件(Button)

类层次继承图

 

 

常用属性

属性含义
text文本内容
textSize文本字号,单位:sp
textColor文本颜色,#ff0000 - 红色
background背景颜色或背景图片
layout_height高度,单位:dp (wrap_content, match_parent)
layout_weight宽度,单位:dp (wrap_content, match_parent)

 

 EditText与Button同属TexView

(2)具体案例

1、创建安卓应用

基于Empty Activity模板创建安卓应用

 

配置项目信息

 

单击【Finish】按钮

 

准备背景图片

将背景图片backgrue.jpg拷贝到drawable目录

 

3、基于模板创建登录窗口

基于Empty Activity模板创建LoginActivity,要生成对应的布局文件,并且要设置为启动Activity

 

 单击【Finish】按钮

 

4、登录窗口布局资源文件 

打开登录窗口布局资源文件activity_login.xml

 

 将约束布局改为线性布局,并设置相关属性

 

 添加用户登录标签

 

添加输入用户名的标签和编辑框

 

 

添加输入密码的标签和编辑框

 

 添加登录按钮和取消按钮

 

5、主窗口布局资源文件

打开主窗口布局资源文件activity_main.xml

 

 

 改为线性布局并增加一部分元素,如下图:

 

6、安卓项目清单文件

打开AndroidManifest.xml

 

删除MainAcivity元素包含的意图过滤器

 

删完后

 

7、字符串资源文件

在字符串资源文件strings.xml里定义所需字符串变量

 

 

 

 

8、实现登录窗口功能

打开登录窗口LoginActivity

 

 

声明两个编辑框变量和两个按钮变量

 

 

通过findViewById()方法获取控件实例

 

 

登录按钮事件处理,给登录按钮注册单击监听器,实现监听器接口,并且编写事件处理代码

首先获取用户输入的用户名和密码,然后判断是否正确,弹出不同的吐司

 

 

取消按钮事件处理给取消按钮注册单击监听器,实现监听器接口,并且编写事件处理代码,单击取消按钮,关闭登录窗口

 

9、启动应用,查看效果 

 

输入账号和密码成功时

 

 输入失败时

 

4.利用意图启动组件

1、使用显式意图启动组件

假设有两个窗口:FirstActivity和SecondActivity

方式一

方式二

 方式三

2、使用隐式意图启动组件

(1)在Java代码创建隐式意图

Intent intent = new Intent();
intent.setAction("net.hw.ACTION_NEXT");
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);

(2)在项目清单文件里设置意图过滤器

<activity android:name="net.hw.SecondActivity">
    <intent-filter>
       <action android:name="net.hw.ACTION_NEXT" />
       <category android:name="android.intent.category.DEFAULT" />
   </intent-filter>
</activity>

5、利用意图传递数据

1、传递单项数据

在起始组件通过意图传递单项数据

在目标组件通过意图获取单项数据

 

2、传递数据包

(1)在起始组件通过意图携带数据包

(2)在目标组件通过意图获取数据包 

 

 

6.窗口跳转

1、修改登录窗口代码(数据单项传递)

 

2、修改主窗口代码

接收登录窗口通过意图传递的数据并显示在标签里

 

 3、启动应用,查看效果

 

 (1)输入用户名与密码错误的情况

 

(1)输入用户名与密码正确的情况

 

单击登录

 

 2.修改登录窗口代码(数据打包传递)

将多项数据封装成数据包,通过意图传递数据包

 

修改主窗口功能代码

通过意图获取数据包,然后从数据包里按键取得各项数据

 

启动应用,测试效果

 

 单击登录

 

 完成窗口跳转

 

有关AndroidStudio制作登录窗口判断输入密码的对错(窗口跳转)的更多相关文章

  1. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  2. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  3. ruby - 鸭子输入字符串、符号和数组的优雅方式? - 2

    这是针对我无法破坏的现有公共(public)API,但我确实希望对其进行扩展。目前,该方法采用字符串或符号或任何其他在作为第一个参数传递给send时有意义的内容我想添加发送字符串、符号等列表的功能。我可以只使用is_a吗?数组,但还有其他发送列表的方法,这不是很像ruby​​。我将调用列表中的map,所以第一个倾向是使用respond_to?:map。但是字符串也会响应:map,所以这行不通。 最佳答案 如何将它们全部视为数组?String的行为与仅包含String的Array相同:deffoo(obj,arg)[*arg].eac

  4. ruby - (Ruby || Python) 窗口管理器 - 2

    我想用这两种语言中的任何一种(最好是ruby​​)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生

  5. ruby-on-rails - 在 Rails 中自定义 "Password confirmation doesn' t 匹配密码 - 2

    有没有办法在Rails中为确认字段自定义消息?例如在设计中我必须输入密码和password_confirmation并且错误消息是:Passwordconfirmationdoesn'tmatchPassword我可以更改事件记录语言环境消息(“不匹配”),但它会在该语言环境消息的开头和结尾输出密码确认和密码,所以我得到如下内容:"PasswordconfirmationmustmatchPassword"有没有办法将其更改为不同的字符串?PasswordconfirmationandPasswordmustmatch.编辑另一件事是拥有完全自定义的消息,例如:'Setpassword

  6. ruby - ruby 中的同一个程序如何接受来自用户的输入以及命令行参数 - 2

    我的ruby​​脚本从命令行参数获取某些输入。它检查是否缺少任何命令行参数,然后提示用户输入。但是我无法使用gets从用户那里获得输入。示例代码:test.rbname=""ARGV.eachdo|a|ifa.include?('-n')name=aputs"Argument:#{a}"endendifname==""puts"entername:"name=getsputsnameend运行脚本:rubytest.rbraghav-k错误结果:test.rb:6:in`gets':Nosuchfileordirectory-raghav-k(Errno::ENOENT)fromtes

  7. ruby-on-rails - 我如何比较 'Bcrypt' Gem解密的密码和加密的密码 - 2

    我正在尝试对某些帖子的评论使用简单的身份验证。用户使用即时ID和密码输入评论我使用“bcrypt”gem将密码存储在数据库中。在comments_controller.rb中像这样@comment=Comment.new(comment_params)bcrypted_pwd=BCrypt::Password.create(@comment.user_pwd)@comment.user_pwd=bcrypted_pwd当用户想要删除他们的评论时,我使用data-confirm-modalgem来确认数据在这部分,我必须解密用户输入的密码以与数据库中的加密密码进行比较我怎样才能解密密码,

  8. ruby-on-rails - 为什么用户必须输入 7 位数的 Twitter PIN 才能授予我的应用程序访问权限? - 2

    我正在为我的用户实现一些ruby​​onrails代码推特内容。我正在创建正确的oauth链接...类似http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv但在我的测试帐户授予对twitter的访问权限后,它会弹出一个页面,上面写着“您已成功授予对.我不知道用户应该在哪里输入此PIN以及他们为什么必须这样做。我认为这不是必要的步骤。Twitter应该将用户重定向到我在应用程序设置中提供的回调URL。有谁知道为什么会这样?更新我找到了thisarticle声明我需

  9. ruby-on-rails - 如何在记录更新期间从验证中排除密码字段? ( rails 3.0.4, ruby 1.9.2) - 2

    我有一个允许更新用户记录的表单。它包含:password和:password_confirmation字段,但我不希望在数据库中已存储加密密码时对它们运行验证。View文件中的字段:'ConfirmPassword'%>在互联网上搜索时,我发现了这段代码,我认为它是针对以前版本的Ruby/Rails的。(我会把它放在我的用户模型中。)validates_presence_of:password,:on=>create由于我的用户模型中密码验证的语法不同(如下),我对我需要的语法感到困惑。validates:password,:presence=>true,:confirmation=>

  10. ruby-on-rails - Devise 在更改密码后注销用户 - 2

    我正在使用devise,当用户更改密码时,网站会将他们注销。我在网上读到,添加sign_in可以解决问题但不起作用,并且当密码更改时用户会注销。这是我的代码if@user.errors[:base].empty?and@user.update_attributes(params[:user])sign_in(current_user,:bypass=>true)flash[:success]="Useraccounthasbeensuccessfullyupdated"redirect_toedit_user_path(params[:site_id],@user)elserender

随机推荐