Android开发——实现简易登录功能

news2024/11/29 4:50:02

登录界面(mainActivity.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"  
    android:layout_height="match_parent"
    android:id="@+id/wjh"  设置id,给mainActivity.java文件调用。
    android:background="@drawable/picture"
    android:orientation="vertical">


    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="143dp"
        android:text="@string/login"
        android:textSize="100sp"
        android:textColor="@color/black"
        android:gravity="center">
    </TextView>
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="570dp"
        android:orientation="vertical"> 设置布局竖直排列

        <Space
            android:layout_width="match_parent"
            android:layout_height="100dp" />
        <EditText
            android:id="@+id/editTextText2" 
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="text"
            android:hint="@string/username"
            android:textColor="@color/black"
            android:textStyle="bold"
            android:layout_gravity="center"
            android:gravity="center"
            />

        <Space
            android:layout_width="match_parent"
            android:layout_height="100dp" />

        <EditText
            android:id="@+id/editTextTextPassword6"
            android:layout_width="300sp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:textStyle="bold"
            android:inputType="textPassword"
            android:hint="@string/password"
            android:gravity="center"
            android:layout_gravity="center"
            android:textSize="20sp"
            />

        <Space
            android:layout_width="match_parent"
            android:layout_height="100dp" />

        <Button
            android:id="@+id/button"
            android:layout_width="150dp"
            android:layout_height="83dp"
            android:layout_gravity="center"
            android:text="@string/button"
            android:onClick="Jump"
            android:textColor="@color/cardview_light_background"
            android:background="@drawable/p2"
            />

    </LinearLayout>


</LinearLayout>

效果图

 

跳转界面(activity_main2.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:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/success"
        android:textColor="@color/black"
        android:textStyle="bold"
        android:textSize="60sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:text="@string/success"
        android:textColor="@color/black"
        android:textSize="40sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/textView1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.497"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1.0" />

    <Space
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        app:layout_constraintBottom_toTopOf="@+id/textView"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_editor_absoluteX="199dp" />


</androidx.constraintlayout.widget.ConstraintLayout>

如何将两个activity结合 

编辑mainActivity2.java文件

package com.example.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;


onCreate() 方法是 Android 活动(Activity)的生命周期方法之一,它在活动被创建时调用。其主要作用是初始化活动的用户界面,设置布局内容和相关资源,并执行一些必要的初始化操作。
在 onCreate() 方法中,通常会执行以下操作:
1.设置布局:调用 setContentView() 方法设置活动的布局文件,即指定要在屏幕上显示的用户界面。
2.获取 Intent 数据:如果该活动需要从其他活动接收数据,通常会通过 getIntent() 方法获取传递过来的 Intent 对象,并从中提取所需的数据。
3.初始化界面元素:通过调用 findViewById() 方法初始化界面中的各种 UI 元素,例如按钮、文本框、图像视图等。
4.设置事件监听器:为界面元素设置事件监听器,以便在用户与之交互时执行相应的操作。
5.执行其他初始化操作:执行其他必要的初始化操作,例如数据加载、网络请求、权限检查等


public class mainActivity2 extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2); 
        引入mainActivity2.xml,使得两个文件相互关联。

        Intent intent = getIntent();
        intent用来存放数据,进行对数据的操作,
        在 Android 中,Intent 是用于在不同组件之间传递数据的对象
        
        String userInput = intent.getStringExtra("userInput");
        取到与自己通信的activity传递来的数据,intent内部存储数据
        采用的是key-value结构。此时的key是userInput

        TextView textView = findViewById(R.id.textView);
        与自己的activity.xml的文本框绑定
        
        textView.setText(userInput);
        将文本设置进文本框
    }
}

AndroidManifest.xml中注册新加的activity

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

activity_main.xml 

<Button
            android:id="@+id/button"
            android:layout_width="150dp"
            android:layout_height="83dp"
            android:layout_gravity="center"
            android:text="@string/button"
            android:onClick="Jump" 注册Jump方法,在java文件中定义实现
            android:textColor="@color/cardview_light_background"
            android:background="@drawable/p2"
            />

