基于android的簡單用戶注冊系統(tǒng)課程設(shè)計報告_第1頁
基于android的簡單用戶注冊系統(tǒng)課程設(shè)計報告_第2頁
基于android的簡單用戶注冊系統(tǒng)課程設(shè)計報告_第3頁
基于android的簡單用戶注冊系統(tǒng)課程設(shè)計報告_第4頁
基于android的簡單用戶注冊系統(tǒng)課程設(shè)計報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗報告課程名稱:Android 應(yīng)用程序設(shè)計 實驗名稱: 簡單的用戶注冊登錄系統(tǒng)學(xué)院:電子信息工程學(xué)院專業(yè):計算機科學(xué)與技術(shù)班級:姓名:學(xué)號:時間:目錄第一章設(shè)計背景1.1言31.2 設(shè)計的31.3 設(shè)計要求31.4 開發(fā)運行環(huán)境 3第二章需求分析行分分分2.1 技術(shù)可性42.2 網(wǎng)絡(luò)需求析42.3 運行環(huán)境需析42.4 用戶需求析4第三章具體方案設(shè)計3.1 注冊登錄界面系統(tǒng)介紹 53.2 流程圖5 63.3 詳細界面設(shè)計3.3.1面63.3.2登面73.4 項目圖83.5 系統(tǒng)界成83.6 實現(xiàn)過程及代碼3.6.1 注冊成93.6.2 登錄成10目錄結(jié)面組件的界面的界面的錄界構(gòu)生生生3.6

2、.3 用XM要現(xiàn)用戶界面優(yōu)缺點123.7 程序代碼3.7.1 Zhuce.java123.7.2 denglu.java14第四章實驗結(jié)果截圖4.1 填寫注冊信息164.2 注冊成功164.3 填寫登錄信息174.4 登錄成功184.5 填寫密碼不一致時19第五章軟件的系統(tǒng)測試5.1 系統(tǒng)測試的原則205.2 測試環(huán)境20第六章實驗總結(jié) 一、設(shè)計背景1.1 引言用戶注冊登錄程序在網(wǎng)上經(jīng)常可見。一般都是在 Webfc頁上提供一個用戶名及密 碼文本框,通過收集用戶輸入的信息,與數(shù)據(jù)庫中的記錄進行判斷,若正確則進入相 關(guān)頁面;若不正確或沒有該記錄,則提示出錯信息?,F(xiàn)在很多的網(wǎng)站的瀏覽都需要注 冊成為

3、會員才可以使用更多的功能,所以需要我們自己注冊成為網(wǎng)站會員方可使用更 多功能。類似微博、百度、人人等。如果要完成用戶登錄,則一定要有一個表單頁面,此頁面可以輸入登錄用戶名和 密碼。但是在登錄之前也必須有過注冊方可進行登錄,因此也需要有一個注冊頁面來完成 注冊信息。本案例便是仿照網(wǎng)上相應(yīng)的用戶登錄系統(tǒng),根據(jù)自己所學(xué)過的 Android知識而 做的一個基于Android平臺的能實現(xiàn)用戶注冊,并在注冊后直接跳轉(zhuǎn)到登陸界面的系 統(tǒng),Android給開發(fā)人員提供了一種獨特的,創(chuàng)造性的應(yīng)用開發(fā)方式,利用 Android 可以實現(xiàn)各種系統(tǒng)信息的編寫和手機軟件的開發(fā)。由于我們所接觸的Android知識面很小,

4、所以此用戶注冊登錄系統(tǒng)相對比較簡單, 只能實現(xiàn)頁面的跳轉(zhuǎn)和注冊成功后的查看,主要運用到了表格布局、單選按鈕、數(shù)據(jù)庫 等相關(guān)知識點,是一個很簡單的用戶注冊后直接登錄的系統(tǒng)對話框。1.2 設(shè)計目的:1、掌握用戶注冊功能的實現(xiàn)2、了解Android各控件的使用3、學(xué)會Android各個類的使用方法4、了解SQLite數(shù)據(jù)庫的訪問方式及對數(shù)據(jù)庫的各種操作1.3 設(shè)計要求實現(xiàn)用戶注冊系統(tǒng)的界面設(shè)計簡約清晰美觀注冊界面實現(xiàn)人性化的密碼確認功能運用到單選按鈕,實現(xiàn)用戶性別的區(qū)分 用戶注冊成功后能直接跳轉(zhuǎn)到登錄界面 1.4開發(fā)運行環(huán)境Android的平臺基本上是免費的,雖然有部份原生鏈接庫會要求費用,但大部份

