...
Android学生信息管理系统APP
一、需求分析
为了方便的进行对学生数据库的操作,本app 可 在 android 设 备上进行对学生信息数据库的信息管理功能,具体功能如下:
对数据库中所有学生姓名进行显示, 对各个条目进行点击可展开具体信息
查询数据: 查询数据是根据姓名与学号两个条件进行查询, 两者满足任一条件则进行模糊查询, 两个条件同时满足则进行精确查询, 查询结果界面与功能一中相同,以姓名排列,点击展开所有信息
增加数据:在数据库中增添条目,包括姓名(字符串),学号(数 字,主键),性别(单选框),年龄(数字),专业(字符串)。每 个条目均有误输入设定, 且主键可检查重复性, 所有数据可检查完整性,若插入成功则会显示一条消息提示成功,若失败则会提示检查主键重复或者数据不完整
修改数据:根据姓名学号进行精确查找, 查找成功后转入修改界面, 为了防止漏填与便捷修改界面会默认填充之前的数据(除学号),修 改完毕即可更新,同样会检查数据完整性
..
...
删除数据:根据姓名学号进行精确查找,查找成功则会进行删除, 并显示一条删除成功的提示,若失败,也会进行提示
二、概念结构设计
ER 图:
三、逻辑结构设计
学生:
姓名(字符串)
学号(数字,主码)
..
...
性别(单选框) 年龄(数字) 专业(字符串)
create table student (
name TEXT,
NO TEXT Primary Key, sex TEXT,
profession TEXT, age TEXT
)
四、具体实现
主界面:
..
...
主界面显示所有功能,每个按钮点击后,跳转进入相应功能 核心代码:
publicclass Main extends Activity {
SQLiteDatabasedb;
Button btn_search ; Button btn_modify ; Button btn_add ; Button btn_delete ; Button btn_quit ; Button btn_show ;
@Override
protectedvoid onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TIT)L; E getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCRE, EN
WindowManager.LayoutParams. FLAG_FULLSCRE);EN
super .onCreate(savedInstanceState);
setContentView(R.layout.layout_main );
// 打开数据库,若不存在,则创建
db =
SQLiteDatabase. openOrCreateDatabase ( this .getFilesDir().toString()+"/Student.db3", null );
btn_search = (Button) findViewById(R.id.btn_search ); btn_modify = (Button) findViewById(R.id.btn_modify ); btn_add = (Button) findViewById(R.id.btn_add ); btn_delete= (Button) findViewById(R.id.btn_delete ); btn_quit= (Button) findViewById(R.id.btn_quit ); btn_show = (Button) findViewById(R.id.Btn_show);
try
{
}
Cursor cursor =db.rawQuery( "select * from student", null ); cursor.close();
catch (SQLiteException e)
{
db.execSQL( "create table student"
+ "("
+ "name TEXT,"
..
...
+ "NO TEXT Primary Key,"
+ "sex TEXT,"
+ "profession TEXT,"
+ "age TEXT"
+ ")" );
}
// 显示所有数据按钮的功能实现
btn_show .setOnClickListener(new OnClickListener()
{
public