




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 AndroidAndroid 学生信息管理系统学生信息管理系统 APPAPP 1 需求分析 为了方便的进行对学生数据库的操作 本 app 可在 android 设 备上进行对学生信息数据库的信息管理功能 具体功能如下 1 对数据库中所有学生姓名进行显示 对各个条目进行点击可展开具 体信息 2 查询数据 查询数据是根据姓名与学号两个条件进行查询 两者 满足任一条件则进行模糊查询 两个条件同时满足则进行精确查询 查询结果界面与功能一中相同 以姓名排列 点击展开所有信息 3 增加数据 在数据库中增添条目 包括姓名 字符串 学号 数字 主键 性别 单选框 年龄 数字 专业 字符串 每个条目均有误输入设定 且主键可检查重复性 所有数据可检 查完整性 若插入成功则会显示一条消息提示成功 若失败则会提 示检查主键重复或者数据不完整 4 修改数据 根据姓名学号进行精确查找 查找成功后转入修改界 面 为了防止漏填与便捷修改界面会默认填充之前的数据 除学号 修改完毕即可更新 同样会检查数据完整性 1 5 删除数据 根据姓名学号进行精确查找 查找成功则会进行删除 并显示一条删除成功的提示 若失败 也会进行提示 2 概念结构设计 ER 图 3 逻辑结构设计 学生 姓名 字符串 学号 数字 主码 2 性别 单选框 年龄 数字 专业 字符串 create table student name TEXT NO TEXT Primary Key sex TEXT profession TEXT age TEXT 4 具体实现 1 主界面 3 主界面显示所有功能 每个按钮点击后 跳转进入相应功能 核心代码 public class Main extends Activity SQLiteDatabase db Button btn search Button btn modify Button btn add Button btn delete Button btn quit Button btn show Override protected void onCreate Bundle savedInstanceState requestWindowFeature Window FEATURE NO TITLE getWindow setFlags WindowManager LayoutParams FLAG FULLSCREEN WindowManager LayoutParams FLAG FULLSCREEN super onCreate savedInstanceState setContentView R layout layout main 打开数据库 若不存在 则创建 db SQLiteDatabase openOrCreateDatabase this getFilesDir toString S tudent 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 4 db execSQL create table student name TEXT NO TEXT Primary Key sex TEXT profession TEXT age TEXT 显示所有数据按钮的功能实现 btn show setOnClickListener new OnClickListener public void onClick View source 获取指针 Cursor cursor db rawQuery select from student null 判断数据库是否不存在任何数据 if cursor moveToFirst false Toast makeText Main this 不存在记录 Toast LENGTH SHORT show else List p new ArrayList List re name new ArrayList List info new ArrayList 保存搜索出的所有数据 for cursor moveToFirst cursor isAfterLast cursor moveToNext int nameColume cursor getColumnIndex name int NOColume cursor getColumnIndex NO int proColume cursor getColumnIndex profession int sexColume cursor getColumnIndex sex int ageColume cursor getColumnIndex age Student student new Student student name 姓名 cursor getString nameColume student NO 学号 cursor getString NOColume 5 student sex 性别 cursor getString sexColume student profession 专业 cursor getString proColume student age 年龄 cursor getString ageColume p add student String temp student MakeString info add temp String newname cursor getString nameColume re name add newname 对保存的数据进行封装 String Cur name new String re name size Cur name re name toArray Cur name String Cur info new String info size Cur info info toArray Cur info Bundle bundle new Bundle bundle putStringArray name Cur name Student data new Student data info Cur info 将封装的数据传递给结果界面的 activity Intent intent new Intent Main this SearchResult class intent putExtras bundle intent putExtra data data startActivity intent cursor close 为剩下的按钮绑定监听器实现跳转功能 btn search setOnClickListener new OnClickListener public void onClick View source Intent intent new Intent Main this Search class startActivity intent 6 btn modify setOnClickListener new OnClickListener public void onClick View source Intent intent new Intent Main this Modify class startActivity intent btn add setOnClickListener new OnClickListener public void onClick View source Intent intent new Intent Main this Add class startActivity intent btn delete setOnClickListener new OnClickListener public void onClick View source Intent intent new Intent Main this Delete class startActivity intent btn quit setOnClickListener new OnClickListener public void onClick View source db close finish 7 2 数据显示界面 按姓名排列 点击条目展开具体信息 核心代码 public class SearchResult extends Activity SuppressLint RtlHardcoded public void onCreate Bundle savedInstanceState requestWindowFeature Window FEATURE NO TITLE getWindow setFlags WindowManager LayoutParams FLAG FULLSCREEN WindowManager LayoutParams FLAG FULLSCREEN 获取传送来的数据 super onCreate savedInstanceState setContentView R layout layout result final Intent intent getIntent 8 BaseExpandableListAdapter adapter new BaseExpandableListAdapter 提取数据 Bundle bundle intent getExtras Student mem data Student getIntent getExtras get data String people String bundle getSerializable name String data mem data info public Object getChild int groupPosition int childPosition return data groupPosition childPosition public long getChildId int groupPosition int childPosition return childPosition public int getChildrenCount int groupPosition return data groupPosition length 设定每个子选项每行的显示方式 private TextView getTextView AbsListView LayoutParams lp new AbsListView LayoutParams ViewGroup LayoutParams MATCH PARENT ViewGroup LayoutParams MATCH PARENT TextView textView new TextView SearchResult this textView setLayoutParams lp textView setGravity Gravity CENTER VERTICAL Gravity LEFT textView setPadding 36 0 0 0 textView setTextSize 20 return textView 设定每个子选项显示内容 public View getChildView int groupPosition int childPosition boolean isLastChild View convertView ViewGroup Parent 9 TextView textView getTextView textView setText getChild groupPosition childPosition toString return textView public Object getGroup int groupPosition return people groupPosition public int getGroupCount return people length public long getGroupId int groupPosition return groupPosition 设定每个组选项显示内容 public View getGroupView int groupPosition boolean isExpanded View convertView ViewGroup parnet LinearLayout ll new LinearLayout SearchResult this ll setOrientation 0 TextView textView getTextView textView setText getGroup groupPosition toString ll addView textView return ll ExpandableListView expandListView ExpandableListView findViewById R id list expandListView setAdapter adapter 10 3 增添数据界面 根据文本框输入内容进行数据的插入 且具有完整性和重复性的判断 插入成功失败均会 产生提示 核心代码 public class Add extends Activity SQLiteDatabase db Button btn Accept Button btn Cancle TextView ET name 11 TextView ET NO TextView ET Pro TextView ET Age RadioGroup rg String radio sex 男 Override protected void onCreate Bundle savedInstanceState requestWindowFeature Window FEATURE NO TITLE getWindow setFlags WindowManager LayoutParams FLAG FULLSCREEN WindowManager LayoutParams FLAG FULLSCREEN super onCreate savedInstanceState setContentView R layout layout add db SQLiteDatabase openDatabase this getFilesDir toString Student d b3 null SQLiteDatabase OPEN READWRITE btn Accept Button findViewById R id btn Accept btn Cancle Button findViewById R id btn Cancle ET name TextView findViewById R id ET Add name ET NO TextView findViewById R id ET Add NO ET Pro TextView findViewById R id ET Add Pro ET Age TextView findViewById R id ET Add Age rg RadioGroup findViewById R id rg rg setOnCheckedChangeListener new OnCheckedChangeListener public void onCheckedChanged RadioGroup group int CheckedId radio sex CheckedId R id rad male 男 女 提交操作 btn Accept setOnClickListener new OnClickListener public void onClick View source 12 String name ET name getText toString String NO ET NO getText toString String sex radio sex String pro ET Pro getText toString String age ET Age getText toString 规范性与完整性判断 try 插入数据 db execSQL insert into student values new String name NO sex pro age 规范性与完整性判断 catch SQLiteException e Toast makeText Add this 插入数据失败 请检查数据规范性 与学号的唯一性 Toast LENGTH SHORT show return Toast makeText Add this 成功插入一条数据 n name n NO n sex n pro n age Toast LENGTH SHORT show btn Cancle setOnClickListener new OnClickListener public void onClick View source db close finish 13 4 修改数据界面 查找界面 对文本框内输入的数据进行精确查找 成功后转入修改界面 修改界面 14 文本框内默认显示之前的数据 修改完成点击确定以文本框内的信息对数据进行更新 核心代码 查找 btn Accept setOnClickListener new OnClickListener public void onClick View source String name ET Modify Name getText toString String NO ET Modify No getText toString Cursor cursor db rawQuery select from student where name and NO new String name NO 判断查找结果是否为空 15 if cursor moveToFirst false Toast makeText Modify this 记录不存在 Toast LENGTH SHORT show else String mem name null String mem No null String mem profession null String mem sex null String mem age null 保存所有数据 for cursor moveToFirst cursor isAfterLast cursor moveToNext int nameColume cursor getColumnIndex name int NoColume cursor getColumnIndex NO int proColume cursor getColumnIndex profession int sexColume cursor getColumnIndex sex int ageColume cursor getColumnIndex age mem name cursor getString nameColume mem No cursor getString NoColume mem profession cursor getString proColume mem sex cursor getString sexColume mem age cursor getString ageColume 封装所有数据 Bundle bundle new Bundle bundle putString name mem name bundle putString No mem No bundle putString profession mem profession bundle putString sex mem sex bundle putString age mem age 传递数据 Intent intent new Intent Modify this ModifyResult class intent putExtras bundle startActivity intent cursor close 16 btn Cancle setOnClickListener new OnClickListener public void onClick View source TODO Auto generated method stub db close finish 修改 public class ModifyResult extends Activity SQLiteDatabase db Button btn accept Button btn cancle TextView TextView ModifyResult No EditText ET ModifyResult Name EditText ET ModifyResult pro EditText ET ModifyResult age RadioGroup rg String radio sex protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout layout modifyresult 获取数据 final Intent intent getIntent Bundle bundle intent getExtras db SQLiteDatabase openDatabase this getFilesDir toString Student d b3 null SQLiteDatabase OPEN READWRITE 17 btn accept Button findViewById R id btn modifyresult accept btn cancle Button findViewById R id btn modifyresult cancle TextView ModifyResult No TextView findViewById R id TextView ModifyResult No ET ModifyResult Name EditText findViewById R id ET ModifyResult Name ET ModifyResult pro EditText findViewById R id ET ModifyResult pro ET ModifyResult age EditText findViewById R id ET ModifyResult age rg RadioGroup findViewById R id modify rg 设定默认数据 String name bundle getString name final String No bundle getString No String pro bundle getString profession String age bundle getString age radio sex bundle getString sex TextView ModifyResult No setText No ET ModifyResult Name setText name ET ModifyResult pro setText pro ET ModifyResult age setText age rg setOnCheckedChangeListener new OnCheckedChangeListener public void onCheckedChanged RadioGroup group int CheckedId radio sex CheckedId R id rad male 男 女 btn accept setOnClickListener new OnClickListener public void onClick View source String new name ET ModifyResult Name getText toString String new profession ET ModifyResult pro getText toString String new age ET ModifyResult age getText toString 18 String new sex radio sex 更新数据 try db execSQL UPDATE student SET name NO sex profession age WHERE NO new String new name No new sex new profession new age No catch SQLiteException e Toast makeText ModifyResult this 更新数据失败 Toast LENGTH SHORT show return Toast makeText ModifyResult this 更新数据成功 Toast LENGTH SHORT show finish btn cancle setOnClickListener new OnClickListener public void onClick View source db close finish 19 5 查找数据界面 对文本框内的数据进行模糊查询 查询成功则跳转只查询结果界面 查询失败则产生相应 提示 核心代码 public class Search extends Activity SQLiteDatabase db Button btn Accept Button btn Cancle EditText ET name EditText ET NO Override protected void onCreate Bundle savedInstanceState 20 requestWindowFeature Window FEATURE NO TITLE getWindow setFlags WindowManager LayoutParams FLAG FULLSCREEN WindowManager LayoutParams FLAG FULLSCREEN super onCreate savedInstanceState setContentView R layout layout search db SQLiteDatabase openDatabase this getFilesDir toString Student d b3 null SQLiteDatabase OPEN READWRITE btn Accept Button findViewById R id btn Accept btn Cancle Button findViewById R id btn Cancle ET name EditText findViewById R id ET Search name ET NO EditText findViewById R id ET Search NO btn Accept setOnClickListener new OnClickListener public void onClick View source String name ET name getText toString String NO ET NO getText toString 获取指针 Cursor cursor db rawQuery select from student where name or name or NO or NO new String name NO 检验查找是否为空 if cursor moveToFirst false Toast makeText Search this 记录不存在 Toast LENGTH SHORT show else Toast makeText Search this 成功 Toast LENGTH SHORT show return List p new ArrayList List re name new ArrayList 21 List info new ArrayList 保存数据 for cursor moveToFirst cursor isAfterLast cursor moveToNext int nameColume cursor getColumnIndex name int NOColume cursor getColumnIndex NO int proColume cursor getColumnIndex profession int sexColume cursor getColumnIndex sex int ageColume cursor getColumnIndex age Student student new Student student name 姓名 cursor getString nameColume student NO 学号 cursor getString NOColume student sex 性别 cursor getString sexColume student profession 专业 cursor getString proColume student age 年龄 cursor getString ageColume p add student String temp student MakeString info add temp String newname cursor getString nameColume re name add newname 封装数据 String Cur name new String re name size Cur name re name toArray Cur name String Cur info new String info size Cur info info toArray Cur info Bundle bundle new Bundle bundle putStringArray name Cur name Student data new Student data info Cur info 传递数据 Intent intent new Intent Search this SearchResult class 22 intent putExtras bundle intent putExtra data data startActivity intent cursor close btn Cancle setOnClickListener new OnClickListener public void onClick View source db close finish 6 删除数据界面 23 对文本框内输入的内容进行精确查询 若查询成功则对对应的条目进行删除 并提示删除 成功 若失败 则提示删除失败 核心代码 确定按钮点击后的监听事件 btn Accept setOnClickListener new OnClickListener public void onClick View source String name ET Modify Name getText toString String NO ET Modify No getText toString 查询数据 Cursor cursor db rawQuery select from student where name and NO new String name
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砖厂土方工程合同范本
- 饭店刀叉订购合同范本
- 酒水区域保护合同范本
- 运输合同价格补充协议
- 软件实施外包合同范本
- 道路材料运输合同范本
- 酒水商品购销合同范本
- 违反经济合同补偿协议
- 销售人员合同保密协议
- 购买技术定金合同范本
- 贸易公司合伙合同协议
- 挖机工时合同协议
- 开音节闭音节试题及答案
- 部编人教版小学一年级上册道德与法治全册教学设计
- 预防脊柱弯曲异常教案
- 辅导机构创业路演
- 2025年穿脱隔离衣的试题及答案
- 2025年移动初级解决方案经理认证理论考试指导题库-下(多选、判断题)
- 健身房卫生安全措施及服务质量提升方案
- DB14-T 1737-2024 医疗护理员培训机构服务规范
- 《混凝土砖块机:混凝土砖块机技术》课件
评论
0/150
提交评论