Android学生信息管理APP的设计与开发

ops/2024/11/23 2:46:28/

1. 项目布局设计

页面1:学生信息添加页面

采用线性布局,页面中控件包含TextView、editView、Button等。

布局核心代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"android:background="@drawable/addbg"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="信息添加页面"android:textSize="30sp"android:textStyle="bold"android:textColor="#000000"android:layout_gravity="center"android:layout_margin="80dp"/><EditTextandroid:id="@+id/editText_onesno"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="学号"android:textSize="25sp"/><EditTextandroid:id="@+id/editText_onename"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="姓名"android:textSize="25sp"/><EditTextandroid:id="@+id/editText_onesex"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="性别"android:textSize="25sp"/><EditTextandroid:id="@+id/editText_onepro"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="专业班级"android:textSize="25sp"/><EditTextandroid:id="@+id/editText_onedep"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="所属系部"android:textSize="25sp"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/button_oneadd"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="添加"android:textSize="25sp"android:layout_weight="1"/><Buttonandroid:id="@+id/button_oneclear"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="清除"android:textSize="25sp"android:layout_weight="1"/></LinearLayout><Buttonandroid:id="@+id/button_onenext"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="下一页"android:textSize="25sp"android:layout_gravity="right"android:layout_marginTop="30dp"/>
</LinearLayout>
页面2:学生信息查询页面

采用线性布局,页面中控件包含TextView、editView、Button等。

布局核心代码如下:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"android:background="@drawable/querybg"tools:context=".SecondActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="信息查询页面"android:textSize="30sp"android:textStyle="bold"android:textColor="#000000"android:layout_gravity="center"android:layout_margin="80dp"/><EditTextandroid:id="@+id/editText_twosno"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入要查询的学号"android:textSize="25sp"/><Buttonandroid:id="@+id/button_twoquery"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="查询"android:textSize="25sp"/><TextViewandroid:id="@+id/textView_tworesult"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="显示查询结果"android:textSize="25sp" /><Buttonandroid:id="@+id/button_twonext"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="下一页"android:textSize="25sp"android:layout_gravity="right"android:layout_marginTop="30dp"/>
</LinearLayout>
页面3:学生信息修改页面

采用线性布局,页面中控件包含TextView、editView、Button等。

布局核心代码如下:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"android:background="@drawable/modifybg"tools:context=".thirdActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="信息修改页面"android:textSize="30sp"android:textStyle="bold"android:textColor="#000000"android:layout_gravity="center"android:layout_margin="80dp"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_marginBottom="30dp"><EditTextandroid:id="@+id/editText_threeinputsno"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="请输入要查询的学号"android:textSize="25sp"/><Buttonandroid:id="@+id/button_threequery"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="查询"android:textSize="25sp"/></LinearLayout><EditTextandroid:id="@+id/editText_threesno"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="学号"android:textSize="25sp"/><EditTextandroid:id="@+id/editText_threename"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="姓名"android:textSize="25sp"/><EditTextandroid:id="@+id/editText_threedep"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="所属系部"android:textSize="25sp"/><Buttonandroid:id="@+id/button_threemodify"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="修改"android:textSize="25sp"android:layout_gravity="right"android:layout_marginTop="30dp"/><Buttonandroid:id="@+id/button_threenext"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="下一页"android:textSize="25sp"android:layout_gravity="right"/>
</LinearLayout>
页面4:学生信息删除页面

采用线性布局,页面中控件包含TextView、editView、Button等。

布局核心代码如下:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"android:background="@drawable/deletebg"tools:context=".fourActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="信息删除页面"android:textSize="30sp"android:textStyle="bold"android:textColor="#000000"android:layout_gravity="center"android:layout_margin="80dp"/><EditTextandroid:id="@+id/editText_foursno"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入要删除的学号"android:textSize="25sp"/><Buttonandroid:id="@+id/button_fourdelete"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="删除"android:textSize="25sp"android:layout_gravity="right"/>
</LinearLayout>

2. 系统后台实现代码

页面1:信息添加功能核心代码如下:

 

