




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、教學(xué)單位 計算機(jī)學(xué)院 學(xué) 年 2015-2016 學(xué) 期 第二學(xué)期 物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計報告設(shè)計題目: 學(xué)生信息管理系統(tǒng) 專業(yè)班級: 2013級物聯(lián)網(wǎng)3班 姓 名: 指導(dǎo)教師: 2016年6月24日目 錄1 課程設(shè)計概述11.1任務(wù)背景11.2開發(fā)環(huán)境11.3 人員分配與進(jìn)度安排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)5數(shù)據(jù)庫E-R圖5基表設(shè)計63.3 功能詳細(xì)設(shè)計與實現(xiàn)73.3.1 注冊模塊設(shè)計與實現(xiàn)73.3.2 用戶登錄模塊設(shè)計與實現(xiàn)103.3.3 用戶修改模塊設(shè)計與實現(xiàn)123.3.4 用戶查詢模
2、塊設(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è)計學(xué)習(xí)體會331 課程設(shè)計概述1
3、.1任務(wù)背景學(xué)生信息管理是學(xué)校管理中異常重要的一個環(huán)節(jié),作為學(xué)校,除了育人,就是育知,學(xué)生信息管理的計算機(jī)化是整個學(xué)校教務(wù)管理中的重要一部分,能否實現(xiàn)這一步關(guān)系到學(xué)校辦學(xué)整體效率的高低,由于它的重要性,學(xué)生信息管理系統(tǒng)的開發(fā)與應(yīng)用就逐漸提入議程,并占著越來越重要的份量。 運用學(xué)生信息管理系統(tǒng)可以減輕學(xué)院教學(xué)人員的工作量,縮小開支,提高工作效率與準(zhǔn)確率,能夠合理安排時間,能夠盡快的知道自己的考試成績,投入新的課程的學(xué)習(xí)或復(fù)習(xí)這次沒有考過的課程。而學(xué)生信息管理系統(tǒng)的應(yīng)用也為今天的民辦教育在未來市場的競爭力有所提高。從大的方向說,就是為了加速我國四化建設(shè)的發(fā)展,實現(xiàn)全部的自動化,使我國發(fā)展成為通訊網(wǎng)
4、絡(luò)化,決策科學(xué)化,辦公自動化的國家。 在現(xiàn)代,高科技的飛躍發(fā)展,人們工作習(xí)慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來越快,怎樣提高工作效率是人們首先考慮的問題。學(xué)生信息管理是一個非常繁瑣與復(fù)雜的一項工作,一個原因就是工作量大不好管。對于一個學(xué)校而言,更應(yīng)該運用一些本地資源,提高管理的力度,對學(xué)生負(fù)責(zé),對國家負(fù)責(zé)。開發(fā)學(xué)生信息管理系統(tǒng)手機(jī)客戶端旨在方便管理學(xué)生信息,使同學(xué)android智能手機(jī)就可以管理學(xué)生信息,真正做到互聯(lián)網(wǎng)的全方位覆蓋。管理學(xué)生信息系統(tǒng)適用于具有android智能手機(jī)的用戶,在使用本軟件后,學(xué)生信息管理將更加方便快捷。1.2開發(fā)環(huán)境開發(fā)此管理學(xué)生信息系統(tǒng)需要用到如下軟件
5、環(huán)境。(1)Eclipse 編程軟件。Eclipse是一個相當(dāng)著名的開源Java IDE,主要以其開放性、極為高效的GUI、先進(jìn)的代碼編輯器等著稱,其項目包括許多各種各樣的子項目組,包括 Eclipse插件、功能部件等,主要采用SWT界面庫,支持多種本機(jī)界面風(fēng)格。Eclipse是一個綜合開發(fā)環(huán)境(IntegratedDevelopmentEnvironment)IDE,它是一個功能完整且成熟的軟件,由IBM公司于2001年首次推出。 (2)JDK 1.7。系統(tǒng)選此作為開發(fā)環(huán)境,因為JDK 1.7版本是目前JDK最新的版本,有許多開發(fā)者用到的功能,可以通過不同的操作系統(tǒng)平臺在官方網(wǎng)站上免費下載使
6、用。(3)ADT簡介目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。(4)Android系統(tǒng)。Android系統(tǒng)平臺的手機(jī)功能強(qiáng)大,此系統(tǒng)開源、應(yīng)用程序無界限,隨著Android手機(jī)的普及,Android應(yīng)用的需求勢必會越來越大,這是一個潛力巨大的市場,會吸引無數(shù)軟件開發(fā)廠商和開發(fā)者投身其中。(5)計算機(jī)硬件系統(tǒng)。CPU要求P4 1.8GHz以上,內(nèi)存要求512MB以上。1.3 人員分配與進(jìn)度安排表1 人員分配與進(jìn)度安排表時間任務(wù)分配完成人員完
7、成程度6月20日了解項目相關(guān)信息,掌握項目基本功能,環(huán)境搭建所有人員完成6月21日系統(tǒng)框架設(shè)計,登錄、注冊、修改密碼等界面布局張珍、李恒完成所有資源的查詢收集,需求分析李恒、董永朋完成6月22日系統(tǒng)所有界面的布局、頁面跳轉(zhuǎn),以及項目整合張珍、梁志偉、董永朋完成部分文檔的編寫李恒、董永朋完成6月23日J(rèn)ava代碼以及布局界面的整合張珍、梁志偉完成完善文檔中用戶登錄模塊的功能以及其他模塊、制作答辯PPT張珍、李恒、董永朋、梁志偉完成6月24日答辯所有人完成2 需求分析2.1功能需求本系統(tǒng)扮演著提供用戶直接查詢業(yè)務(wù)的重要角色。它主要提供友好的、方便的用戶操作界面。接受用戶的注冊、各項查詢以及密碼的修
8、改,具體的功能如下: 用戶功能:1.注冊功能:用戶初次登陸Android客戶端需要注冊自己的姓名(用戶名)、密碼、EMAIL和班級。2.查看個人信息功能:;用戶通過登陸自己的用戶名和密碼可以查看自己的個人信息。3.修改個人信息功能:用戶點擊修改資料按鈕可以修改自己的姓名(用戶名)、密碼、年齡、EMAIL、班級等個人信息。管理員功能:1.查詢信息功能:管理員通過登陸賬戶密碼,可以查看所有用戶信息。2.增加信息功能:管理員可以增加用戶。3.修改信息功能:管理員可以修改用戶注冊的信息。4.刪除信息功能:管理員可以刪除用戶注冊的信息2.2性能需求(1)相互合作的用戶數(shù)量:無上限。(2)系統(tǒng)支持的并發(fā)操
9、作數(shù)量:記錄相關(guān)信息無上限,設(shè)置相關(guān)信息時一時間只能有一個用戶設(shè)置相應(yīng)的相關(guān)信息。(3)一般操作的響應(yīng)時間應(yīng)在35秒內(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手機(jī)客戶端功能:(1)登錄學(xué)生信息管理系統(tǒng)android手機(jī)客戶端,用戶可以隨時隨地通過手機(jī)登錄信息管理系統(tǒng)的客戶端。(2)
10、注冊賬號,用戶若沒有賬號,可以通過手機(jī)客戶端進(jìn)行注冊成為系統(tǒng)會員。(3)查看并修改個人信息,用戶通過登陸可以查看自己的個人信息,如果用戶個人信息發(fā)生了改變,用戶可以通過手機(jī)登錄的方式方便地更改個人信息,這也為信息管理系統(tǒng)用戶的信息資料提供了便利。(4) 管理員可以通過手機(jī)登錄的方式方便地對學(xué)生的信息進(jìn)行增加、刪除、修改以及刪除等操作。 系統(tǒng)功能圖以及系統(tǒng)流程圖如下圖所示:圖1 系統(tǒng)功能圖系統(tǒng)的流程為:首先是通過輸入的用戶名和密碼判斷登錄人員是學(xué)生還是管理員。若為學(xué)生可進(jìn)行注冊、查詢、修改操作。若為管理員可進(jìn)行學(xué)生信息的添加、修改、刪除、查詢等操作。圖2 系統(tǒng)流程圖3.2 數(shù)據(jù)庫設(shè)計與實現(xiàn)3.2
11、.1數(shù)據(jù)庫E-R圖(1)用戶實體包括姓名、年齡、密碼、班級、學(xué)號、編號,如圖3所示。用戶密碼編號學(xué)號 姓名 年齡班級圖3 用戶實體的E-R圖(2)管理員實體包括登錄名、性別、密碼,如圖4所示。管理員登錄名密碼圖4 管理員實體的E-R圖(3)學(xué)生實體包括姓名、年齡、密碼、班級、學(xué)號、編號,如圖5所示。學(xué)生密碼編號學(xué)號 姓名 年齡班級圖5 學(xué)生實體的E-R圖3.2.2基表設(shè)計系統(tǒng)主要有以下表:表2用戶表字段編號字段名稱數(shù)據(jù)類型主鍵是否為空說明1Idvarchar(20)是否學(xué)生注冊ID2Namevarchar(20)否否學(xué)生姓名3Passvarchar(20)否否登陸密碼4Agevarchar(2
12、0)否否學(xué)生年齡5Classvarchar(20)否否學(xué)生班級6Numbervarchar(20)否否學(xué)生學(xué)號表3學(xué)生表字段編號字段名稱數(shù)據(jù)類型主鍵是否為空說明1Idvarchar(20)是否學(xué)生注冊ID2Namevarchar(20)否否學(xué)生姓名3Passvarchar(20)否否登陸密碼4Agevarchar(20)否否學(xué)生年齡5Classvarchar(20)否否學(xué)生班級6Numbervarchar(20)否否學(xué)生學(xué)號表4管理員表字段編號字段名稱數(shù)據(jù)類型主鍵是否為空說明1Adnamevarchar(20)是否管理員登陸名2Adpwdvarchar(20)否否管理員密碼3.3 功能詳細(xì)設(shè)計
13、與實現(xiàn)3.3.1 注冊模塊設(shè)計與實現(xiàn)該模塊主要設(shè)計是得到用戶的輸入的信息,然后將其保存到數(shù)據(jù)庫。其中具體實現(xiàn)時要進(jìn)行相應(yīng)的驗證,這塊主要是驗證用戶名不能相同,每項數(shù)據(jù)不能為空。若用戶名相同時提示用戶重新更換用戶名,如有數(shù)據(jù)輸入為空時也會提示用戶填寫完信息。主要用到的方法是Insert命令,其參數(shù)如下:Long insert(String table,String nullColumnHack,ContentValues values)其中,第一個參數(shù)是想要插入數(shù)據(jù)的表名;第二個參數(shù)nullColumnHack的含義是由于SQL不允許空行插入,當(dāng)初始化為空值時,這一列將會顯式地賦一個null值;
14、第三個參數(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(new Button.OnClickListener() public void onClick(View v) final String nameStr = mname.getTex
15、t().toString();final String passStr = mpass.getText().toString(); final String emailStr = memail.getText().toString();final String classnameStr = mclassname.getText().toString();/用戶名不為空if(null = nameStr.trim() | .equals(nameStr.trim()AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this)
16、.setTitle(R.string.notice).setMessage(學(xué)號不能為空!).setPositiveButton(確定,new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ).create();dialog.show();mname.requestFocus();return ;/密碼不為空if(null = passStr.trim() | .equals(passStr.trim()AlertDialog dialog = new Alert
17、Dialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(密碼不能為空!).setPositiveButton(確定,new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whi).create(); dialog.show(); mpass.requestFocus(); return ;/emailif(null = emailStr.trim() | .equals(emailStr
18、.trim()AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(email不能為空!).setPositiveButton(確定,new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ).create();dialog.show();memail.requestFocus();return ;/班級不能為空i
19、f(null = classnameStr.trim() | .equals(classnameStr.trim()AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(班級不能為空!).setPositiveButton(確定,new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ).create(); dia
20、log.show(); mclassname.requestFocus(); return ;Integer result = dao.checkZhuce(nameStr);if(result0)Toast.makeText(AddUserActivity.this, 用戶名已用,請重新輸入!, Toast.LENGTH_LONG).show();return ;else/插入數(shù)據(jù)mrecords = new Records();mrecords.setName(mname.getText().toString();mrecords.setPass(mpass.getText().toStr
21、ing();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
22、 用戶登錄模塊設(shè)計與實現(xiàn)該模塊主要設(shè)計是得到用戶的輸入的信息,并將其保存到配置文件中,然后在數(shù)據(jù)庫中進(jìn)行驗證,若有此人則登陸成功,調(diào)到此人信息界面,否則登錄失敗。其中具體實現(xiàn)時要進(jìn)行相應(yīng)的驗證,這塊主要是驗證用戶名和密碼不能為空,為空時進(jìn)行友好提示。具體代碼如下: public void initUI()/登錄 btn1 = (Button) this.findViewById(R.id.bt_login); btn1.setOnClickListener(new Button.OnClickListener() public void onClick(View v) /獲取文本對象 Stri
23、ng name=field_name.getText().toString(); String pass=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, 密碼不為空, T
24、oast.LENGTH_SHORT).show(); filed_pass.requestFocus(); return ; /獲取返回的數(shù)量 Integer result=dao.checkLogin(name,pass); if(result0)Toast.makeText(LoginActivity.this, 登錄成功, Toast.LENGTH_SHORT).show(); SharedPreferences sp = getSharedPreferences(PREFS_NAME, 0); /寫入配置文件 Editor spEd = sp.edit(); spEd.putStrin
25、g(userName, name); spEd.putString(userPassword, pass); spEmit(); Intent intent = new Intent(); 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è)計是得到用戶的輸入的信息
26、,然后將其保存到數(shù)據(jù)庫。其中具體實現(xiàn)時要進(jìn)行相應(yīng)的驗證,這塊主要是驗證用戶名不能相同,每項數(shù)據(jù)不能為空。若用戶名相同時提示用戶重新更換用戶名,如有數(shù)據(jù)輸入為空時也會提示用戶填寫完信息。主要應(yīng)用的方法是:int update(String table,ContentValues values,String whereClause,String whereArgs)上述語句主要用于修改表中的數(shù)據(jù),update語句有四個參數(shù):table是想要修改數(shù)據(jù)的表名;value是要更新的值;whereClause是可選的子句。如果其值為null,將會修改所有的行;whereArgs是當(dāng)whereClaus中包
27、含“?”時,而且whereArgs的值不為null,則這個數(shù)組中的值依次替換whereClause中出現(xiàn)的“?”。有關(guān)修改的數(shù)據(jù)的代碼如下: btn1 = (Button) this.findViewById(R.id.bt_update); btn1.setOnClickListener(new Button.OnClickListener() public void onClick(View v) updateContact(); ); /更新變更的信息 private void updateContact() if (mCursor != null) mrecords = new Rec
28、ords(); 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().to
29、String(); dao.UpdateRecord(mrecords,Integer.valueOf(et_id.getText().toString() );/修改Toast.makeText(EditUser.this,R.string.updatesuccess,Toast.LENGTH_LONG).show();this.finish();Intent intent = new Intent();intent.setClass(EditUser.this, UserInfo.class);startActivity(intent) ; 圖8 修改模塊編輯效果圖3.3.4 用戶查詢模塊
30、設(shè)計與實現(xiàn)該模塊主要設(shè)計是查詢用戶信息,用戶可以看到自己的基本信息。具體代碼如下: Bundle bundle=this.getIntent().getExtras(); final String uid=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_p
31、ass.setText(mCursor.getString(2);et_age.setText(mCursor.getString(3);et_email.setText(mCursor.getString(6);et_classname.setText(mCursor.getString(4); elseToast.makeText(this, 查無此人!, Toast.LENGTH_SHORT).show(); mCursor.close(); 圖9查詢模塊設(shè)計效果圖3.3.5 管理員修改記錄模塊設(shè)計與實現(xiàn)該模塊主要設(shè)計是得到管理員輸入的信息,然后將其保存到數(shù)據(jù)庫。其中具體實現(xiàn)時要進(jìn)行相應(yīng)
32、的驗證,這塊主要是驗證用戶名不能相同,每項數(shù)據(jù)不能為空。若用戶名相同時提示用戶重新更換用戶名,如有數(shù)據(jù)輸入為空時也會提示用戶填寫完信息。具體代碼如下: btn1 = (Button) this.findViewById(R.id.bt_update); btn1.setOnClickListener(new Button.OnClickListener() public void onClick(View v) updateContact(); ); /更新變更的信息 private void updateContact() if (mCursor != null) mrecords = ne
33、w Records(); 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(
34、).toString() dao.UpdateRecord(mrecords,Integer.valueOf(et_id.getText().toString();/修改Toast.makeText(EditUser.this, R.string.updatesuccess, Toast.LENGTH_LONG).show();this.finish();Intent intent = new Intent();intent.setClass(EditUser.this, UserInfo.class);startActivity(intent); 3.3.6 管理員查詢記錄模塊設(shè)計與實現(xiàn)該模
35、塊主要設(shè)計是根據(jù)姓名查詢學(xué)生的基本信息。其中具體實現(xiàn)時要進(jìn)行相應(yīng)的驗證,這塊主要是驗證用戶名要存在,用戶名不能為空。若用戶名不存在提示管理員輸入正確的用戶名,如有數(shù)據(jù)輸入為空時也會提示管理員填寫完信息。Select語句內(nèi)容作為query()方法的參數(shù),除了表名,其他參數(shù)可以是null。該query方法及其相應(yīng)的參數(shù)含義如下:Cursor query(String table, String columns, String selection, String selectionArgs, String groupBy,Srting having, String orderBy, string l
36、imit):query()中的參數(shù)意義依次為:table為表名且不可為null。columns為要返回的列名數(shù)組,取值為null表示返回所有列。selection為where子句,此處將要填的參數(shù)寫為“?”供下方的selectionArgs填充,如果其值為null,將會返回所有的行。selectionArgs為where子句所需值,該數(shù)組依次填充selection中的每一個問號。groupBy為分組子句,如果其值為null,將不會對結(jié)果集進(jìn)行分組。having為和groupBy配套使用的條件子句,如果having值為null,將會包含所有的分組。orderBy為排序子句,如果orderBy值為
37、null,將會使用默認(rèn)的排序規(guī)則。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(
38、4); mCursor.close(); 圖10 管理員查詢模塊設(shè)計效果圖圖11 管理員查詢模塊設(shè)計效果圖3.3.7 管理員刪除記錄模塊設(shè)計與實現(xiàn)該模塊主要設(shè)計是刪除學(xué)生的記錄信息,在刪除時為了防止誤刪進(jìn)行了兩次友好提示,詢問管理員是否確定刪除該記錄。刪除數(shù)據(jù)的方法:Int deldete(String table,String whereClause,String whereArgs)上述語句用于從表刪除一行數(shù)據(jù),其中table是想要刪除數(shù)據(jù)的表明,whereClause可選的where子句(如果其值為null,將會刪除所有的行);當(dāng)在whereClause中包含“?”時,如果whereAr
39、gs的值不為null,則這個數(shù)組中的值將依次替換whereClause中出現(xiàn)的“?”。具體代碼如下: btn2 = (Button) this.findViewById(R.id.bt_exit); btn2.setOnClickListener(new Button.OnClickListener() public void onClick(View v) SharedPreferences sp = getSharedPreferences(PREFS_NAME, 0); /寫入配置文件 Editor spEd = sp.edit(); spEd.putString(userName, )
40、; spEd.putString(userPassword, ); spEmit(); Intent intent = new Intent(); intent.setClass(UserInfo.this, LoginActivity.class); startActivity(intent); / 轉(zhuǎn)向添加頁面 );3.3.8 菜單模塊設(shè)計與實現(xiàn)該模塊主要設(shè)計是為了防止有人不會操作此操作,通過菜單的幫助選項可以得到管理員的QQ和郵箱,便可進(jìn)行咨詢。/加載菜單 public boolean onCreateOptionsMenu(Menu menu) super.onCreateOption
41、sMenu(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); return true; /處理菜單操作 public boolean onOptionsItemSelected(MenuItem item) switch (item.getItemId() case HE
42、LP_ID: /幫助中心this.finish();Intent intent = new Intent(); intent.setClass(LoginActivity.this, Help.class); startActivity(intent); return true; case EXITUser_ID: System.exit(0); /退出程序 return true; return super.onOptionsItemSelected(item); 圖12 菜單模塊實際效果圖4系統(tǒng)測試4.1測試環(huán)境測試環(huán)境即測試的實施環(huán)境,包括:1.軟件測試設(shè)計環(huán)境:編制測試計劃說明等有關(guān)文
43、件所基于的設(shè)備和支持。2.軟件測試實施環(huán)境:對軟件系統(tǒng)進(jìn)行各級測試所基于的軟、硬件設(shè)備和支持。3.軟件測試管理環(huán)境:管理測試資源所基于的軟、硬件設(shè)備和支持本系統(tǒng)主要使用的是Eclipse(一個開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺)以及Android手機(jī)。4.2模塊測試4.2.1 注冊模塊測試注冊時需要輸入姓名、密碼、學(xué)號以及班級。如果該用戶名已被用過,則會提示用戶重新輸入,測試結(jié)果如下圖所示:圖13 注冊失敗結(jié)果圖圖14 注冊成功測試圖4.2.2 用戶登錄模塊測試用戶登錄模塊需要輸入用戶名以及密碼,否則不能登錄并有用戶名不能為空的提示。若登錄時用戶名和密碼錯誤,則會提示登錄失敗,否則
44、提示成功。圖15 登錄失敗圖圖16 登錄失敗圖圖17 登錄成功圖 4.2.3 用戶查詢模塊測試當(dāng)用戶登錄成功以后便可查看自己的基本信息。如下圖所示:圖18 用戶查詢信息模塊圖4.2.4 用戶修改模塊測試點擊修改資料,可對用戶的相關(guān)資料進(jìn)行修改,修改成功可查看到修改后的用戶資料。圖19 密碼、年齡修改前圖圖20 密碼、年齡修改時圖圖21 密碼、年齡修改后圖4.2.5 管理員管理模塊測試該模塊只能管理員操作,管理員可進(jìn)行查看用戶的信息、增加新用戶,按姓名查詢用戶、刪除用戶信息等操作。界面如下圖所示:圖22 管理員管理模塊圖4.2.6 管理員插入記錄模塊測試當(dāng)管理員點擊增加按鈕后即可增加新用戶,如下
45、圖所示:圖23 插入前圖圖24 插入后圖4.2.7 管理員刪除記錄模塊測試管理員長時間按住某一條用戶的記錄即可刪除用戶,刪除的同時有對話框提示你是否確定刪除,防止誤刪和錯刪,刪除成功后也會有刪除成功的提示。圖25 刪除前圖圖26 刪除提示對話框圖圖27 刪除成功后圖4.2.8 菜單模塊測試該模塊主要是有兩個功能,一個是幫助,一個是注銷。經(jīng)測試這兩個功能均可實現(xiàn)。測試圖如下:圖28 菜單圖圖29 幫助功能圖總結(jié)與展望本次課程設(shè)計,讓我獲益匪淺,以前在學(xué)Android時,雖然上課也好好聽老師講,但是在課后自己沒有親自動手實踐過,現(xiàn)在有許多知識都忘記了。所以,在課程設(shè)計中我經(jīng)常遇到許多問題,這次課程
46、設(shè)計我們是分組做的,每個組都有四個成員,我們可以共同完成一個軟件。在我們小組中,我們遇到問題,我們會一起討論,一起問老師或者其他會的同學(xué)。當(dāng)然,許多時候我們會不停地翻Android。通過這次Android軟件開發(fā)的課程設(shè)計,我們更深入的了解Android這門學(xué)科,更使自己有了繼續(xù)探索的興趣。這次課設(shè)我們組主要學(xué)習(xí)到了:1.復(fù)習(xí)、鞏固Android語言的基礎(chǔ)知識,進(jìn)一步加深對Android語言的理解和掌握;搭建一個完整的安卓開發(fā)環(huán)境。 2.課程設(shè)計為學(xué)生提供了一個既動手又動腦,獨立實踐的機(jī)會,將課本上的理論知識和實際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實際問題的能力,提高學(xué)生適應(yīng)實際,實踐編程的能
47、力; 3.培養(yǎng)我們在項目開發(fā)中團(tuán)隊合作精神,創(chuàng)新意識及能力。在今后的學(xué)習(xí)中,我們定將“認(rèn)真嚴(yán)謹(jǐn)”時刻作為自的謹(jǐn)言。與此同時,我們小組成員的互幫互助,讓我們體會到了團(tuán)結(jié)的力量,而更讓人難以忘懷的是在熱烈討論問題時,那激情橫溢的場面??傊?,此次課程設(shè)計在我們學(xué)習(xí)Android的過程中起到了至關(guān)重要的作用,也為我們將來從事Android這個行業(yè)打下了良好的基礎(chǔ)。 項目名學(xué)生信息管理系統(tǒng)組長張 珍成員學(xué)號姓名分工任務(wù)分?jǐn)?shù)201396094090代碼編寫、系統(tǒng)框架設(shè)計、界面跳轉(zhuǎn)、答辯201396094088數(shù)據(jù)庫的操作、系統(tǒng)測試、代碼整合、PPT制作201396094089修改密碼等界面布局、文檔編寫與
48、編排201396094091資料查詢及需求分析、文檔編排教師評語該組同學(xué)完成了課程設(shè)計的任務(wù)與目標(biāo),所設(shè)計的系統(tǒng)滿足課設(shè)方案的要求。小組的課程設(shè)計題目是學(xué)生信息管理系統(tǒng),小組全體成員在組長的組織下,經(jīng)過認(rèn)真討論和分析,確定了系統(tǒng)要完成的基本任務(wù),并進(jìn)行了合理的分工,在課程設(shè)計期間,能夠每天按時出勤,課堂紀(jì)律良好,分工合理,工作量比較飽滿。通過答辯驗收,順利完成了課設(shè)所要求的Android客戶端界面的設(shè)計,用戶登陸注冊模塊、信息錄入模塊和信息查詢修改模塊的的功能設(shè)計,管理員登陸,查詢、修改、插入、刪除信息等模塊等功能模塊的功能設(shè)計,該小組基本完成了課程設(shè)計的任務(wù)和要求。由于時間有限,系統(tǒng)存在諸如學(xué)生信息錄入時頭像的動態(tài)加入功能不足等問題,希望以后進(jìn)一步修改完善。 教師簽名: 年 月 日 物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計成績表物聯(lián)網(wǎng)移動應(yīng)用開發(fā)課程設(shè)計學(xué)習(xí)體會姓名學(xué)號201396094090任務(wù)代碼編寫系統(tǒng)框架設(shè)計答辯學(xué)習(xí)體會Android課程設(shè)計和現(xiàn)代計算機(jī)技術(shù)的實際應(yīng)用相結(jié)合,是我們在本階段學(xué)完理論課程之后對自己該方面的能力的一次很好的檢驗,從開始的算法思路到運行調(diào)試后的美觀的圖形界面以及另人興奮的可用程序,都是一個很好的學(xué)習(xí)和鍛煉的過程。使我們鞏固了原有的理論知識,培養(yǎ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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/ZJSEE 0013.1-2023燃?xì)鈾C(jī)組能耗實測導(dǎo)則第1部分:啟動能耗
- 機(jī)器人技術(shù)應(yīng)用職業(yè)資格考試試卷及答案2025年
- 電商運營師職業(yè)資格考試題及答案2025年
- 2025年醫(yī)藥經(jīng)濟(jì)學(xué)考試試卷及答案
- 2025年網(wǎng)絡(luò)安全專業(yè)考試試題及答案
- 2025年全球經(jīng)濟(jì)形勢與貿(mào)易政策研究考試卷及答案
- 2025年石油工程師執(zhí)業(yè)資格考試試卷及答案
- 2025年企業(yè)管理技能提升考試試題及答案
- 2025年老年社會科學(xué)職業(yè)資格考試試題及答案
- 2025年計算機(jī)應(yīng)用基礎(chǔ)考試試卷及答案
- xx市體育中心設(shè)計說明
- 2024年江蘇省南通市如皋市中考一模語文試題
- 08J933-1體育場地與設(shè)施(一)
- 2024-2030年中國納米抗體藥物行業(yè)運行現(xiàn)狀及發(fā)展行情監(jiān)測研究報告
- 2023年高考物理分題型多維刷題練專題19熱學(xué)中的變質(zhì)量氣體問題(原卷版+解析)
- 如何喚醒孩子學(xué)習(xí)的內(nèi)驅(qū)力
- 跨境電商合伙投資協(xié)議書
- 工程質(zhì)量責(zé)任登記制度
- 狀元展廳方案策劃
- 土壤農(nóng)化分析實驗智慧樹知到期末考試答案章節(jié)答案2024年甘肅農(nóng)業(yè)大學(xué)
- 空壓機(jī)日常維護(hù)保養(yǎng)點檢記錄表
評論
0/150
提交評論