5、 是免權(quán)利金。Android 的程序可以采用 JAVA開發(fā),因為它的虛擬機(Virtual Machine) Dalvik ,只是它將JAVA的bytecode 轉(zhuǎn)成自己的格式,回避掉需要付給 SUN有關(guān)JAVA的授權(quán)費用。因此,Android開發(fā)環(huán)境是需要JDK的。Eclipse是一個開放源代碼的、基于 Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment , PDE ,這個組件主要針對希望擴展 Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Ecli

6、pse 環(huán)境無縫集成的工具。由于Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一 致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等 和一致性并不僅限于Java開發(fā)工具。盡管Eclipse 是使用Java語言開發(fā)的,但它 的用途并不限于Java語言。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用 程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)等。二、需求分析2.1 技術(shù)可行性此系統(tǒng)基于Android平臺,需滿足用戶注冊登錄系統(tǒng)所需技術(shù)的要求,以現(xiàn)有掌握的Android知識的熟練程度,能做出此界面系統(tǒng),并就其與其他界面系統(tǒng)存在的差距等 方

7、面進行分析。2.2 網(wǎng)絡(luò)需求分析用戶注冊登錄程序在網(wǎng)上經(jīng)??梢姟R话愣际窃赪e通頁上提供一個用戶名及密碼文本框,通過收集用戶輸入的信息,與數(shù)據(jù)庫中的記錄進行判斷,若正確則進入相 關(guān)頁面;若不正確或沒有該記錄,則提示出錯信息?,F(xiàn)在很多的網(wǎng)站的瀏覽都需要注 冊成為會員才可以使用更多的功能,所以需要我們自己注冊成為網(wǎng)站會員方可使用更 多功能。類似微博、百度、人人等。2.3 運行環(huán)境需求分析基于Android的平臺,程序可以采用JAVA開發(fā),但是開發(fā)環(huán)境是需要JDK ,運 用eclipse進行設(shè)計及代碼的編寫2.4 用戶需求分析(1)應(yīng)用范圍廣:應(yīng)用的廣度和深度空前廣泛和深刻(2)應(yīng)用方便:此設(shè)計集中

8、體現(xiàn)了人性化的設(shè)計,外形美觀大方,操作簡單,使用 靈活方便。(3)易于擴展:可以在當前界面系統(tǒng)的前提下,增加其他功能信息,或者添加數(shù)據(jù) 庫的鏈接,使其真正成為一個注冊登錄系統(tǒng),提供易于擴展的功能。三、具體方案設(shè)計3.1 注冊登錄界面系統(tǒng)介紹此界面系統(tǒng)是在仿照網(wǎng)絡(luò)上的用戶登錄系統(tǒng)設(shè)計而成的,根據(jù)自己所學(xué)過的Android知識加上百度到的一些程序算法和代碼而做的一個基于Android平臺的能實現(xiàn)用 戶注冊,并在注冊后直接跳轉(zhuǎn)到登陸界面的系統(tǒng),由于我們所接觸的Android知識面很小,所以此用戶注冊登錄系統(tǒng)相對比較簡單,只能實現(xiàn)頁面的跳轉(zhuǎn)和注冊成功后的 查看,主要運用到了表格布局、單選按鈕、數(shù)據(jù)庫等

9、相關(guān)知識點,是一個很簡單的用戶注 冊后直接登錄的系統(tǒng)對話框。3.2 流程圖用戶注冊登錄系統(tǒng)用戶注冊界面用戶登錄界面注冊成功登錄成功3.2.1 各子程序流程圖本系統(tǒng)主要包括兩種操作:注冊部分:在用戶將注冊表單資料提交到數(shù)據(jù)庫之前,首先調(diào)用驗證模塊,對用戶填寫的資料 進行驗證。如對兩次輸人的密碼是否一致進行驗證,如果驗證失敗,則提示出錯并要求用戶重新輸入用戶注冊界面 否是否注冊是登錄名稱登錄忖碼 *確認密碼注冊選擇性別密碼是否一致用戶登錄(2)用戶登錄部分:根據(jù)用戶提交的用戶名和密碼判斷是否正確,如果正確。則顯示登錄成功,如果 不正確,則轉(zhuǎn)向登錄頁面。3.3 詳細界面設(shè)計3.3.1 注冊界面3.3

10、.2 登錄界面3.4 項目目錄結(jié)構(gòu)圖在Eclipse建立用戶注冊登錄的 Android項目工程,計算器的工程文件名為ZhangHuio然后創(chuàng)建存放源文件、資源文件、頁面文件等各個文件夾。其中 src和gen 文件夾下是整個項目的源文件,所有的java代碼都在這兩個文件夾下。src文件夾存 放的是本文中開發(fā)的所有java文件。這java文件是整個項目的代碼。gen下面的R.java 文件為Eclipse自動生成的系統(tǒng)文件,此文件中包含了本文開發(fā)過程中所吸引的資源 的標示。res是存放整個系統(tǒng)中所用到的所有資源,其中, drawable文件夾存放的是本文 開發(fā)過程中所用到的所有圖片。Drawble

