移动应用开发:Android Studio实现简易注册页(数据存放以SharedPreferences形式)

embedded/2024/11/22 18:42:07/

文章目录

  • 简介
  • 步骤 1:创建新活动
  • 步骤 2:设计UI布局
  • 步骤 3:编写活动代码
    • 注意事项
  • 步骤 4:运行应用程序
  • 步骤 5:查看存放数据
    • 注意事项


简介

使用Android Studio编写的简单Android 注册应用程序,该应用程序包含一个注册界面,具有账号和密码两个文本框,以及退出和提交按钮。按下退出按钮将退出整个程序,按下提交按钮将输入的账号和密码以SharedPreferences的形式存放在模拟器中。

UI界面效果图
在这里插入图片描述

好的,以下是一个使用Android Studio编写的简单Android应用程序示例,该应用程序包含一个登录界面,具有账号和密码两个文本框,以及退出和提交按钮。单击退出按钮将退出整个程序,按下提交按钮将根据给定的账号和密码显示相应的消息。

步骤 1:创建新活动

  1. 右击“app”,选择“New”——“Activity”——选择“Empty Activity”。
    在这里插入图片描述

  2. 配置应用名称、包名、保存位置等,然后点击“Finish”。
    在这里插入图片描述

步骤 2:设计UI布局

打开res/layout/activity_register.xml文件,并添加以下内容以设计登录界面:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="16dp"tools:context=".RegisterActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="120dp"android:layout_marginBottom="50dp"android:layout_gravity="center"android:text="注册页"android:textSize="35dp"android:textStyle="bold" /><LinearLayoutandroid:layout_gravity="center"android:layout_width="300dp"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="账号:"android:textSize="20dp"android:textStyle="bold" /><EditTextandroid:id="@+id/etUsername"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入账号"android:inputType="text" /></LinearLayout><LinearLayoutandroid:layout_gravity="center"android:layout_width="300dp"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:text="密码:"android:textSize="20dp"android:textStyle="bold" /><EditTextandroid:id="@+id/etPassword"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入密码"android:inputType="textPassword" /></LinearLayout><LinearLayoutandroid:layout_width="380dp"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/btnSubmit"android:layout_width="80dp"android:layout_height="50dp"android:layout_marginTop="16dp"android:layout_marginLeft="70dp"android:text="提交" /><Buttonandroid:id="@+id/btnExit"android:layout_width="80dp"android:layout_height="50dp"android:layout_marginTop="16dp"android:layout_marginLeft="50dp"android:text="退出" /></LinearLayout><TextViewandroid:id="@+id/tvMessage"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="16dp"android:gravity="center"android:visibility="gone" /></LinearLayout>

步骤 3:编写活动代码

打开RegisterActivity.java文件,并添加以下代码:

package com.example.mycontacts;import androidx.appcompat.app.AppCompatActivity;import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;public class RegisterActivity extends AppCompatActivity {private EditText etUsername;private EditText etPassword;private Button btnSubmit;private Button btnExit;private TextView tvMessage;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);etUsername = findViewById(R.id.etUsername);etPassword = findViewById(R.id.etPassword);btnSubmit = findViewById(R.id.btnSubmit);btnExit = findViewById(R.id.btnExit);tvMessage = findViewById(R.id.tvMessage);btnSubmit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String username = etUsername.getText().toString();String password = etPassword.getText().toString();// 保存账号和密码到SharedPreferencesSharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();editor.putString("user",username);editor.putString("pass",password);editor.apply();}});btnExit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish(); // 关闭当前活动,退出应用(如果只有一个活动)// 如果需要完全退出应用(包括所有活动),可以使用以下代码// System.exit(0);}});}
}

注意事项

  • System.exit(0); 可以完全退出应用程序,包括所有活动,但在Android中通常不推荐使用,因为Android有自己的活动生命周期管理。
  • finish(); 只关闭当前活动。如果这是应用程序的唯一活动,那么它将退出应用程序。

步骤 4:运行应用程序

  1. 启动Android模拟器。

  2. 点击Android Studio工具栏上的“Run”按钮(绿色三角形)。
    在这里插入图片描述

  3. 在设备或模拟器上查看应用程序,输入账号和密码并点击按钮进行测试。
    在这里插入图片描述