mainActivity.java (实现点击按钮的方法)

    public void Jump(View view){
     
        EditText editText = findViewById(R.id.editTextText2);
        
        String userInput = editText.getText().toString();
        取到main_activity.xml中的输入的用户名一栏的数据

        Intent intent = new Intent(this, mainActivity2.class);
        创建intent对象进行数据交互
        
        intent.putExtra("userInput", userInput);
        发送数据,设置key值为userInput,value为取到的数据
        
        startActivity(intent);
        执行
    }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动手写sql 《牛客网80道sql》

第1章&#xff1a;SQL编写基础逻辑和常见问题 基础逻辑 SELECT语句: 选择数据表中的列。FROM语句: 指定查询将要从哪个表中检索数据。WHERE语句: 过滤条件&#xff0c;用于提取满足特定条件的记录。GROUP BY语句: 对结果进行分组。HAVING语句: 对分组后的结果进行条件过滤。O…

TRIZ理论下攀爬机器人的创新设计与研究

随着科技的飞速发展&#xff0c;机器人技术已广泛应用于各个领域。特别是在复杂环境下的作业&#xff0c;如灾难救援、太空探测等&#xff0c;对机器人的移动能力和适应性提出了更高要求。在这样的背景下&#xff0c;基于TRIZ理论的攀爬机器人设计与研究应运而生&#xff0c;它…

.net9 AOT编绎生成标准DLL,输出API函数教程-中国首创

1&#xff0c;安装VS2022预览版&#xff08;Visual Studio Preview&#xff09; https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview 2&#xff0c;选择安装组件&#xff1a;使用C的桌面开发 和 .NET桌面开发 ------------------------------------- …

ElasticSearch有账号密码时: kibana配置

上一篇文章我们介绍过ElasticSearch关闭账号密码的的方式&#xff1a; config/elasticsearch.yml文件中 xpack.security.enabled: false 当我们关闭 账号密码&#xff0c;kibana是可以直接访问ElasticSearch的。 真实项目中&#xff0c;我们是不允许数据库裸跑的&#xff0c;所…

Windows平台下的Oracle 19c补丁升级

Windows平台下的Oracle 19c补丁升级 文章目录 Windows平台下的Oracle 19c补丁升级第一章 概述第二章 安装前备份2.1 软件目录备份2.2 权限备份2.3 备份数据库 第三章 安装前检查3.1 查看数据库版本3.2 升级opatch版本 第四章 安装补丁4.1 设置环境变量4.2 关闭oracle相关服务4.…

【R语言】概率密度图

概率密度图是用来表示连续型数据的分布情况的一种图形化方法。它通过在数据的取值范围内绘制一条曲线来描述数据的分布情况&#xff0c;曲线下的面积代表了在该范围内观察到某一数值的概率。具体来说&#xff0c;对于给定的连续型数据&#xff0c;概率密度图会使用核密度估计&a…

工业级3D可视化工具HOOPS Visualize, 快速构建移动端和PC端工程应用程序!

HOOPS Visualize是一款强大的工业级3D渲染引擎&#xff0c;帮助您打造出众的工程应用程序。HOOPS Visualize的基石是图形内核&#xff0c;这是一种全功能的&#xff0c;以工程为重点的场景图技术&#xff0c;我们称为Core Graphics。Core Graphics集成到一个框架中&#xff0c;…

保护视力,从 CareUEyes 开始 —— 你的电脑护眼小助手

在数字化时代&#xff0c;我们的眼睛比以往任何时候都更频繁地面对屏幕。长时间盯着电脑工作&#xff0c;不仅影响视力&#xff0c;还可能导致眼疲劳和不适。今天&#xff0c;我要向大家推荐一款专为电脑用户设计的护眼软件——CareUEyes。 CareUEyes&#xff1a;你的视力守护者…

IntelliJ IDEA配置类注释模板和方法注释模板

配置类注释模板和方法注释模板 IDEA模板预定义变量类注释模方法注释模板方法参数优化 IDEA模板 在IDEA中&#xff0c;自带的注释模板可能不满足自身需求或者不满意&#xff0c;此时可以通过配置IDEA模板来解决。 预定义变量 内置模板是可编辑的&#xff0c;除了静态文本、代码和…

你的RPCvs佬的RPC