11、包括 drawable-hdpi , drawable-ldpi ,drawable-mdpi三個文件夾,這是Adroid2.2版本的改進,是為了適應(yīng)Android手機系 統(tǒng)不同的屏幕大小而設(shè)計的。用高分辨率的屏幕時,頁面所需要的圖片在 drawable-hdpi中,用地分辨率的屏幕時,則采用drawable-ldpi文件夾下的資源圖片; 而普通分辨率時采用drawable-mdpi文件夾下的圖片資源。因此這種設(shè)計具有很好的 版本適應(yīng)性及兼容性,大大提高了用戶體驗。AndroidManifest.xml 是每個Android程序中所必需的,它位于Android工程的根 目錄,描述了 packa

12、ge中的全局數(shù)據(jù),包括package中的組件,各自的實現(xiàn)類,各種 能被處理的類和啟動位置等。Manifest文件的主要功能是聲明應(yīng)用程序的組件。例如, 一個activitiy 必須要有一個Activity標志對應(yīng),無論它是供應(yīng)外部使用還是只用于自己的package中。如果一個Activity 沒有對應(yīng)的標記,他將不能被運行。Layout文件夾下面存放了本文所用到的所有用戶界面的 XML布局文件。這些用戶 界面資源文件定義后系統(tǒng)會在 gen文件夾下的R.java文件中生成對應(yīng)的資源引用符 號。當系統(tǒng)調(diào)用生成用戶界面時,只需要引用對應(yīng)的引用符號即可。整個工程項目的目錄結(jié)構(gòu)如圖所示:3.5 系統(tǒng)界面

13、組件的生成3.5.1 Android構(gòu)建用戶界面有以下三種方式:(1)用戶界面通過XMLE置文件生成。(2)直接用代碼生成用戶界面。(3)通過實現(xiàn)用戶界面接口形成自定義的用戶界面組件。本次設(shè)計主要采用XML勾建界面。根據(jù)MVO則,UI應(yīng)該與程序邏輯相分離,因 此,在XML中定義UI結(jié)構(gòu)是強烈推薦的。常用的方式是用圖形化的方式來編寫布局 Layout,這些布局保存在XM&件中,然后編譯成資源,在程序中通過findViewByld() 方式來獲得每一個界面組件的引用。3.6 實現(xiàn)過程及代碼在layout文件夾下定義自己的 XMLMH,創(chuàng)建activity 的布局文件3.6.1 注冊界面的生

14、成<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android= android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextViewandroid:textSize="24sp" android:textColor=&

15、quot;#ff0000" android:text="用戶注冊" android:id="+id/TextView01" android:layout_width="wrap_content” android:layout_height="wrap_content"> </TextView><TextViewandroid:textSize="18sp" android:textColor="#ffffff" android:text="登

16、錄名稱:" android:id="+id/TextView02"android:layout_width="150sp" android:layout_height="wrap_content"></TextView><EditTextandroid:text=""android:id="+id/EditText01"android:layout_width="250sp"android:layout_height="wrap_c

17、ontent"></EditText><TextViewandroid:textSize="18sp"android:textColor="#ffffff"android:text="登錄密碼:" android:id="+id/TextView03" android:layout_width="150sp" android:layout_height="wrap_content"> </TextView><EditT

18、extandroid:passw0rdz"true" android:text=""android:id="+id/EditText02" android:layout_width="250sp” android:layout_height="wrap_content"> </EditText><TextView android:textSize="18sp" android:textColor="#ffffff" android:text=

19、"二次確認:" android:id="+id/TextView04" android:layout_width="150sp" android:layout_height="wrap_content"> </TextView><EditTextandroid:passw0rdz"true" android:text=""android:id="+id/EditText03" android:layout_width="2

20、50sp" android:layout_height="wrap_content"> </EditText><TextViewandroid:textSize="18sp" android:id="+id/TextView05"android:text="性另1J:"android:layout_width="wrap_content" android:layout_height="wrap_content"></TextVie

21、w><RadioGroup android:id="+id/RadioGroup01"android:layout_width="wrap_content"android:layout_height="wrap_content"><RadioButtonandroid:id="+id/RadioButton01"android:checked="true"android:text="男"android:layout_width="wrap_c