步骤 5:查看存放数据

  1. 在模拟器管理窗口下,单击右下角的Device File Explore,打开模拟器文件管理器,进入到data/data目录。
    在这里插入图片描述

  2. 找到模拟器目录data/data/下与项目包名相同的目录。
    在这里插入图片描述

  3. 在目录:/data/data/com.example.mycontacts/shared_prefs/data.xml;即可查看文件()。
    在这里插入图片描述

注意事项

  • 如果无法直接打开data.xml文件,是因为没有权限,此时关闭Android Studio程序,以管理员方式启动Android Studio即可正常打开了。

http://www.ppmy.cn/embedded/139676.html

相关文章

云原生学习

1、云原生学习 文章目录 1、云原生学习1. 介绍2. Docker容器化 1. 介绍 什么是云原生&#xff1f;原生指使用JAVA等语言编写的项目&#xff0c;云是指将项目部署到云服务器上云平台&#xff1a;公有云、私有云 本地平台是指直接部署在自己计算机&#xff0c;而开发的应用一定要…

小试牛刀-Anchor安装和基础测试

目录 一、编写目的 二、安装步骤 2.1 安装Rust 设置rustup镜像 安装Rust 2.2 安装node.js 2.3 安装Solana-CLI 2.4 安装Anchor CLI 三、Program测试 四、可能出现的问题 Welcome to Code Blocks blog 本篇文章主要介绍了 [Anchor安装和基础测试] 博主广交技术好友&…

pnpm : 无法加载文件 D:\Tool\environment\NodeAndNvm\node\pnpm.ps1,因为在此系统上禁止运行脚本。

问题 在终端(cmd)输入 pnpm -v&#xff0c;报错如下 pnpm : 无法加载文件 D:\Tool\environment\NodeAndNvm\node\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本。解决 1. 在终端输入get-ExecutionPolicy(查看执行策略/权限) 输出如下&#xff1a; # (受限的) Restricte…

【PGCCC】Postgresql 缓存替换算法

前言 postgresql 使用缓存来作为与磁盘读写的中间层&#xff0c;但是缓存的大小是有限的&#xff0c;当缓存不够用时需要剔除一些不常用的。但是如何高效的选出那些需要剔除的缓存呢&#xff0c;postgresql 针对不同的应用场景&#xff0c;提供了简单高效的不同算法。 替换算…

pcap_set_buffer_size()函数

功能简介 pcap_set_buffer_size()函数主要用于设置数据包捕获的内核缓冲区大小。这个缓冲区是操作系统内核用于临时存储捕获到的数据包的区域。通过调整缓冲区大小&#xff0c;可以在一定程度上优化数据包捕获的性能&#xff0c;特别是在高流量网络环境或者需要长时间捕获数据包…

【网络安全】SSL(一):为什么需要 Keyless SSL?

未经许可,不得转载。 文章目录 背景正文背景 随着网站和应用程序向云端迁移,使用 HTTPS(SSL/TLS)加密流量已成为行业标准。然而,传统的 HTTPS 配置要求服务器持有网站的私钥,这在云计算环境中引发了一系列安全性和合规性问题。一旦云服务器遭到攻击,私钥泄露可能带来不…

AWTK-WIDGET-WEB-VIEW 实现笔记 (4) - Ubuntu

Ubuntu 上实现 AWTK-WIDGET-WEB-VIEW 开始以为很简单&#xff0c;后来发现是最麻烦的。因为 Ubuntu 上的 webview 库是 基于 GTK 的&#xff0c;而 AWTK 是基于 X11 的&#xff0c;两者的窗口系统不同&#xff0c;所以期间踩了几个大坑。 1. 编译 AWTK 在使用 Linux 的输入法时…

React Native的开发流程是怎样的?

React Native (RN) 是一个由 Facebook 开发的开源框架&#xff0c;用于构建跨平台的移动应用程序。它允许开发者使用 JavaScript 和 React 来创建原生 iOS 和 Android 应用。RN 的出现极大地简化了移动应用的开发过程&#xff0c;使得开发者可以更快速、更高效地构建高质量的应…