欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Android学生信息治理系统APP.doc

    • 资源ID:629883       资源大小:2MB        全文页数:28页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Android学生信息治理系统APP.doc

    -_AndroidAndroid 学生信息管理系统学生信息管理系统 APPAPP1、需求分析为了方便的进行对学生数据库的操作,本 app 可在 android 设备上进行对学生信息数据库的信息管理功能,具体功能如下:1.对数据库中所有学生姓名进行显示,对各个条目进行点击可展开具体信息2.查询数据:查询数据是根据姓名与学号两个条件进行查询,两者满足任一条件则进行模糊查询,两个条件同时满足则进行精确查询,查询结果界面与功能一中相同,以姓名排列,点击展开所有信息3.增加数据:在数据库中增添条目,包括姓名(字符串),学号(数字,主键),性别(单选框),年龄(数字),专业(字符串)。每个条目均有误输入设定,且主键可检查重复性,所有数据可检查完整性,若插入成功则会显示一条消息提示成功,若失败则会提示检查主键重复或者数据不完整4.修改数据:根据姓名学号进行精确查找,查找成功后转入修改界面,为了防止漏填与便捷修改界面会默认填充之前的数据(除学号),修改完毕即可更新,同样会检查数据完整性-_5.删除数据:根据姓名学号进行精确查找,查找成功则会进行删除,并显示一条删除成功的提示,若失败,也会进行提示2、概念结构设计ER 图:3、逻辑结构设计学生:姓名(字符串)学号(数字,主码)-_性别(单选框)年龄(数字)专业(字符串)create table student(name TEXT,NO TEXT Primary Key,sex TEXT,profession TEXT,age TEXT)4、具体实现1.主界面:-_主界面显示所有功能,每个按钮点击后,跳转进入相应功能核心代码: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;Overrideprotected 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()+“/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);tryCursor 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 void onClick(View source) /获取指针 Cursor cursor = db.rawQuery(“select * from student“, null);/判断数据库是否不存在任何数据 if(cursor.moveToFirst() = false)Toast.makeText(Main.this, “不存在记录“, Toast.LENGTH_SHORT).show();elseList 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);-_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 Stringre_name.size();Cur_name = re_name.toArray(Cur_name);String Cur_info = new Stringinfo.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);-_);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(););-_2.数据显示界面:按姓名排列,点击条目展开具体信息核心代码:public class SearchResult extends ActivitySuppressLint(“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();-_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 datagroupPositionchildPosition;public long getChildId(int groupPosition,int childPosition)return childPosition;public int getChildrenCount(int groupPosition)return datagroupPosition.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)-_TextView textView = getTextView();textView.setText(“ “+getChild(groupPosition,childPosition).toString();return textView;public Object getGroup(int groupPosition)return peoplegroupPosition;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);-_3.增添数据界面:根据文本框输入内容进行数据的插入,且具有完整性和重复性的判断,插入成功失败均会产生提示核心代码:public class Add extends Activity SQLiteDatabase db;Button btn_Accept;Button btn_Cancle;TextView ET_name;-_TextView ET_NO;TextView ET_Pro;TextView ET_Age;RadioGroup rg;String radio_sex = “男“;Overrideprotected 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.db3“, 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) -_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(););-_4.修改数据界面:查找界面:对文本框内输入的数据进行精确查找,成功后转入修改界面修改界面:-_文本框内默认显示之前的数据,修改完成点击确定以文本框内的信息对数据进行更新核心代码:查找: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);/判断查找结果是否为空-_if(cursor.moveToFirst() = false)Toast.makeText(Modify.this, “记录不存在“, Toast.LENGTH_SHORT).show();elseString 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();-_);btn_Cancle.setOnClickListener(new OnClickListener()public void onClick(View source) / TODO Auto-generated method stubdb.close();finish(););修改:public class ModifyResult extends ActivitySQLiteDatabase 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.db3“, null,SQLiteDatabase.OPEN_READWRITE);-_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();-_String new_sex = radio_sex;/更新数据 trydb.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(););-_5.查找数据界面:对文本框内的数据进行模糊查询,查询成功则跳转只查询结果界面,查询失败则产生相应提示核心代码:public class Search extends Activity SQLiteDatabase db;Button btn_Accept;Button btn_Cancle;EditText ET_name;EditText ET_NO;Overrideprotected 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_search);db = SQLiteDatabase.openDatabase(this.getFilesDir().toString()+“/Student.db3“, 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();elseToast.makeText(Search.this, “成功“, Toast.LENGTH_SHORT).show();/return;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);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 Stringre_name.size();Cur_name = re_name.toArray(Cur_name);String Cur_info = new Stringinfo.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);-_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.删除数据界面:-_对文本框内输入的内容进行精确查

    注意事项

    本文(Android学生信息治理系统APP.doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开