一、课程目标 了解常见系统库的hook了解frida_rpc 二、工具 教程Demo(更新)jadx-guiVS CodejebIDLE 三、课程内容 1.Hook_Libart libart.so: 在 Android 5.0&#xff08;Lollipop&#xff09;及更高版本中&#xff0c;libart.so 是 Android 运行时&#xff08;ART&#x…

STM32 HAL库之使用8080时序在LCD上实现任意位置画点和读点以及字符显示

必要知识 本实验用的是240*320屏幕 LCD的驱动原理&#xff1a; LCD屏&#xff08;MCU接口&#xff09;驱动的核心是&#xff1a;驱动LCD驱动芯片 LCD驱动基本知识: 1&#xff0c;8080时序&#xff0c;LCD驱动芯片一般使用8080时序控制&#xff0c;实现数据写入/读取 2&…

Photoshop 2024 (ps) v25.6中文 强大的图像处理软件 mac/win

Photoshop 2024 for Mac是一款强大的图像处理软件&#xff0c;专为Mac用户设计。它继承了Adobe Photoshop一贯的优秀功能&#xff0c;并进一步提升了性能和稳定性。 Mac版Photoshop 2024 (ps)v25.6中文激活版下载 win版Photoshop 2024 (ps)v25.6直装版下载 无论是专业的设计师还…

Maven多模块管理

Maven多模块管理 在了解怎么进行Maven多模块管理之前&#xff0c;先聊聊为什么要进行Maven多模块管理 为什么要Maven多模块管理&#xff1f; 在传统的单体架构开发下&#xff0c;一个项目中的依赖只需要使用一个pom.xml文件管理即可。但是随着微服务的流行&#xff0c;将原有…

【每日刷题】Day17

【每日刷题】Day17 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 2. 162. 寻找峰值 - 力扣…

详解运算符重载,赋值运算符重载,++运算符重载

目录 前言 运算符重载 概念 目的 写法 调用 注意事项 详解注意事项 运算符重载成全局性的弊端 类中隐含的this指针 赋值运算符重载 赋值运算符重载格式 注意点 明晰赋值运算符重载函数的调用 连续赋值 传引用与传值返回 默认赋值运算符重载 前置和后置重载 前…

使用 Flask-WTF 防止跨站请求攻击(CSRF):一份全面指南

在构建 Web 应用时&#xff0c;防止跨站请求攻击&#xff08;CSRF&#xff09;是一项至关重要的安全措施。CSRF 攻击允许恶意网站执行未经授权的操作&#xff0c;如用户身份验证或数据篡改。幸运的是&#xff0c;Flask-WTF 库为我们提供了强大的 CSRF 保护功能。在本篇博客中&a…

【模拟】Leetcode 数青蛙

题目讲解 1419. 数青蛙 算法讲解 class Solution { public:int minNumberOfFrogs(string croakOfFrogs) {string target "croak";int n target.size();//保存target每个字符的位置indexunordered_map<char, int>index;for(int i 0; i < n; i)index[tar…

Day08React——第八天

useEffect 概念&#xff1a;useEffect 是一个 React Hook 函数&#xff0c;用于在React组件中创建不是由事件引起而是由渲染本身引起的操作&#xff0c;比如发送AJAx请求&#xff0c;更改daom等等 需求&#xff1a;在组件渲染完毕后&#xff0c;立刻从服务器获取频道列表数据…

什么是Rust语言?探索安全系统编程的未来

&#x1f680; 什么是Rust语言&#xff1f;探索安全系统编程的未来 文章目录 &#x1f680; 什么是Rust语言&#xff1f;探索安全系统编程的未来摘要引言正文&#x1f4d8; Rust语言简介&#x1f31f; 发展历程&#x1f3af; Rust的技术意义和优势&#x1f4e6; Rust解决的问题…

HarmonyOS开发实例:【分布式新闻客户端】

介绍 本篇Codelab基于栅格布局、设备管理和多端协同&#xff0c;实现一次开发&#xff0c;多端部署的分布式新闻客户端页面。主要包含以下功能&#xff1a; 展示新闻列表以及左右滑动切换新闻Tab。点击新闻展示新闻详情页。点击新闻详情页底部的分享按钮&#xff0c;发现周边…