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

文章目录

  • 简介
  • [步骤 1:创建新活动](#步骤 1:创建新活动)
  • [步骤 2:设计UI布局](#步骤 2:设计UI布局)
  • [步骤 3:编写活动代码](#步骤 3:编写活动代码)
  • [步骤 4:运行应用程序](#步骤 4:运行应用程序)
  • [步骤 5:查看存放数据](#步骤 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 复制代码
<?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">

    <TextView
        android: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" />

    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="账号:"
            android:textSize="20dp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/etUsername"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入账号"
            android:inputType="text" />
    </LinearLayout>

    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="密码:"
            android:textSize="20dp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/etPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入密码"
            android:inputType="textPassword" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="380dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btnSubmit"
            android:layout_width="80dp"
            android:layout_height="50dp"
            android:layout_marginTop="16dp"
            android:layout_marginLeft="70dp"
            android:text="提交" />

        <Button
            android:id="@+id/btnExit"
            android:layout_width="80dp"
            android:layout_height="50dp"
            android:layout_marginTop="16dp"
            android:layout_marginLeft="50dp"
            android:text="退出" />
    </LinearLayout>

    <TextView
        android: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文件,并添加以下代码:

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;

    @Override
    protected 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() {
            @Override
            public void onClick(View v) {
                String username = etUsername.getText().toString();
                String password = etPassword.getText().toString();

                // 保存账号和密码到SharedPreferences
                SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
                editor.putString("user",username);
                editor.putString("pass",password);
                editor.apply();
            }
        });

        btnExit.setOnClickListener(new View.OnClickListener() {
            @Override
            public 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即可正常打开了。
相关推荐
半桔26 分钟前
【Linux手册】从接口到管理:Linux文件系统的核心操作指南
android·java·linux·开发语言·面试·系统架构
xiaopengbc44 分钟前
Android解压工具,ZArchiver,RAR for Android,iZip,The Unarchiver,解压专家
android
Digitally1 小时前
5种使用USB数据线将文件从安卓设备传输到电脑的方法
android
爬虫程序猿9 小时前
利用爬虫按关键字搜索淘宝商品实战指南
android·爬虫
顾北川_野9 小时前
Android ttyS2无法打开该如何配置 + ttyS0和ttyS1可以
android·fpga开发
七月初七淮水竹亭~12 小时前
Pycharm 报错 Environment location directory is not empty 如何解决
ide·python·pycharm
wzj_what_why_how12 小时前
Android网络层架构:统一错误处理的问题分析到解决方案与设计实现
android·架构
千里马学框架12 小时前
User手机上如何抓取界面的布局uiautomatorviewer
android·智能手机·aosp·uiautomator·布局抓取·user版本
阿巴~阿巴~13 小时前
操作系统核心技术剖析:从Android驱动模型到鸿蒙微内核的国产化实践
android·华为·harmonyos
hsx66614 小时前
使用 MaterialShapeDrawable 自定义各种形状的 View
android