package com.example.word;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText ed_onesno,ed_onename,ed_onesex,ed_onepro,ed_onedep;private Button btn_oneadd,btn_onenext,btn_oneclear;private MyDBOpenHelper myDBOpenHelper;//数据库帮助类对象private SQLiteDatabase db;//数据库对象@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化方法initview();//下一页btn_onenext.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,SecondActivity.class);startActivity(intent);}});//清楚btn_oneclear.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {ed_onesno.setText("");ed_onename.setText("");ed_onesex.setText("");ed_onepro.setText("");ed_onedep.setText("");}});//添加btn_oneadd.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {ContentValues values=new ContentValues();values.put("sno",ed_onesno.getText().toString());values.put("name",ed_onename.getText().toString());values.put("sex",ed_onesex.getText().toString());values.put("professional",ed_onepro.getText().toString());values.put("department",ed_onedep.getText().toString());db.insert("stu_info",null,values);Toast.makeText(MainActivity.this,"添加成功",Toast.LENGTH_SHORT).show();}});}//初始化private void initview() {ed_onesno=findViewById(R.id.editText_onesno);ed_onename=findViewById(R.id.editText_onename);ed_onesex=findViewById(R.id.editText_onesex);ed_onepro=findViewById(R.id.editText_onepro);ed_onedep=findViewById(R.id.editText_onedep);btn_oneadd=findViewById(R.id.button_oneadd);btn_oneclear=findViewById(R.id.button_oneclear);btn_onenext=findViewById(R.id.button_onenext);myDBOpenHelper=new MyDBOpenHelper(MainActivity.this);db=myDBOpenHelper.getWritableDatabase();//获取数据库的读写权限}
}
页面2:信息查询功能核心代码如下: 
package com.example.word;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;public class SecondActivity extends AppCompatActivity {private EditText ed_twosno;private Button btn_twoquery,btn_twonext;private TextView txtresult;private MyDBOpenHelper myDBOpenHelper;private SQLiteDatabase db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);initview();//查询btn_twoquery.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Cursor cursor = db.rawQuery("select * from stu_info where sno=?",new String[]{ed_twosno.getText().toString()});if (cursor.getCount() !=0){Toast.makeText(SecondActivity.this, "查询成功!", Toast.LENGTH_SHORT).show();while (cursor.moveToNext()){@SuppressLint("Range")String rsno = cursor.getString(cursor.getColumnIndex("sno"));@SuppressLint("Range")String rname = cursor.getString(cursor.getColumnIndex("name"));@SuppressLint("Range")String rsex = cursor.getString(cursor.getColumnIndex("sex"));@SuppressLint("Range")String rpro = cursor.getString(cursor.getColumnIndex("professional"));@SuppressLint("Range")String rdep = cursor.getString(cursor.getColumnIndex("department"));txtresult.setText(rsno+"\n"+rname+"\n"+rsex+"\n"+rpro+"\n"+rdep);}}else {Toast.makeText(SecondActivity.this, "没有查询到该学号对应的学生信息", Toast.LENGTH_SHORT).show();txtresult.setText("");}}});//下一页btn_twonext.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent(SecondActivity.this,thirdActivity.class);startActivity(intent);}});}private void initview() {ed_twosno=findViewById(R.id.editText_twosno);btn_twonext=findViewById(R.id.button_twonext);btn_twoquery=findViewById(R.id.button_twoquery);txtresult=findViewById(R.id.textView_tworesult);myDBOpenHelper = new MyDBOpenHelper(SecondActivity.this);db = myDBOpenHelper.getWritableDatabase();}
}
页面3:信息修改功能核心代码如下: 
package com.example.word;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.ConditionVariable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class thirdActivity extends AppCompatActivity {private EditText ed_threeinput,ed_threesno,ed_threename,ed_threedep;private Button btn_threequery,btn_threemodify,btn_threenext;private MyDBOpenHelper myDBOpenHelper;private SQLiteDatabase db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_third);ed_threeinput=findViewById(R.id.editText_threeinputsno);ed_threesno=findViewById(R.id.editText_threesno);ed_threename=findViewById(R.id.editText_threename);ed_threedep=findViewById(R.id.editText_threedep);btn_threequery=findViewById(R.id.button_threequery);btn_threemodify=findViewById(R.id.button_threemodify);btn_threenext=findViewById(R.id.button_threenext);myDBOpenHelper = new MyDBOpenHelper(thirdActivity.this);db = myDBOpenHelper.getWritableDatabase();btn_threequery.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Cursor cursor = db.rawQuery("select * from stu_info where sno=?",new String[]{ed_threeinput.getText().toString()});if (cursor.getCount() !=0){Toast.makeText(thirdActivity.this, "查询成功!", Toast.LENGTH_SHORT).show();while (cursor.moveToNext()){@SuppressLint("Range")String rsno = cursor.getString(cursor.getColumnIndex("sno"));@SuppressLint("Range")String rname = cursor.getString(cursor.getColumnIndex("name"));@SuppressLint("Range")String rdep = cursor.getString(cursor.getColumnIndex("department"));ed_threesno.setText(rsno);ed_threename.setText(rname);ed_threedep.setText(rdep);}}else {Toast.makeText(thirdActivity.this, "没有查询到该学号对应的学生信息", Toast.LENGTH_SHORT).show();ed_threesno.setText("");ed_threename.setText("");ed_threedep.setText("");}}});btn_threemodify.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {ContentValues values=new ContentValues();values.put("name",ed_threename.getText().toString());values.put("department",ed_threedep.getText().toString());db.update("stu_info",values,"sno=?",new String[]{ed_threeinput.getText().toString()});Toast.makeText(thirdActivity.this, "修改成功", Toast.LENGTH_SHORT).show();}});btn_threenext.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(thirdActivity.this,fourActivity.class);startActivity(intent);}});}
}
页面4:信息删除功能核心代码如下: 

 