22、ontent"android:layout_height="wrap_content"></RadioButton><RadioButtonandroid:id="+id/RadioButton02"android:text="女"android:layout_width="wrap_content"android:layout_height="wrap_content"></RadioButton></RadioGroup><

23、;Buttonandroid:text="注冊"android:id="+id/Button01"android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></LinearLayout>3.6.2 登錄界面的生成<?xml version="1.0" encoding="utf-8" ?><LinearLayout xmln

24、s:android=android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"><TextViewandroid:textSize="24sp"android:textColor="#ff0000”android:text="用戶登錄”android:id="+id/TextView01"android:layout_wid

25、th="wrap_content"android:layout_height="wrap_content"></TextView><TextViewandroid:textSize="18sp"android:text="登錄名稱:"android:id="+id/TextView02"android:layout_width="wrap_content”android:layout_height="wrap_content”></Text

26、View><EditTextandroid:text=""android:id="+id/EditText01"android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText><TextViewandroid:textSize="18sp"android:text="登錄密碼:"android:id="+id/TextView03

27、"android:layout_width="wrap_content”android:layout_height="wrap_content"></TextView><EditTextandroid:text=""android:id="+id/EditText02"android:layout_width="fill_parent”android:layout_height="wrap_content"></EditText><But

28、tonandroid:text="登錄"android:id="+id/Button01"android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></LinearLayout>3.6.3 用XML實現(xiàn)用戶界面優(yōu)缺點優(yōu)點:a) XML文件結(jié)構(gòu)清晰,易于擴展,系統(tǒng)可擴展性好。b)用戶界面與業(yè)務(wù)邏輯完全分離,降低了系統(tǒng)界面與業(yè)務(wù)邏輯的耦合性。c) XML文件簡單易懂,可維護性好。缺點:

29、XML文件構(gòu)建的界面已在配置文件中實現(xiàn),無法在系統(tǒng)運行時動態(tài)更新頁面。3.7程序代碼3.7.1 Zhuce.javapackage android.user;public class zhuce extends Activitypublic void showMsg(String value)AlertDialog.Builder dialog=new AlertDialog.Builder(this);dialog.setTitle("系統(tǒng)提示");dialog.setMessage(value);dialog.setPositiveButton("確定&quo

30、t;,null);dialog.show();Overridepublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);ok.setOnClickListener(new OnClickListener() public void onClick(View v) if(username.getText().length()=0)showMsg("請輸入登錄名稱!");else if(password1.getText().length()=0) showMsg(&quo

31、t;請輸入登錄密碼!");elseif(!password2.getText().toString().equals(password1.getText().toString() showMsg("兩次輸入的密碼不一致!");else try DBHelper dh = new DBHelper(zhuce.this, "MySchool.db", 1);SQLiteDatabase myschool = dh.getReadableDatabase();ContentValues cv = new ContentValues();cv.put

32、("name", username.getText().toString();cv.put("pwd", password1.getText().toString();long jg=myschool.insertOrThrow("users", null, cv);if(jg>0)(showMsg("注冊成功!");Intent intent=new Intent(zhuce.this,denglu.class); startActivity(intent);else showMsg("注冊失?。?/p>

33、"); catch (Exception e) showMsg(e.getMessage(););3.7.2 denglu.javapackage android.user;public class denglu extends ActivityDBHelper DBhelp;SQLiteDatabase myschool;public void showMsg(String value)AlertDialog.Builder dialog=new AlertDialog.Builder(this);dialog.setTitle("系統(tǒng)提示");dialog.s

34、etMessage(value);dialog.setPositiveButton("確定",null);dialog.show();Overridepublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);btn.setOnClickListener(new OnClickListener()public void onClick(View v)if(nameText.getText().length()=0 | pwdText.getText().length()=

35、0) (showMsg("登錄名稱和登錄密碼必須填寫!");) else ( try ( DBhelp=new DBHelper(denglu.this, "MySchool.db",1); myschool=DBhelp.getReadableDatabase();Cursorreader=myschool.query("users",newString"name","pwd","name=?andpwd=?",newStringnameText.getText().toS

36、tring(),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(); );四、實驗結(jié)果截圖4.1 填寫注冊信息4.2 注冊成功4.3 填寫登錄信息4.4 登錄成功4.5 填寫密碼不一致時系統(tǒng)會出現(xiàn)相應(yīng)的提示,并跳轉(zhuǎn)回注冊界面五、軟件的系統(tǒng)測試在軟件程序編碼完成之后,在軟件投入使用之前要進行軟件測試。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。也就是根據(jù)軟件開發(fā)各階段的規(guī) 格說明何程序的內(nèi)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論