Volley 库 - 注册、登录和登出

2025年3月17日 | 阅读 10 分钟

在本教程中,我们将使用 Volley 库和 JSON 创建基本的用户注册登录模块。Volley 是一个 HTTP 库,它为我们的应用程序提供网络连接功能。

使用 Volley 库的优点如下

  • 更简单、更快的请求管理。
  • 提供高效的网络管理。

对于服务器端数据处理,我们使用PHP配合XAMPP服务器以及MySQL进行数据操作。

在创建 Android 应用程序模块之前,让我们先用 PHP 和 MySQL 创建用于注册和登录的服务器端数据处理 API 代码。

1. 创建一个名为 registerlogin 的数据库和一个包含以下字段的 users 表。


android Volley Library - Registration Log-in and Log-out

2. 编写以下 PHP 和数据库连接建立代码,代码应位于 C:\xampp\htdocs\androidphpmysql 目录 中。

androidphpmysql(您的项目位置)目录中,创建一个 connection.php 文件并写入以下代码。

connection.php

3. 在 androidphpmysql 目录中创建一个 registrationapi.php 文件并写入以下代码。此文件处理来自 Android 应用程序的请求,并以 JSON 数组的形式向 Android 应用程序生成响应。

registrationapi.php

要检查您的 PHP API 是否正常工作,您可以使用 REST 客户端,例如 Postman 工具。

要检查 API 的注册代码,您可以传递带有参数的注册 URL。


android Volley Library - Registration Log-in and Log-out

同样,您可以通过传递登录 URL 和有效的参数的注册 URL。


android Volley Library - Registration Log-in and Log-out

来检查登录操作。现在,在 Android 应用程序中,我们将创建三个活动类,分别用于用户注册、用户登录以及在主活动(作为配置文件)中显示用户详细信息。

在布局中创建一个 activity_main.xml 文件,并添加以下代码。此活动用于显示用户的详细信息作为配置文件。

activity_main.xml

现在,在布局目录中创建一个 activity_login.xml 文件,并包含以下代码。此活动用于用户登录 UI。

activity_login.xml

在布局目录中创建一个 activity_register.xml 文件,并包含以下代码。此活动用于用户注册 UI。

activity_register.xml

build.gradle 文件中添加 volley 库依赖项。

build.gradle

创建一个名为 User.java 的数据模型类,并包含以下代码。

User.java

我们需要定义调用服务器端 API 的 URL。

创建一个 URLs.java 类并定义 URL。

URLs.java

VolleySingleton.java

创建一个名为 SharedPreferences.java 的类。在此类中,我们使用 SharedPreferences 类来存储用户详细信息。SharedPreferences 类包含四个方法,具有以下功能:

  • userLogin(): 此方法用于在登录后将用户信息存储在 SharedPreferences 中。
  • isLoggedIn(): 此方法检查用户是否已登录。
  • getUser(): 如果用户已登录,此方法将获取用户信息。
  • logout(): 此方法清除 SharedPreferences 数据并使用户登出。

SharedPrefManager.java

现在,在 MainActivity.java 类中,如果用户已登录,我们将显示用户信息,否则,它将重定向到 LoginActivity.java 类。onClick() 方法用于在单击按钮时注销用户。

MainActivity.java

LoginActivity.java 类中,我们检查用户是否已登录,如果为真,则重定向到 MainActivity.java 类,否则,允许用户登录。

Volley 库的 StringRequest 类用于网络模块。StringRequest 类的对象接受请求方法类型、URL 和响应作为参数。

LoginActivity.java

RegisterActivity.java 类用于注册用户。此类首先检查用户是否已登录,如果为真,则重定向到 MainActivity.java 类,否则,允许用户注册。

LoginActivity.java 类类似,我们使用 Volley 库的 StringRequest 类进行网络连接,并传递请求方法类型、URL 和响应的参数。Response.Listener<String>() 方法处理服务器生成的响应。

RegisterActivity.java

AndroidManifest.xml 文件中添加以下权限

AndroidManifest.xml

输出

android Volley Library - Registration Log-in and Log-out android Volley Library - Registration Log-in and Log-out
android Volley Library - Registration Log-in and Log-out android Volley Library - Registration Log-in and Log-out
android Volley Library - Registration Log-in and Log-out
下一主题网络连接服务