package com.example.word;import androidx.appcompat.app.AppCompatActivity;import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class fourActivity extends AppCompatActivity {private EditText ed_foursno;private Button btn_fourdel;private MyDBOpenHelper myDBOpenHelper;private SQLiteDatabase db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_four);ed_foursno=findViewById(R.id.editText_foursno);btn_fourdel=findViewById(R.id.button_fourdelete);myDBOpenHelper = new MyDBOpenHelper(fourActivity.this);db = myDBOpenHelper.getWritableDatabase();btn_fourdel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {db.delete("stu_info","sno=?",new String[]{ed_foursno.getText().toString()});Toast.makeText(fourActivity.this, "删除成功!", Toast.LENGTH_SHORT).show();}});}
}

3. 实现效果

页面1:信息添加(包括数据库截图)

 

 

页面2:

页面3:

页面4:

 


http://www.ppmy.cn/ops/135960.html

相关文章

linux 运维常用命令

0 常见配置文件 # ssh vi /etc/ssh/sshd_config # sudo vi /etc/sudoers 1.通配符查看文件夹个数 find . -type d -name test_2024* | wc -l 2. 通配符查看文件个数 find . -type f -name test_2024* | wc -l 3.通配符批量删除文件夹 &#xff0c;文件多可用代替\ find . …

微知-git如何列出所有的tag?如何切换到某个tag?(git tag --list,git checkout xxxtag)

列出所有的 git tag --list切换到某个tag git checkout xxxtag #这里指定tag list中列出的tag名字切换到当前分支最新的提交 git中HEAD只是一个引用。他指向当前最新的提交。如果checkout到某个tag就指向了tag。如果要切换到原来的branch则直接指定切换到某个分支 git chec…

ElasticSearch学习笔记三:基础操作(一)

一、前言 上一篇文章中&#xff0c;我们学习了如何使用Java客户端去连接并且简单的操作ES&#xff0c;今天我们将对ES中的基本操作进行学习&#xff0c;包括索引操作、映射操作、文档操作。 二、索引操作 简单回顾一下索引&#xff0c;ES中的索引就有相同结构的数据的集合&a…

Linux性能优化之火焰图的起源

Linux火焰图的起源与性能优化专家 Brendan Gregg 密切相关&#xff0c;他在 2011 年首次提出这一工具&#xff0c;用于解决性能分析过程中可视化和数据解读的难题。 1. 背景&#xff1a;性能优化的需求 在现代计算中&#xff0c;性能优化往往需要对程序执行中的热点和瓶颈进行…

spring boot接收参数

接收content-typemultipart/form-data的表单数据 import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile;import java.util.Map;RestController RequestMapping("/api") public class FormDataController {Pu…

Linux 定时任务全解析

文章目录 一、Cron 服务1.1安装1.2配置文件格式1.3使用方法1.4系统级与用户级 Cron 任务区别 二、At 服务2.1安装2.2工作原理2.3使用方法 一、Cron 服务 1.1安装 在大多数 Linux 发行版中&#xff0c;Cron 服务通常已经默认安装。例如在 Ubuntu 系统中&#xff0c;可以通过以…

点餐管理系统设计与实现(Java+SpringBoot+MySql)

目录 第1章 绪论 1.1选题动因 1.2目的和意义 1.3论文结构安排 第2章 开发环境与技术 2.1 MySQL数据库 2.2 Tomcat 介绍 2.3 vue技术 2.4 SpringBoot框架 第3章 系统分析 3.1可行性分析 3.1.1操作可行性分析 3.1.2经济可行性分析 3.1.3技术可行性分析 3.2系统流程…

macOS 无法安装第三方app,启用任何来源的方法

升级新版本 MacOS 后&#xff0c;安装下载的软件时&#xff0c;不能在 ”安全性与隐私” 中找不到 ”任何来源” 选项。 1. 允许展示任何来源 点击 启动器 (Launchpad) – 其他 (Other) – 终端 (Terminal)&#xff1a; 打开终端后&#xff0c;输入以下代码回车&#xff1a; …