Android学生信息管理系统APP.docx
《Android学生信息管理系统APP.docx》由会员分享,可在线阅读,更多相关《Android学生信息管理系统APP.docx(18页珍藏版)》请在冰豆网上搜索。
![Android学生信息管理系统APP.docx](https://file1.bdocx.com/fileroot1/2023-1/9/86d46feb-8358-441f-91c0-229f4d31be2e/86d46feb-8358-441f-91c0-229f4d31be2e1.gif)
Android学生信息管理系统APP
Android学生信息管理系统APP
1、需求分析
为了方便的进行对学生数据库的操作,本app可在android设备上进行对学生信息数据库的信息管理功能,具体功能如下:
1.对数据库中所有学生姓名进行显示,对各个条目进行点击可展开具体信息
2.查询数据:
查询数据是根据姓名与学号两个条件进行查询,两者满足任一条件则进行模糊查询,两个条件同时满足则进行精确查询,查询结果界面与功能一中相同,以姓名排列,点击展开所有信息
3.增加数据:
在数据库中增添条目,包括姓名(字符串),学号(数字,主键),性别(单选框),年龄(数字),专业(字符串)。
每个条目均有误输入设定,且主键可检查重复性,所有数据可检查完整性,若插入成功则会显示一条消息提示成功,若失败则会提示检查主键重复或者数据不完整
4.修改数据:
根据姓名学号进行精确查找,查找成功后转入修改界面,为了防止漏填与便捷修改界面会默认填充之前的数据(除学号),修改完毕即可更新,同样会检查数据完整性
5.删除数据:
根据姓名学号进行精确查找,查找成功则会进行删除,并显示一条删除成功的提示,若失败,也会进行提示
2、概念结构设计
ER图:
3、逻辑结构设计
学生:
姓名(字符串)
学号(数字,主码)
性别(单选框)
年龄(数字)
专业(字符串)
createtablestudent
(
nameTEXT,
NOTEXTPrimaryKey,
sexTEXT,
professionTEXT,
ageTEXT
)
4、具体实现
1.主界面:
主界面显示所有功能,每个按钮点击后,跳转进入相应功能
核心代码:
publicclassMainextendsActivity{
SQLiteDatabasedb;
Buttonbtn_search;
Buttonbtn_modify;
Buttonbtn_add;
Buttonbtn_delete;
Buttonbtn_quit;
Buttonbtn_show;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
requestWindowFeature;
getWindow().setFlags
(savedInstanceState);
setContentViewoString()+"/",null);
btn_search=(Button)findViewByIdbtn_modify=(Button)findViewByIdbtn_add=(Button)findViewByIdbtn_delete=(Button)findViewByIdbtn_quit=(Button)findViewByIdbtn_show=(Button)findViewById
try
{
Cursorcursor=("select*fromstudent",null);
();
}
catch(SQLiteExceptione)
{
("createtablestudent"
+"("
+"nameTEXT,"
+"NOTEXTPrimaryKey,"
+"sexTEXT,"
+"professionTEXT,"
+"ageTEXT"
+")");
}
how();
}
else
{
Listp=newArrayList();
Listre_name=newArrayList();
Listinfo=newArrayList();
etFlagsetExtras().get("data");
String[]people=(String[])("name");
String[][]data=;
publicObjectgetChild(intgroupPosition,intchildPosition)
{
returndata[groupPosition][childPosition];
}
publiclonggetChildId(intgroupPosition,intchildPosition)
{
returnchildPosition;
}
publicintgetChildrenCount(intgroupPosition)
{
returndata[groupPosition].length;
}
oString());
returntextView;
}
publicObjectgetGroup(intgroupPosition)
{
returnpeople[groupPosition];
}
publicintgetGroupCount()
{
return;
}
publiclonggetGroupId(intgroupPosition)
{
returngroupPosition;
}
oString());
(textView);
returnll;
}
};
ExpandableListViewexpandListView=(ExpandableListView)findViewById(adapter);
}
}
3.增添数据界面:
根据文本框输入内容进行数据的插入,且具有完整性和重复性的判断,插入成功失败均会产生提示
核心代码:
publicclassAddextendsActivity{
SQLiteDatabasedb;
Buttonbtn_Accept;
Buttonbtn_Cancle;
TextViewET_name;
TextViewET_NO;
TextViewET_Pro;
TextViewET_Age;
RadioGrouprg;
Stringradio_sex="男";
@Override
protectedvoidonCreate(BundlesavedInstanceState){
requestWindowFeature;
getWindow().setFlags
(savedInstanceState);
setContentView
db=().toString()+"/",null,;
btn_Accept=(Button)findViewByIdbtn_Cancle=(Button)findViewById
ET_name=(TextView)findViewByIdET_NO=(TextView)findViewByIdET_Pro=(TextView)findViewByIdET_Age=(TextView)findViewById
rg=(RadioGroup)findViewById
(newOnCheckedChangeListener(){
publicvoidonCheckedChanged(RadioGroupgroup,intCheckedId){
radio_sex=CheckedId=="男":
"女";
}
});
oString();
StringNO=().toString();
Stringsex=radio_sex;
Stringpro=().toString();
Stringage=().toString();
how();
return;
}
"成功插入一条数据:
"+"\n"+name+"\n"+NO+"\n"+sex+"\n"+pro+"\n"+age,.show();
}
});
(newOnClickListener()
{
publicvoidonClick(Viewsource){
();
finish();
}
});
}
}
4.修改数据界面:
查找界面:
对文本框内输入的数据进行精确查找,成功后转入修改界面
修改界面:
文本框内默认显示之前的数据,修改完成点击确定以文本框内的信息对数据进行更新
核心代码:
查找:
(newOnClickListener()
{
publicvoidonClick(Viewsource){
Stringname=().toString();
StringNO=().toString();
Cursorcursor=("select*fromstudentwhere"
+"name="
+"andNO="
newString[]{name,NO});
how();
}
else
{
Stringmem_name=null;
Stringmem_No=null;
Stringmem_profession=null;
Stringmem_sex=null;
Stringmem_age=null;
oString()+"/",null,;
btn_accept=(Button)findViewByIdbtn_cancle=(Button)findViewById
TextView_ModifyResult_No=(TextView)findViewByIdET_ModifyResult_Name=(EditText)findViewByIdET_ModifyResult_pro=(EditText)findViewByIdET_ModifyResult_age=(EditText)findViewByIdrg=(RadioGroup)findViewByIdoString();
Stringnew_profession=().toString();
Stringnew_age=().toString();
Stringnew_sex=radio_sex;
how();
return;
}
"更新数据成功",.show();
finish();
}
});
(newOnClickListener()
{
publicvoidonClick(Viewsource){
();
finish();
}
});
}
}
5.查找数据界面:
对文本框内的数据进行模糊查询,查询成功则跳转只查询结果界面,查询失败则产生相应提示
核心代码:
publicclassSearchextendsActivity{
SQLiteDatabasedb;
Buttonbtn_Accept;
Buttonbtn_Cancle;
EditTextET_name;
EditTextET_NO;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
requestWindowFeature;
getWindow().setFlags
(savedInstanceState);
setContentView
db=().toString()+"/",null,;
btn_Accept=(Button)findViewByIdbtn_Cancle=(Button)findViewById
ET_name=(EditText)findViewByIdET_NO=(EditText)findViewById
(newOnClickListener()
{
publicvoidonClick(Viewsource){
Stringname=().toString();
StringNO=().toString();
how();
}
else
{
"成功",.show();
oString();
StringNO=().toString();
how();
}
else
{
try
{
("deletefromstudent"
+"wherename="
+"andNO="
newString[]{name,NO});
}
how();
return;
}
how();
();
finish();
}
}
});
//取消按钮点击后的监听事件
(newOnClickListener()
{
publicvoidonClick(Viewsource){
();
finish();
}
});
附:
student类的定义
publicclassStudentimplementsSerializable
{
privatestaticfinallongserialVersionUID=1L;
publicStringname;
publicStringNO;
publicStringsex;
publicStringprofession;
publicStringage;
publicString[]MakeString()
{
String[]s={name,NO,sex,profession,age};
returns;
}
publicString[][]info;
}
5、总结
这个安卓app实现了对数据库操作的基本功能,使用起来简便性强,轻便直接,因为是可视化编程,所以对于界面也进行了一定程度的美化,对应的编写平台是手机,所以实现的功能都是以简单实用美观为基础,并且同时保证健壮性为目标,但是同样因为这个原因在查询功能上,功能比较简单,比如查询操作,只能在满足基本的查询功能上添加简易的模糊查询,并且查找条件比较单一,因此,仍然可以在此方面做出改进
计算机科学与技术学院课程设计成绩单
课程名称:
数据库系统原理课程设计
姓名
詹博策
性别
男
学号
7055
班级
DB1302
电话
综合成绩
成绩等级
程序运行情况
(占总成绩20%)
□能正确运行□基本能正确运行□能运行但结果不完善
(20分)(15分)(10分)
程序功能完善程度
(占总成绩10%)
□完善□基本完善□不完善
(10分)(8分)(5分)
程序结构的合理性
(占总成绩10%)
□合理□基本合理□不太合理
(10分)(8分)(5分)
对问题的答辩情况
(占总成绩40%)
□概念正确有创新(40分)
□能正确回答所有问题(35分)
□基本能正确回答(30分)
□部分问题回答概念不清晰(20分)
学生的工作态度与独立工作能力
(占总成绩10%)
□工作态度认真能独立完成任务(10分)
□工作态度基本认真,独立性尚可(8分)
□工作态度和独立性较差(5分)
设计报告的规范性
(占总成绩10%)
□符合规范□基本符合规范□规范性较差
(10分)(8分)(5分)
A:
90~100分A-:
85~89分B+:
82~84分B:
78~81分B-:
75~77分
C+:
72~74分C:
68~71分C-:
64~67分D:
60~63分F:
<60分
武汉科技大学计算机科学与技术学院制表