版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
教學單位教學單位計算機學院學年2023-2023學期第二學期《物聯(lián)網(wǎng)移動應(yīng)用開發(fā)》課程設(shè)計報告設(shè)計題目:學生信息管理系統(tǒng)專業(yè)班級:2023級物聯(lián)網(wǎng)3班姓名:指導(dǎo)教師:2023年6月24日目錄1課程設(shè)計概述 11.1任務(wù)背景 11.2開發(fā)環(huán)境 11.3人員分派與進度安排 22需求分析 32.1功能需求 32.2性能需求 32.3安全性需求 33系統(tǒng)設(shè)計與實現(xiàn) 43.1系統(tǒng)總體設(shè)計 43.2數(shù)據(jù)庫設(shè)計與實現(xiàn) 53.2.1數(shù)據(jù)庫E-R圖 53.2.2基表設(shè)計 63.3功能具體設(shè)計與實現(xiàn) 73.3.1注冊模塊設(shè)計與實現(xiàn) 73.3.2用戶登錄模塊設(shè)計與實現(xiàn) 103.3.3用戶修改模塊設(shè)計與實現(xiàn) 123.3.4用戶查詢模塊設(shè)計與實現(xiàn) 143.3.5管理員修改記錄模塊設(shè)計與實現(xiàn) 153.3.6管理員查詢記錄模塊設(shè)計與實現(xiàn) 173.3.7管理員刪除記錄模塊設(shè)計與實現(xiàn) 183.3.8菜單模塊設(shè)計與實現(xiàn) 194系統(tǒng)測試 214.1測試環(huán)境 214.2模塊測試 214.2.1注冊模塊測試 214.2.2用戶登錄模塊測試 224.2.3用戶查詢模塊測試 244.2.4用戶修改模塊測試 254.2.5管理員管理模塊測試 264.2.6管理員插入記錄模塊測試 274.2.7管理員刪除記錄模塊測試 274.2.8菜單模塊測試 29總結(jié)與展望 31物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計成績表 32物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計學習體會 331課程設(shè)計概述1.1任務(wù)背景學生信息管理是學校管理中異常重要的一個環(huán)節(jié),作為學校,除了育人,就是育知,學生信息管理的計算機化是整個學校教務(wù)管理中的重要一部分,能否實現(xiàn)這一步關(guān)系到學校辦學整體效率的高低,由于它的重要性,學生信息管理系統(tǒng)的開發(fā)與應(yīng)用就逐漸提入議程,并占著越來越重要的份量。運用學生信息管理系統(tǒng)可以減輕學院教學人員的工作量,縮小開支,提高工作效率與準確率,可以合理安排時間,可以盡快的知道自己的考試成績,投入新的課程的學習或復(fù)習這次沒有考過的課程。而學生信息管理系統(tǒng)的應(yīng)用也為今天的民辦教育在未來市場的競爭力有所提高。從大的方向說,就是為了加速我國四化建設(shè)的發(fā)展,實現(xiàn)所有的自動化,使我國發(fā)展成為通訊網(wǎng)絡(luò)化,決策科學化,辦公自動化的國家。在現(xiàn)代,高科技的奔騰發(fā)展,人們工作習慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來越快,如何提高工作效率是人們一方面考慮的問題。學生信息管理是一個非常繁瑣與復(fù)雜的一項工作,一個因素就是工作量大不好管。對于一個學校而言,更應(yīng)當運用一些本地資源,提高管理的力度,對學生負責,對國家負責。開發(fā)學生信息管理系統(tǒng)手機客戶端旨在方便管理學生信息,使同學android智能手機就可以管理學生信息,真正做到互聯(lián)網(wǎng)的全方位覆蓋。管理學生信息系統(tǒng)合用于具有android智能手機的用戶,在使用本軟件后,學生信息管理將更加方便快捷。1.2開發(fā)環(huán)境開發(fā)此管理學生信息系統(tǒng)需要用到如下軟件環(huán)境。(1)Eclipse編程軟件。Eclipse是一個相稱著名的開源JavaIDE,重要以其開放性、極為高效的GUI、先進的代碼編輯器等著稱,其項目涉及許多各種各樣的子項目組,涉及Eclipse插件、功能部件等,重要采用SWT界面庫,支持多種本機界面風格。Eclipse是一個綜合開發(fā)環(huán)境(Integrated
Development
Environment)IDE,它是一個功能完整且成熟的軟件,由IBM公司于2023年初次推出。(2)JDK1.7。系統(tǒng)選此作為開發(fā)環(huán)境,由于JDK1.7版本是目前JDK最新的版本,有許多開發(fā)者用到的功能,可以通過不同的操作系統(tǒng)平臺在官方網(wǎng)站上免費下載使用。(3)ADT簡介目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡樸理解為在Eclipse下開發(fā)工具的升級下載工具。(4)Android系統(tǒng)。Android系統(tǒng)平臺的手機功能強大,此系統(tǒng)開源、應(yīng)用程序無界線,隨著Android手機的普及,Android應(yīng)用的需求勢必會越來越大,這是一個潛力巨大的市場,會吸引無數(shù)軟件開發(fā)廠商和開發(fā)者投身其中。(5)計算機硬件系統(tǒng)。CPU規(guī)定P41.8GHz以上,內(nèi)存規(guī)定512MB以上。1.3人員分派與進度安排表1人員分派與進度安排表時間任務(wù)分派完畢人員完畢限度6月20日了解項目相關(guān)信息,掌握項目基本功能,環(huán)境搭建所有人員完畢6月21日系統(tǒng)框架設(shè)計,登錄、注冊、修改密碼等界面布局張珍、李恒完畢所有資源的查詢收集,需求分析李恒、董永朋完畢6月22日系統(tǒng)所有界面的布局、頁面跳轉(zhuǎn),以及項目整合張珍、梁志偉、董永朋完畢部分文檔的編寫李恒、董永朋完畢6月23日Java代碼以及布局界面的整合張珍、梁志偉完畢完善文檔中用戶登錄模塊的功能以及其他模塊、制作答辯PPT張珍、李恒、董永朋、梁志偉完畢6月24日答辯所有人完畢2需求分析2.1功能需求本系統(tǒng)扮演著提供用戶直接查詢業(yè)務(wù)的重要角色。它重要提供和諧的、方便的用戶操作界面。接受用戶的注冊、各項查詢以及密碼的修改,具體的功能如下:用戶功能:1.注冊功能:用戶初次登陸Android客戶端需要注冊自己的姓名(用戶名)、密碼、EMAIL和班級。2.查看個人信息功能:;用戶通過登陸自己的用戶名和密碼可以查看自己的個人信息。3.修改個人信息功能:用戶點擊修改資料按鈕可以修改自己的姓名(用戶名)、密碼、年齡、EMAIL、班級等個人信息。管理員功能:1.查詢信息功能:管理員通過登陸賬戶密碼,可以查看所有用戶信息。2.增長信息功能:管理員可以增長用戶。3.修改信息功能:管理員可以修改用戶注冊的信息。4.刪除信息功能:管理員可以刪除用戶注冊的信息2.2性能需求(1)互相合作的用戶數(shù)量:無上限。(2)系統(tǒng)支持的并發(fā)操作數(shù)量:記錄相關(guān)信息無上限,設(shè)立相關(guān)信息時一時間只能有一個用戶設(shè)立相應(yīng)的相關(guān)信息。(3)一般操作的響應(yīng)時間應(yīng)在3~5秒內(nèi),響應(yīng)時間也應(yīng)在可接受的時間內(nèi)完畢,具體情況以網(wǎng)絡(luò)速度為限制。(4)與實時系統(tǒng)的時間關(guān)系:時間一一相應(yīng)。2.3安全性需求系統(tǒng)用戶通過用戶名和密碼方式來控制用戶對數(shù)據(jù)的訪問與操作,不同的用戶權(quán)限不同,保證對的的用戶使用對的的數(shù)據(jù)。每個用戶在第一次登錄后,必須更改他的系統(tǒng)預(yù)置登錄密碼,系統(tǒng)預(yù)置的登錄密碼不能重用。3系統(tǒng)設(shè)計與實現(xiàn)3.1系統(tǒng)總體設(shè)計Android手機客戶端功能:(1)登錄學生信息管理系統(tǒng)android手機客戶端,用戶可以隨時隨地通過手機登錄信息管理系統(tǒng)的客戶端。(2)注冊賬號,用戶若沒有賬號,可以通過手機客戶端進行注冊成為系統(tǒng)會員。(3)查看并修改個人信息,用戶通過登陸可以查看自己的個人信息,假如用戶個人信息發(fā)生了改變,用戶可以通過手機登錄的方式方便地更改個人信息,這也為信息管理系統(tǒng)用戶的信息資料提供了便利。(4)管理員可以通過手機登錄的方式方便地對學生的信息進行增長、刪除、修改以及刪除等操作。系統(tǒng)功能圖以及系統(tǒng)流程圖如下圖所示:圖1系統(tǒng)功能圖系統(tǒng)的流程為:一方面是通過輸入的用戶名和密碼判斷登錄人員是學生還是管理員。若為學生可進行注冊、查詢、修改操作。若為管理員可進行學生信息的添加、修改、刪除、查詢等操作。圖2系統(tǒng)流程圖3.2數(shù)據(jù)庫設(shè)計與實現(xiàn)3.2.1數(shù)據(jù)庫E-R圖(1)用戶實體涉及姓名、年齡、密碼、班級、學號、編號,如圖3所示。用戶用戶密碼編號學號姓名年齡班級圖3用戶實體的E-R圖(2)管理員實體涉及登錄名、性別、密碼,如圖4所示。管理員管理員登錄名密碼圖4管理員實體的E-R圖(3)學生實體涉及姓名、年齡、密碼、班級、學號、編號,如圖5所示。學生學生密碼編號學號姓名年齡班級圖5學生實體的E-R圖3.2.2基表設(shè)計系統(tǒng)重要有以下表:表2用戶表字段編號字段名稱數(shù)據(jù)類型主鍵是否為空說明1Idvarchar(20)是否學生注冊ID2Namevarchar(20)否否學生姓名3Passvarchar(20)否否登陸密碼4Agevarchar(20)否否學生年齡5Classvarchar(20)否否學生班級6Numbervarchar(20)否否學生學號表3學生表字段編號字段名稱數(shù)據(jù)類型主鍵是否為空說明1Idvarchar(20)是否學生注冊ID2Namevarchar(20)否否學生姓名3Passvarchar(20)否否登陸密碼4Agevarchar(20)否否學生年齡5Classvarchar(20)否否學生班級6Numbervarchar(20)否否學生學號表4管理員表字段編號字段名稱數(shù)據(jù)類型主鍵是否為空說明1Adnamevarchar(20)是否管理員登陸名2Adpwdvarchar(20)否否管理員密碼3.3功能具體設(shè)計與實現(xiàn)3.3.1注冊模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是得到用戶的輸入的信息,然后將其保存到數(shù)據(jù)庫。其中具體實現(xiàn)時要進行相應(yīng)的驗證,這塊重要是驗證用戶名不能相同,每項數(shù)據(jù)不能為空。若用戶名相同時提醒用戶重新更換用戶名,如有數(shù)據(jù)輸入為空時也會提醒用戶填寫完信息。重要用到的方法是Insert命令,其參數(shù)如下:Longinsert(Stringtable,StringnullColumnHack,ContentValuesvalues)其中,第一個參數(shù)是想要插入數(shù)據(jù)的表名;第二個參數(shù)nullColumnHack的含義是由于SQL不允許空行插入,當初始化為空值時,這一列將會顯式地賦一個null值;第三個參數(shù)values是要插入的值。有關(guān)插入數(shù)據(jù)的代碼如下,先構(gòu)造一個ContentValues對象cv,然后調(diào)用ContentValues對象cv的input()方法,將每個屬性的值寫入到ContValues對象中,隨后使用SQLiteDatabase對象db的insert()函數(shù),將ContValues對象的cv中的數(shù)據(jù)寫入到指定的數(shù)據(jù)庫表中。具體代碼如下:bt_reg.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){ finalStringnameStr=mname.getText().toString();finalStringpassStr=mpass.getText().toString();finalStringemailStr=memail.getText().toString();finalStringclassnameStr=mclassname.getText().toString(); //用戶名不為空if(null==nameStr.trim()||"".equals(nameStr.trim())){AlertDialogdialog=newAlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage("學號不能為空!").setPositiveButton("擬定",newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhich){ } }).create(); dialog.show(); mname.requestFocus(); return; }//密碼不為空if(null==passStr.trim()||"".equals(passStr.trim())){ AlertDialogdialog=newAlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage("密碼不能為空!").setPositiveButton("擬定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhi } }).create(); dialog.show(); mpass.requestFocus(); return; } //email if(null==emailStr.trim()||"".equals(emailStr.trim())){ AlertDialogdialog=newAlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage("email不能為空!").setPositiveButton("擬定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhich){ } }).create(); dialog.show();memail.requestFocus();return; }//班級不能為空 if(null==classnameStr.trim()||"".equals(classnameStr.trim())){AlertDialogdialog=newAlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage("班級不能為空!").setPositiveButton("擬定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhich){ } }).create(); dialog.show(); mclassname.requestFocus(); return; }Integerresult=dao.checkZhuce(nameStr);if(result>0){ Toast.makeText(AddUserActivity.this,"用戶名已用,請重新輸入!",Toast.LENGTH_LONG).show(); return; }else{//插入數(shù)據(jù) mrecords=newRecords(); mrecords.setName(mname.getText().toString()); mrecords.setPass(mpass.getText().toString()); mrecords.setEmail(memail.getText().toString()); mrecords.setClassname(mclassname.getText().toString()); mrecords.setDatetime(getDateString()); dao.InsertRecord(mrecords);//插入方法 Toast.makeText(AddUserActivity.this,R.string.addsuccess,Toast.LENGTH_LONG).show(); finish(); System.gc();} }});圖6注冊模塊實際效果圖3.3.2用戶登錄模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是得到用戶的輸入的信息,并將其保存到配置文獻中,然后在數(shù)據(jù)庫中進行驗證,若有此人則登陸成功,調(diào)到此人信息界面,否則登錄失敗。其中具體實現(xiàn)時要進行相應(yīng)的驗證,這塊重要是驗證用戶名和密碼不能為空,為空時進行和諧提醒。具體代碼如下:publicvoidinitUI(){//登錄btn1=(Button)this.findViewById(R.id.bt_login);btn1.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){//獲取文本對象 Stringname=field_name.getText().toString(); Stringpass=filed_pass.getText().toString();//判斷輸入是否為空 if(name.equals("")||null==name){ Toast.makeText(LoginActivity.this,"用戶名不為空",Toast.LENGTH_SHORT).show(); field_name.requestFocus(); return; } if(pass.equals("")||null==pass){ Toast.makeText(LoginActivity.this,"密碼不為空",Toast.LENGTH_SHORT).show(); filed_pass.requestFocus(); return; }//獲取返回的數(shù)量Integerresult=dao.checkLogin(name,pass); if(result>0){ Toast.makeText(LoginActivity.this,"登錄成功",Toast.LENGTH_SHORT).show();SharedPreferencessp=getSharedPreferences(PREFS_NAME,0);//寫入配置文獻 EditorspEd=sp.edit(); spEd.putString("userName",name); spEd.putString("userPassword",pass); spEmit(); Intentintent=newIntent(); intent.setClass(LoginActivity.this,UserInfo.class); startActivity(intent);//轉(zhuǎn)向添加頁面}else{Toast.makeText(LoginActivity.this,"登錄失敗",Toast.LENGTH_SHORT).show(); }}});圖7登陸設(shè)計效果圖3.3.3用戶修改模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是得到用戶的輸入的信息,然后將其保存到數(shù)據(jù)庫。其中具體實現(xiàn)時要進行相應(yīng)的驗證,這塊重要是驗證用戶名不能相同,每項數(shù)據(jù)不能為空。若用戶名相同時提醒用戶重新更換用戶名,如有數(shù)據(jù)輸入為空時也會提醒用戶填寫完信息。重要應(yīng)用的方法是:intupdate(Stringtable,ContentValuesvalues,StringwhereClause,String[]whereArgs)上述語句重要用于修改表中的數(shù)據(jù),update語句有四個參數(shù):table是想要修改數(shù)據(jù)的表名;value是要更新的值;whereClause是可選的子句。假如其值為null,將會修改所有的行;whereArgs是當whereClaus中包含“?”時,并且whereArgs的值不為null,則這個數(shù)組中的值依次替換whereClause中出現(xiàn)的“?”。有關(guān)修改的數(shù)據(jù)的代碼如下:btn1=(Button)this.findViewById(R.id.bt_update);btn1.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){ updateContact();}});}//更新變更的信息 privatevoidupdateContact() { if(mCursor!=null) { mrecords=newRecords(); mrecords.setName(et_id.getText().toString()); mrecords.setName(et_name.getText().toString()); mrecords.setPass(et_pass.getText().toString());mrecords.setEmail(et_email.getText().toString()); mrecords.setAge(Integer.valueOf(et_age.getText().toString())); mrecords.setClassname(et_classname.getText().toString()); dao.UpdateRecord(mrecords,Integer.valueOf(et_id.getText().toString()));//修改Toast.makeText(EditUser.this,R.string.updatesuccess,Toast.LENGTH_LONG).show(); this.finish(); Intentintent=newIntent(); intent.setClass(EditUser.this,UserInfo.class); startActivity(intent); }}}圖8修改模塊編輯效果圖3.3.4用戶查詢模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是查詢用戶信息,用戶可以看到自己的基本信息。具體代碼如下:Bundlebundle=this.getIntent().getExtras();finalStringuid=bundle.getString("UID");mCursor=dao.select_info(uid); mCursor.moveToFirst();if(!("".equals(uid))){ //查詢用戶信息 if(mCursor!=null){ et_id.setText(mCursor.getString(0)); et_name.setText(mCursor.getString(1)); et_pass.setText(mCursor.getString(2)); et_age.setText(mCursor.getString(3)); et_email.setText(mCursor.getString(6)); et_classname.setText(mCursor.getString(4)); } else{ Toast.makeText(this,"查無此人!",Toast.LENGTH_SHORT).show(); } mCursor.close();}圖9查詢模塊設(shè)計效果圖3.3.5管理員修改記錄模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是得到管理員輸入的信息,然后將其保存到數(shù)據(jù)庫。其中具體實現(xiàn)時要進行相應(yīng)的驗證,這塊重要是驗證用戶名不能相同,每項數(shù)據(jù)不能為空。若用戶名相同時提醒用戶重新更換用戶名,如有數(shù)據(jù)輸入為空時也會提醒用戶填寫完信息。具體代碼如下:btn1=(Button)this.findViewById(R.id.bt_update);btn1.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){ updateContact();}});}//更新變更的信息 privatevoidupdateContact() { if(mCursor!=null) { mrecords=newRecords(); mrecords.setName(et_id.getText().toString()); mrecords.setName(et_name.getText().toString()); mrecords.setPass(et_pass.getText().toString()); mrecords.setEmail(et_email.getText().toString());mrecords.setAge(Integer.valueOf(et_age.getText().toString()));mrecords.setClassname(et_classname.getText().toString())dao.UpdateRecord(mrecords,Integer.valueOf(et_id.getText().toString()));//修改Toast.makeText(EditUser.this,R.string.updatesuccess,Toast.LENGTH_LONG).show(); this.finish(); Intentintent=newIntent(); intent.setClass(EditUser.this,UserInfo.class); startActivity(intent); }}3.3.6管理員查詢記錄模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是根據(jù)姓名查詢學生的基本信息。其中具體實現(xiàn)時要進行相應(yīng)的驗證,這塊重要是驗證用戶名要存在,用戶名不能為空。若用戶名不存在提醒管理員輸入對的的用戶名,如有數(shù)據(jù)輸入為空時也會提醒管理員填寫完信息。Select語句內(nèi)容作為query()方法的參數(shù),除了表名,其他參數(shù)可以是null。該query方法及其相應(yīng)的參數(shù)含義如下:Cursorquery(Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Srtinghaving,StringorderBy,stringlimit):query()中的參數(shù)意義依次為:eq\o\ac(○,1)table為表名且不可為null。eq\o\ac(○,2)columns為要返回的列名數(shù)組,取值為null表達返回所有列。eq\o\ac(○,3)selection為where子句,此處將要填的參數(shù)寫為“?”供下方的selectionArgs填充,假如其值為null,將會返回所有的行。eq\o\ac(○,4)selectionArgs為where子句所需值,該數(shù)組依次填充selection中的每一個問號。eq\o\ac(○,5)groupBy為分組子句,假如其值為null,將不會對結(jié)果集進行分組。having為和groupBy配套使用的條件子句,假如having值為null,將會包含所有的分組。eq\o\ac(○,6)orderBy為排序子句,假如orderBy值為null,將會使用默認的排序規(guī)則。eq\o\ac(○,7)limit是可選的子句,假如其值為null,將不會包含limit子句。具體代碼如下: if(mCursor!=null){ et_id.setText(mCursor.getString(0)); et_name.setText(mCursor.getString(1)); et_pass.setText(mCursor.getString(2)); et_age.setText(mCursor.getString(3)); et_email.setText(mCursor.getString(6)); et_classname.setText(mCursor.getString(4)); } mCursor.close();}圖10管理員查詢模塊設(shè)計效果圖圖11管理員查詢模塊設(shè)計效果圖3.3.7管理員刪除記錄模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是刪除學生的記錄信息,在刪除時為了防止誤刪進行了兩次和諧提醒,詢問管理員是否擬定刪除該記錄。刪除數(shù)據(jù)的方法:Intdeldete(Stringtable,StringwhereClause,String[]whereArgs)上述語句用于從表刪除一行數(shù)據(jù),其中table是想要刪除數(shù)據(jù)的表白,whereClause可選的where子句(假如其值為null,將會刪除所有的行);當在whereClause中包含“?”時,假如whereArgs的值不為null,則這個數(shù)組中的值將依次替換whereClause中出現(xiàn)的“?”。具體代碼如下:btn2=(Button)this.findViewById(R.id.bt_exit);btn2.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){ SharedPreferencessp=getSharedPreferences(PREFS_NAME,0);//寫入配置文獻EditorspEd=sp.edit();spEd.putString("userName","");spEd.putString("userPassword","");spEmit();Intentintent=newIntent(); intent.setClass(UserInfo.this,LoginActivity.class); startActivity(intent);//轉(zhuǎn)向添加頁面}});3.3.8菜單模塊設(shè)計與實現(xiàn)該模塊重要設(shè)計是為了防止有人不會操作此操作,通過菜單的幫助選項可以得到管理員的QQ和郵箱,便可進行征詢。//加載菜單publicbooleanonCreateOptionsMenu(Menumenu){super.onCreateOptionsMenu(menu);menu.add(0,HELP_ID,0,R.string.helps)//返回列表 .setShortcut('4','d') .setIcon(R.drawable.helps);menu.add(0,EXITUser_ID,0,R.string.exit) .setShortcut('4','d') .setIcon(R.drawable.exit);returntrue;}//解決菜單操作publicbooleanonOptionsItemSelected(MenuItemitem){switch(item.getItemId()){ caseHELP_ID://幫助中心 this.finish(); Intentintent=newIntent(); intent.setClass(LoginActivity.this,Help.class); startActivity(intent); returntrue; caseEXITUser_ID: System.exit(0);//退出程序 returntrue; } returnsuper.onOptionsItemSelected(item);}圖12菜單模塊實際效果圖4系統(tǒng)測試4.1測試環(huán)境測試環(huán)境即測試的實行環(huán)境,涉及:1.軟件測試設(shè)計環(huán)境:編制測試計劃說明等有關(guān)文獻所基于的設(shè)備和支持。2.軟件測試實行環(huán)境:對軟件系統(tǒng)進行各級測試所基于的軟、硬件設(shè)備和支持。3.軟件測試管理環(huán)境:管理測試資源所基于的軟、硬件設(shè)備和支持本系統(tǒng)重要使用的是Eclipse(一個開放源代碼的、基于Java的可擴展開發(fā)平臺)以及Android手機。4.2模塊測試4.2.1注冊模塊測試注冊時需要輸入姓名、密碼、學號以及班級。假如該用戶名已被用過,則會提醒用戶重新輸入,測試結(jié)果如下圖所示:圖13注冊失敗結(jié)果圖圖14注冊成功測試圖4.2.2用戶登錄模塊測試用戶登錄模塊需要輸入用戶名以及密碼,否則不能登錄并有用戶名不能為空的提醒。若登錄時用戶名和密碼錯誤,則會提醒登錄失敗,否則提醒成功。圖15登錄失敗圖圖16登錄失敗圖圖17登錄成功圖4.2.3用戶查詢模塊測試當用戶登錄成功以后便可查看自己的基本信息。如下圖所示:圖18用戶查詢信息模塊圖4.2.4用戶修改模塊測試點擊修改資料,可對用戶的相關(guān)資料進行修改,修改成功可查看到修改后的用戶資料。圖19密碼、年齡修改前圖圖20密碼、年齡修改時圖圖21密碼、年齡修改后圖4.2.5管理員管理模塊測試該模塊只能管理員操作,管理員可進行查看用戶的信息、增長新用戶,按姓名查詢用戶、刪除用戶信息等操作。界面如下圖所示:圖22管理員管理模塊圖4.2.6管理員插入記錄模塊測試當管理員點擊增長按鈕后即可增長新用戶,如下圖所示:圖23插入前圖圖24插入后圖4.2.7管理員刪除記錄模塊測試管理員長時間按住某一條用戶的記錄即可刪除用戶,刪除的同時有對話框提醒你是否擬定刪除,防止誤刪和錯刪,刪除成功后也會有刪除成功的提醒。圖25刪除前圖圖26刪除提醒對話框圖圖27刪除成功后圖4.2.8菜單模塊測試該模塊重要是有兩個功能,一個是幫助,一個是注銷。經(jīng)測試這兩個功能均可實現(xiàn)。測試圖如下:圖28菜單圖圖29幫助功能圖
總結(jié)與展望本次課程設(shè)計,讓我獲益匪淺,以前在學Android時,雖然上課也好好聽老師講,但是在課后自己沒有親自動手實踐過,現(xiàn)在有許多知識都忘掉了。。所以,在課程設(shè)計中我經(jīng)常碰到許多問題,這次課程設(shè)計我們是分組做的,每個組都有四個成員,我們可以共同完畢一個軟件。在我們小組中,我們碰到問題,我們會一起討論,一起問老師或者其他會的同學。當然,許多時候我們會不斷地翻Android。通過這次Android軟件開發(fā)的課程設(shè)計,我們更進一步的了解Android這門學科,更使自己有了繼續(xù)探索的愛好。這次課設(shè)我們組重要學習到了:1.復(fù)習、鞏固Android語言的基礎(chǔ)知識,進一步加深對Android語言的理解和掌握;搭建一個完整的安卓開發(fā)環(huán)境。
2.課程設(shè)計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結(jié)合起來,鍛煉學生的分析解決實際問題的能力,提高學生適應(yīng)實際,實踐編程的能力;
3.培養(yǎng)我們在項目開發(fā)中團隊合作精神,創(chuàng)新意識及能力。在此后的學習中,我們定將“認真嚴謹”時刻作為自的謹言。與此同時,我們小組成員的互幫互助,讓我們體會到了團結(jié)的力量,而更讓人難以忘懷的是在熱烈討論問題時,那激情橫溢的場面??傊敬握n程設(shè)計在我們學習Android的過程中起到了至關(guān)重要的作用,也為我們將來從事Android這個行業(yè)打下了良好的基礎(chǔ)。項目名學生信息管理系統(tǒng)組長張珍成員學號姓名分工任務(wù)分數(shù)代碼編寫、系統(tǒng)框架設(shè)計、界面跳轉(zhuǎn)、答辯數(shù)據(jù)庫的操作、系統(tǒng)測試、代碼整合、PPT制作修改密碼等界面布局、文檔編寫與編排資料查詢及需求分析、文檔編排教師評語該組同學完畢了課程設(shè)計的任務(wù)與目的,所設(shè)計的系統(tǒng)滿足課設(shè)方案的規(guī)定。小組的課程設(shè)計題目是《學生信息管理系統(tǒng)》,小組全體成員在組長的組織下,通過認真討論和分析,擬定了系統(tǒng)要完畢的基本任務(wù),并進行了合理的分工,在課程設(shè)計期間,可以天天準時出勤,課堂紀律良好,分工合理,工作量比較飽滿。通過答辯驗收,順利完畢了課設(shè)所規(guī)定的Android客戶端界面的設(shè)計,用戶登陸注冊模塊、信息錄入模塊和信息查詢修改模塊的的功能設(shè)計,管理員登陸,查詢、修改、插入、刪除信息等模塊等功能模塊的功能設(shè)計,該小組基本完畢了課程設(shè)計的任務(wù)和規(guī)定。由于時間有限,系統(tǒng)存在諸如學生信息錄入時頭像的動態(tài)加入功能局限性等問題,希望以后進一步修改完善。教師署名:年月日物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計成績表物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計學習體會姓名學號任務(wù)代碼編寫系統(tǒng)框架設(shè)計答辯學習體會Android課程設(shè)計和現(xiàn)代計算機技術(shù)的實際應(yīng)用相結(jié)合,是我們在本階段學完理論課程之后對自己該方面的能力的一次很好的檢查,從開始的算法思緒到運營調(diào)試后的美觀的圖形界面以及另人興奮的可用程序,都是一個很好的學習和鍛煉的過程。使我們鞏固了原有的理論知識,培養(yǎng)了我們靈活運用和組合集成所學過知識及技能來分析、解決實際問題的能力。使我們體會到自身知識和能力能在實際中的應(yīng)用和發(fā)揮。不僅可以激發(fā)創(chuàng)新意識,還可以開發(fā)發(fā)明能力、培養(yǎng)溝通能力。這次實習時間雖然僅有一個星期,但的確使我受益非淺。本次課程設(shè)計中我擔任組長一職,在于大家的合作中,我積極發(fā)揮組長的職責,帶領(lǐng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年剪輯師用工勞動合同
- 商場專柜聯(lián)營協(xié)議書
- 個體與個體之間的借款協(xié)議文本
- 2024年教師勞動合同協(xié)議書
- 2024年肉雞飼料購銷合同全文-
- 消防行業(yè)勞務(wù)合同樣例
- 投標保密承諾書轉(zhuǎn)讓協(xié)議2024年
- 廣東省新鮮果蔬采購合同協(xié)議模板
- 集體土地上房屋搬遷補償協(xié)議
- 企業(yè)環(huán)境清潔臨時工雇傭合同
- 稅收法律制度增值稅概述課件
- 講稿表觀遺傳學-non-cordingrna p
- 【國企】火力發(fā)電工程建設(shè)安全標準化圖冊230P
- 二年級寫話最喜歡的玩具范文
- 【自考練習題】云南大學滇池學院概率論與數(shù)理統(tǒng)計真題匯總(附答案解析)
- 視頻號精細化運營培訓課件
- 2021譯林版高中英語選擇性必修一~四課文翻譯
- (整理)打印機配件英文名稱
- DB13T 5274-2020 醫(yī)療機構(gòu)安全生產(chǎn)風險管控與隱患排查治理規(guī)范
- 醫(yī)用氧管理制度
- 白血病試題及答案
評論
0/150
提交評論