版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)報告課程名稱 : android應(yīng)用程序設(shè)計 實(shí)驗(yàn)名稱 : 簡單的用戶注冊登錄系統(tǒng) 學(xué) 院 : 電子信息工程學(xué)院 專 業(yè) : 計算機(jī)科學(xué)與技術(shù) 班 級 : 姓 名 : 學(xué) 號 : 時 間 : 目錄第一章 設(shè)計背景 1.1引言 .3 1.2設(shè)計目的 .3 1.3 設(shè)計要求. 3 1.4 開發(fā)運(yùn)行環(huán)境. 3第二章 需求分析 2.1技術(shù)可行性.4 2.2網(wǎng)絡(luò)需求分析.4 2.3運(yùn)行環(huán)境需求分析.4 2.4用戶需求分析.4第三章 具體方案設(shè)計 3.1 注冊登錄界面系統(tǒng)介紹. 5 3.2 流程圖. 5 3.2.1子程序流程圖.6 3.3詳細(xì)界面設(shè)計 3.3.1 注冊界面. .6 3.3.2 登錄界面
2、. .7 3.4 項目目錄結(jié)構(gòu)圖. .8 3.5 系統(tǒng)界面組件的生成. .8 3.6 實(shí)現(xiàn)過程及代碼 3.6.1 注冊界面的生成. .9 3.6.2 登錄界面的生成. .10 3.6.3 用xml實(shí)現(xiàn)用戶界面優(yōu)缺點(diǎn). 12 3.7 程序代碼 3.7.1 zhuce.java. 12 3.7.2 denglu.java. 14第四章 實(shí)驗(yàn)結(jié)果截圖 4.1 填寫注冊信息. 16 4.2 注冊成功. 16 4.3 填寫登錄信息. 17 4.4 登錄成功. 18 4.5 填寫密碼不一致時. 19第五章 軟件的系統(tǒng)測試 5.1 系統(tǒng)測試的原則. 20 5.2 測試環(huán)境. 20第六章 實(shí)驗(yàn)總結(jié)1、 設(shè)計背
3、景1.1 引言用戶注冊登錄程序在網(wǎng)上經(jīng)??梢姟R话愣际窃趙eb主頁上提供一個用戶名及密碼文本框,通過收集用戶輸入的信息,與數(shù)據(jù)庫中的記錄進(jìn)行判斷,若正確則進(jìn)入相關(guān)頁面;若不正確或沒有該記錄,則提示出錯信息。現(xiàn)在很多的網(wǎng)站的瀏覽都需要注冊成為會員才可以使用更多的功能,所以需要我們自己注冊成為網(wǎng)站會員方可使用更多功能。類似微博、百度、人人等。如果要完成用戶登錄,則一定要有一個表單頁面,此頁面可以輸入登錄用戶名和密碼。但是在登錄之前也必須有過注冊方可進(jìn)行登錄,因此也需要有一個注冊頁面來完成注冊信息。本案例便是仿照網(wǎng)上相應(yīng)的用戶登錄系統(tǒng),根據(jù)自己所學(xué)過的android知識而做的一個基于android平
4、臺的能實(shí)現(xiàn)用戶注冊,并在注冊后直接跳轉(zhuǎn)到登陸界面的系統(tǒng),android給開發(fā)人員提供了一種獨(dú)特的,創(chuàng)造性的應(yīng)用開發(fā)方式,利用android可以實(shí)現(xiàn)各種系統(tǒng)信息的編寫和手機(jī)軟件的開發(fā)。由于我們所接觸的android知識面很小,所以此用戶注冊登錄系統(tǒng)相對比較簡單,只能實(shí)現(xiàn)頁面的跳轉(zhuǎn)和注冊成功后的查看,主要運(yùn)用到了表格布局、單選按鈕、數(shù)據(jù)庫等相關(guān)知識點(diǎn),是一個很簡單的用戶注冊后直接登錄的系統(tǒng)對話框。1.2 設(shè)計目的: 1、掌握用戶注冊功能的實(shí)現(xiàn) 2、了解android各控件的使用 3、學(xué)會android各個類的使用方法 4、了解sqlite數(shù)據(jù)庫的訪問方式及對數(shù)據(jù)庫的各種操作1.3 設(shè)計要求實(shí)現(xiàn)用戶
5、注冊系統(tǒng)的界面設(shè)計簡約清晰美觀注冊界面實(shí)現(xiàn)人性化的密碼確認(rèn)功能運(yùn)用到單選按鈕,實(shí)現(xiàn)用戶性別的區(qū)分用戶注冊成功后能直接跳轉(zhuǎn)到登錄界面1.4 開發(fā)運(yùn)行環(huán)境android 的平臺基本上是免費(fèi)的,雖然有部份原生鏈接庫會要求費(fèi)用,但大部份是免權(quán)利金。 android 的程序可以采用 java 開發(fā), 因?yàn)樗奶摂M機(jī)(virtual machine) dalvik,只是它將 java 的 bytecode 轉(zhuǎn)成自己的格式,回避掉需要付給 sun 有關(guān) java 的授權(quán)費(fèi)用。因此,android 開發(fā)環(huán)境是需要 jdk 的。 eclipse 是一個開放源代碼的、基于java的可擴(kuò)展開發(fā)平臺。就其本身而言,它
6、只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。eclipse 還包括插件開發(fā)環(huán)境(plug-in development environment,pde),這個組件主要針對希望擴(kuò)展 eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 eclipse 環(huán)境無縫集成的工具。由于 eclipse 中的每樣?xùn)|西都是插件,對于給 eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于 java 開發(fā)工具。盡管 eclipse 是使用 java 語言開發(fā)的,但它的用途并不限于 java 語言。eclipse 框架還可
7、用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)等。2、 需求分析2.1 技術(shù)可行性此系統(tǒng)基于android平臺,需滿足用戶注冊登錄系統(tǒng)所需技術(shù)的要求,以現(xiàn)有掌握的android知識的熟練程度,能做出此界面系統(tǒng),并就其與其他界面系統(tǒng)存在的差距等方面進(jìn)行分析。2.2 網(wǎng)絡(luò)需求分析用戶注冊登錄程序在網(wǎng)上經(jīng)常可見。一般都是在web主頁上提供一個用戶名及密碼文本框,通過收集用戶輸入的信息,與數(shù)據(jù)庫中的記錄進(jìn)行判斷,若正確則進(jìn)入相關(guān)頁面;若不正確或沒有該記錄,則提示出錯信息。現(xiàn)在很多的網(wǎng)站的瀏覽都需要注冊成為會員才可以使用更多的功能,所以需要我們自己注冊成為網(wǎng)站會員方可使用更多功能。類似
8、微博、百度、人人等。2.3 運(yùn)行環(huán)境需求分析基于android 的平臺,程序可以采用 java 開發(fā),但是開發(fā)環(huán)境是需要 jdk ,運(yùn)用eclipse進(jìn)行設(shè)計及代碼的編寫2.4 用戶需求分析(1)應(yīng)用范圍廣:應(yīng)用的廣度和深度空前廣泛和深刻(2)應(yīng)用方便:此設(shè)計集中體現(xiàn)了人性化的設(shè)計,外形美觀大方,操作簡單,使用靈活方便。(3)易于擴(kuò)展:可以在當(dāng)前界面系統(tǒng)的前提下,增加其他功能信息,或者添加數(shù)據(jù)庫的鏈接,使其真正成為一個注冊登錄系統(tǒng),提供易于擴(kuò)展的功能。三、具體方案設(shè)計3.1 注冊登錄界面系統(tǒng)介紹此界面系統(tǒng)是在仿照網(wǎng)絡(luò)上的用戶登錄系統(tǒng)設(shè)計而成的,根據(jù)自己所學(xué)過的android知識加上百度到的一些
9、程序算法和代碼而做的一個基于android平臺的能實(shí)現(xiàn)用戶注冊,并在注冊后直接跳轉(zhuǎn)到登陸界面的系統(tǒng),由于我們所接觸的android知識面很小,所以此用戶注冊登錄系統(tǒng)相對比較簡單,只能實(shí)現(xiàn)頁面的跳轉(zhuǎn)和注冊成功后的查看,主要運(yùn)用到了表格布局、單選按鈕、數(shù)據(jù)庫等相關(guān)知識點(diǎn),是一個很簡單的用戶注冊后直接登錄的系統(tǒng)對話框。3.2 流程圖 用戶注冊登錄系統(tǒng) 用戶注冊界面 用戶登錄界面 注冊成功 登錄成功3.2.1 各子程序流程圖 本系統(tǒng)主要包括兩種操作: (1) 注冊部分: 在用戶將注冊表單資料提交到數(shù)據(jù)庫之前,首先調(diào)用驗(yàn)證模塊,對用戶填寫的資料進(jìn)行驗(yàn)證。如對兩次輸人的密碼是否一致進(jìn)行驗(yàn)證,如果驗(yàn)證失敗,
10、則提示出錯并要求用戶重新輸入。用戶注冊界面否是否注冊是 登錄名稱 登錄密碼 確認(rèn)密碼 注冊選擇性別 否 密碼是否一致是 用戶登錄 (2)用戶登錄部分: 根據(jù)用戶提交的用戶名和密碼判斷是否正確,如果正確。則顯示登錄成功,如果不正確,則轉(zhuǎn)向登錄頁面。 3.3詳細(xì)界面設(shè)計3.3.1 注冊界面3.3.2 登錄界面3.4 項目目錄結(jié)構(gòu)圖在eclipse建立用戶注冊登錄的android項目工程,計算器的工程文件名為zhanghui。然后創(chuàng)建存放源文件、資源文件、頁面文件等各個文件夾。其中src和gen文件夾下是整個項目的源文件,所有的java代碼都在這兩個文件夾下。src文件夾存放的是本文中開發(fā)的所有ja
11、va文件。這java文件是整個項目的代碼。gen下面的r.java文件為eclipse自動生成的系統(tǒng)文件,此文件中包含了本文開發(fā)過程中所吸引的資源的標(biāo)示。res是存放整個系統(tǒng)中所用到的所有資源,其中, drawable文件夾存放的是本文開發(fā)過程中所用到的所有圖片。drawble包括drawable-hdpi,drawable-ldpi,drawable-mdpi三個文件夾,這是adroid2.2版本的改進(jìn),是為了適應(yīng)android手機(jī)系統(tǒng)不同的屏幕大小而設(shè)計的。用高分辨率的屏幕時,頁面所需要的圖片在drawable-hdpi中,用地分辨率的屏幕時,則采用drawable-ldpi文件夾下的資源
12、圖片;而普通分辨率時采用drawable-mdpi文件夾下的圖片資源。因此這種設(shè)計具有很好的版本適應(yīng)性及兼容性,大大提高了用戶體驗(yàn)。androidmanifest.xml是每個android程序中所必需的,它位于android工程的根目錄,描述了package中的全局?jǐn)?shù)據(jù),包括package中的組件,各自的實(shí)現(xiàn)類,各種能被處理的類和啟動位置等。manifest文件的主要功能是聲明應(yīng)用程序的組件。例如,一個activitiy必須要有一個標(biāo)志對應(yīng),無論它是供應(yīng)外部使用還是只用于自己的package中。如果一個activity沒有對應(yīng)的標(biāo)記,他將不能被運(yùn)行。layout文件夾下面存放了本文所用到的所
13、有用戶界面的xml布局文件。這些用戶界面資源文件定義后系統(tǒng)會在gen文件夾下的r.java文件中生成對應(yīng)的資源引用符號。當(dāng)系統(tǒng)調(diào)用生成用戶界面時,只需要引用對應(yīng)的引用符號即可。整個工程項目的目錄結(jié)構(gòu)如圖所示:3.5 系統(tǒng)界面組件的生成 3.5.1 android構(gòu)建用戶界面有以下三種方式:(1)用戶界面通過xml配置文件生成。(2)直接用代碼生成用戶界面。(3)通過實(shí)現(xiàn)用戶界面接口形成自定義的用戶界面組件。 本次設(shè)計主要采用xml構(gòu)建界面。根據(jù)mvc原則,ui應(yīng)該與程序邏輯相分離,因此,在xml中定義ui結(jié)構(gòu)是強(qiáng)烈推薦的。常用的方式是用圖形化的方式來編寫布局layout,這些布局保存在xml文
14、件中,然后編譯成資源,在程序中通過findviewbyld()方式來獲得每一個界面組件的引用。3.6 實(shí)現(xiàn)過程及代碼在layout文件夾下定義自己的xml頁面,創(chuàng)建activity的布局文件 3.6.1 注冊界面的生成 3.6.2 登錄界面的生成3.6.3 用xml實(shí)現(xiàn)用戶界面優(yōu)缺點(diǎn) 優(yōu)點(diǎn):a)xml文件結(jié)構(gòu)清晰,易于擴(kuò)展,系統(tǒng)可擴(kuò)展性好。b) 用戶界面與業(yè)務(wù)邏輯完全分離,降低了系統(tǒng)界面與業(yè)務(wù)邏輯的耦合性。c)xml文件簡單易懂,可維護(hù)性好。缺點(diǎn):xml文件構(gòu)建的界面已在配置文件中實(shí)現(xiàn),無法在系統(tǒng)運(yùn)行時動態(tài)更新頁面。 3.7 程序代碼3.7.1 zhuce.javapackage androi
15、d.user;import android.app.activity;import android.app.alertdialog;import android.content.contentvalues;import android.content.intent;import android.database.sqlite.sqlitedatabase;import android.db.dbhelper;import android.os.bundle;import android.view.view;import android.view.view.onclicklistener;imp
16、ort android.widget.button;import android.widget.edittext;public class zhuce extends activity public void showmsg(string value)alertdialog.builder dialog=new alertdialog.builder(this);dialog.settitle(系統(tǒng)提示);dialog.setmessage(value);dialog.setpositivebutton(確定,null);dialog.show(); override public void
17、oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.zhuce); button ok=(button)findviewbyid(r.id.button01); ok.setonclicklistener(new onclicklistener() public void onclick(view v) edittext username=(edittext)findviewbyid(r.id.edittext01); edittext password1
18、=(edittext)findviewbyid(r.id.edittext02); edittext password2=(edittext)findviewbyid(r.id.edittext03); if(username.gettext().length()=0) showmsg(請輸入登錄名稱!); else if(password1.gettext().length()=0) showmsg(請輸入登錄密碼!); else if(!password2.gettext().tostring().equals(password1.gettext().tostring() showmsg(
19、兩次輸入的密碼不一致!); else try dbhelper dh = new dbhelper(zhuce.this, myschool.db, 1);sqlitedatabase myschool = dh.getreadabledatabase();system.out.print(注冊-數(shù)據(jù)庫創(chuàng)建成功!);contentvalues cv = new contentvalues();cv.put(name, username.gettext().tostring();cv.put(pwd, password1.gettext().tostring();long jg=myschool
20、.insertorthrow(users, null, cv);if(jg0)showmsg(注冊成功!); intent intent=new intent(zhuce.this,denglu.class); startactivity(intent);elseshowmsg(注冊失??!); catch (exception e) showmsg(e.getmessage(); ); 3.7.2 denglu.javapackage android.user;import android.app.activity;import android.app.alertdialog;import a
21、ndroid.database.cursor;import android.database.sqlite.sqlitedatabase;import android.db.dbhelper;import android.os.bundle;import android.view.view;import android.view.view.onclicklistener;import android.widget.button;import android.widget.edittext;public class denglu extends activity dbhelper dbhelp;
22、sqlitedatabase myschool;public void showmsg(string value)alertdialog.builder dialog=new alertdialog.builder(this);dialog.settitle(系統(tǒng)提示);dialog.setmessage(value);dialog.setpositivebutton(確定,null);dialog.show(); overridepublic void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate)
23、; setcontentview(r.layout.denglu); button btn=(button)findviewbyid(r.id.button01); btn.setonclicklistener(new onclicklistener() public void onclick(view v) edittext nametext=(edittext)findviewbyid(r.id.edittext01); edittext pwdtext=(edittext)findviewbyid(r.id.edittext02); if(nametext.gettext().lengt
24、h()=0 | pwdtext.gettext().length()=0) showmsg(登錄名稱和登錄密碼必須填寫!); else try dbhelp=new dbhelper(denglu.this, myschool.db,1) ; myschool=dbhelp.getreadabledatabase(); system.out.print(登錄-數(shù)據(jù)庫創(chuàng)建成功!); cursor reader=myschool.query(users, new stringname,pwd, name=? and pwd=?, new stringnametext.gettext().tostr
25、ing(),pwdtext.gettext().tostring(), null, null, null); if(reader.getcount()0) /string name=reader.getstring(reader.getcolumnindex(name); /string pwd=reader.getstring(reader.getcolumnindex(pwd); showmsg(登錄成功); else showmsg(登錄失敗); catch(exception e) showmsg(e.getmessage(); ); 四、實(shí)驗(yàn)結(jié)果截圖4.1 填寫注冊信息4.2 注冊成
26、功4.3 填寫登錄信息4.4 登錄成功4.5 填寫密碼不一致時系統(tǒng)會出現(xiàn)相應(yīng)的提示,并跳轉(zhuǎn)回注冊界面五、軟件的系統(tǒng)測試 在軟件程序編碼完成之后,在軟件投入使用之前要進(jìn)行軟件測試。 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。也就是根據(jù)軟件開發(fā)各階段的規(guī)格說明何程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計測試用例,對程序設(shè)計的結(jié)果進(jìn)行全面的檢查,找出并糾正其中的錯誤,使可能發(fā)生的問題和錯誤,盡量消滅在系統(tǒng)正式運(yùn)行之前。5.1 系統(tǒng)測試的原則 應(yīng)當(dāng)盡早和不斷的進(jìn)行軟件測試.注意測試中的群集現(xiàn)象.測試后程序中殘存的錯誤數(shù)目與該程序中已發(fā)現(xiàn)的錯誤數(shù)目成正比.所以,不要在某個程序段中找到幾個錯誤就誤認(rèn)為該程序段就沒有錯誤而不再測試,相反該程序段更要集中精力測試。 測試應(yīng)該制訂計劃,嚴(yán)格按計劃進(jìn)行測試,避免測試的隨意性.應(yīng)對每一個測試結(jié)果做全面檢查.應(yīng)妥善保存測試計劃,用例,錯誤記錄和分析報告.5.2 測試環(huán)境測試的硬件環(huán)境為:windows7操作系統(tǒng)測試的軟件環(huán)境是:eclipse 6、 實(shí)驗(yàn)總結(jié)經(jīng)過此次實(shí)驗(yàn),讓自己的ja
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美甲產(chǎn)品研發(fā)與技術(shù)授權(quán)合同3篇
- 二零二五年度代發(fā)工資與員工離職交接合同4篇
- 2025年度大型活動車輛租賃及現(xiàn)場管理合同70863(活動版)4篇
- 2025年度城市綜合體車位租賃及廣告資源合作合同4篇
- 2025年度個人反擔(dān)保合同范本-房地產(chǎn)租賃反擔(dān)保專用4篇
- 2025年度新能源汽車充電站場地存放租賃合同8篇
- 二零二五年度戶外運(yùn)動裝備促銷合同4篇
- 2025年度大廈綠化植被病蟲害防治服務(wù)合同4篇
- 2025年度個人二手車交易合同(保值回購承諾版)4篇
- 2025年度個人住房抵押貸款擔(dān)保合同4篇
- 綿陽市高中2022級(2025屆)高三第二次診斷性考試(二診)歷史試卷(含答案)
- 廠級安全培訓(xùn)資料
- 中國藥科大學(xué)《藥物化學(xué)》教學(xué)日歷
- 露天礦山課件
- 經(jīng)濟(jì)效益證明(模板)
- 銀行卡凍結(jié)怎么寫申請書
- 果樹蔬菜病害:第一章 蔬菜害蟲
- 借條借款合同帶擔(dān)保人
- 人工地震動生成程序
- SSB變槳系統(tǒng)的基礎(chǔ)知識
- 大五人格量表(revised)--計分及解釋
評論
0/150
提交評論