目录
一、测试环境说明
电脑环境
Windows 11
编写语言
JAVA
开发软件
Android Studio (2020)
开发软件只要大于等于测试版本即可(近几年官网直接下载也可以),若是版本低于测试版本请自行测试。项目需要根据你的软件自行适配
二、项目简介
该项目简介来自网络,具体内容需要自行测试
本答题App使用 Android Studio 开发,采用 Java 语言编写,结合 SQLite 数据库存储用户信息和答题记录。
UI设计 采用 XML布局,使用 RelativeLayout 和 LinearLayout 进行页面排版,并自定义 Button、EditText、TextView、ImageView 等控件实现交互效果。
功能实现 包括 用户注册/登录(SQLite存储)、题型选择(选择题、判断题、填空题)、计时答题(Handler计时)、交卷评分(逻辑判断)以及 答题详情展示(ListView + ScrollView)。
数据管理 方面,题目数据从 JSON文件 解析加载,用户答题记录通过 Intent 传递,并使用 SharedPreferences 存储简单配置。
整体项目结构清晰,采用 Activity 跳转逻辑,实现了完整的答题流程,适合学习Android基础开发技术。
该项目由编程乐学团队介入,优化布局完善功能
三、项目演示
网络资源模板--基于Android studio 答题App
四、部设计详情(部分)
首页
1. 页面的结构
这个页面采用经典的顶部标题、中间内容区和底部导航栏的三段式结构。顶部是应用名称"FULL MARK"的醒目展示,中间区域设计了一个圆形按钮区域,包含开始答题的主功能入口,底部是四个并列的导航图标,分别对应选择题、判断题、填空题和关于页面。
整体布局层次分明,通过相对布局和线性布局的组合实现了元素的精准定位,主次功能区域划分清晰,符合移动端用户操作习惯。
2. 使用到的技术
该界面运用了Android的基础UI组件技术,包括TextView、ImageView和各种Layout容器。通过设置阴影效果和半透明背景增强了视觉层次感,利用点击反馈属性和可点击属性实现了交互效果。
颜色主题采用谷歌蓝为主色调,保持整体风格统一。图片资源通过mipmap引用,适配不同屏幕密度。界面元素通过相对定位和权重分配实现了响应式布局,确保在不同尺寸设备上都能良好显示。
3. 页面详细介绍
这是一个答题类应用的首页面,主要功能是引导用户选择不同类型的题目进行练习。顶部大标题突出应用名称,中央区域使用卡片式设计展示"开始答题"主功能按钮,底部导航栏提供快速入口。
整个页面以蓝色系为主,营造学习氛围。交互方面,所有功能区域都设置了点击效果,点击后会跳转到对应的题目类型页面。布局上注重留白和间距控制,使界面看起来清爽不拥挤,重要操作区域尺寸足够大,便于用户触摸操作。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/g"
android:padding="16dp">
<!-- 顶部标题区域 - 使用蓝色主题 -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="FULL MARK"
android:textColor="#1A73E8"
android:textSize="28sp"
android:textStyle="bold"
android:fontFamily="sans-serif-condensed"
android:gravity="center"
android:shadowColor="#40000000"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2"/>
<!-- 主内容区域 - 蓝色主题 -->
<RelativeLayout
android:layout_width="280dp"
android:layout_height="280dp"
android:layout_centerInParent="true"
android:layout_marginTop="32dp"
android:layout_marginBottom="32dp"
android:background="@mipmap/bg"
android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true">
<ImageView
android:id="@+id/start"
android:layout_width="260dp"
android:layout_height="180dp"
android:layout_centerInParent="true"
android:src="@mipmap/bg1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:text="开始答题"
android:fontFamily="sans-serif"
android:textSize="22sp"
android:textColor="#FFFFFF"
android:textStyle="bold"
android:background="#801A73E8"
android:paddingHorizontal="16dp"
android:paddingVertical="4dp"
android:shadowColor="#80000000"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2"/>
</RelativeLayout>
<!-- 底部导航区域 - 蓝色主题 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:gravity="center"
android:padding="12dp"
android:background="#E6F0FA"
android:elevation="8dp">
<!-- 选择题 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="8dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true">
<ImageView
android:id="@+id/choose"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@mipmap/icon1"
android:tint="#1A73E8"/>
<TextView
android:id="@+id/ic1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:text="选择题"
android:textSize="14sp"
android:textColor="#1A73E8"
android:layout_marginTop="4dp"/>
</LinearLayout>
<!-- 判断题 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="8dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true">
<ImageView
android:id="@+id/judge"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@mipmap/icon2"
android:tint="#1A73E8"/>
<TextView
android:id="@+id/ic2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:text="判断题"
android:textSize="14sp"
android:textColor="#1A73E8"
android:layout_marginTop="4dp"/>
</LinearLayout>
<!-- 填空题 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="8dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true">
<ImageView
android:id="@+id/fill"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@mipmap/icon3"
android:tint="#1A73E8"/>
<TextView
android:id="@+id/ic3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:text="填空题"
android:textSize="14sp"
android:textColor="#1A73E8"
android:layout_marginTop="4dp"/>
</LinearLayout>
<!-- 关于 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="8dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true">
<ImageView
android:id="@+id/about"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@mipmap/icon4"
android:tint="#1A73E8"/>
<TextView
android:id="@+id/ic4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:text="关于"
android:textSize="14sp"
android:textColor="#1A73E8"
android:layout_marginTop="4dp"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
五、项目源码
👇👇👇👇👇快捷方式👇👇👇👇👇