基于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頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、.6實現(xiàn)過程及代碼3.6.1注冊界面的生成 .93.6.2登錄界面的生成 .103.6.3用 XML實現(xiàn)用戶界面優(yōu)缺點 .123.7程序代碼3.7.1Zhuce.java.123.7.2denglu.java.14第四章 實驗結(jié)果截圖4.1填寫注冊信息 .164.2注冊成功 .164.3填寫登錄信息 .174.4登錄成功 .184.5填寫密碼不一致時 .19第五章 軟件的系統(tǒng)測試5.1系統(tǒng)測試的原則 .205.2測試環(huán)境 .20第六章實驗總結(jié)2一、設(shè)計背景1.1 引言用戶注冊登錄程序在網(wǎng)上經(jīng)??梢?。 一般都是在 Web主頁上提供一個用戶名及密碼文本框,通過收集用戶輸入的信息,與數(shù)據(jù)庫中的記錄進(jìn)

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

4、droid 可以實現(xiàn)各種系統(tǒng)信息的編寫和手機(jī)軟件的開發(fā)。由于我們所接觸的 Android 知識面很小,所以此用戶注冊登錄系統(tǒng)相對比較簡單,只能實現(xiàn)頁面的跳轉(zhuǎn)和注冊成功后的查看,主要運(yù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)人性化的密碼確認(rèn)功能運(yùn)用到單選按鈕,實現(xiàn)用戶性別的區(qū)分用戶注冊成功后

5、能直接跳轉(zhuǎn)到登錄界面1.4 開發(fā)運(yùn)行環(huán)境Android的平臺基本上是免費的,雖然有部份原生鏈接庫會要求費用,但大部份是免權(quán)利金。 Android的程序可以采用JAVA 開發(fā), 因為它的虛擬機(jī) (VirtualMachine)Dalvik ,只是它將JAVA 的 bytecode轉(zhuǎn)成自己的格式,回避掉需要付給SUN 有關(guān)JAVA 的授權(quán)費用。因此, Android開發(fā)環(huán)境是需要JDK 的。Eclipse是一個開放源代碼的、基于Java 的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse還包括插件開發(fā)環(huán)境( Plug-in Development

6、 Environment,PDE),這個組件主要針對希望擴(kuò)展Eclipse3的軟件開發(fā)人員,因為它允許他們構(gòu)建與 Eclipse 環(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

7、平臺,需滿足用戶注冊登錄系統(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)頁面;若不正確或沒有該記錄,則提示出錯信息?,F(xiàn)在很多的網(wǎng)站的瀏覽都需要注冊成為會員才可以使用更多的功能,所以需要我們自己注冊成為網(wǎng)站會員方可使用更多功能。類似微博、百度、人人等。2.3 運(yùn)行環(huán)境需求分析基于 Android 的平臺,程序可以采用 JAVA 開發(fā),但是開發(fā)環(huán)境

8、是需要 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ò)展的功能。4三、具體方案設(shè)計3.1 注冊登錄界面系統(tǒng)介紹此界面系統(tǒng)是在仿照網(wǎng)絡(luò)上的用戶登錄系統(tǒng)設(shè)計而成的, 根據(jù)自己所學(xué)過的 Android 知識加上百度到的一些程序算法和代碼而做的一個基于 Android 平臺的能實現(xiàn)用戶注冊,并在注冊后直接跳轉(zhuǎn)到登陸界面

9、的系統(tǒng),由于我們所接觸的Android 知識面很小,所以此用戶注冊登錄系統(tǒng)相對比較簡單,只能實現(xiàn)頁面的跳轉(zhuǎn)和注冊成功后的查看,主要運(yùn)用到了表格布局、單選按鈕、數(shù)據(jù)庫等相關(guān)知識點,是一個很簡單的用戶注冊后直接登錄的系統(tǒng)對話框。3.2 流程圖用戶注冊登錄系統(tǒng)用戶注冊界面用戶登錄界面注冊成功登錄成功3.2.1各子程序流程圖本系統(tǒng)主要包括兩種操作:(1) 注冊部分 :在用戶將注冊表單資料提交到數(shù)據(jù)庫之前,首先調(diào)用驗證模塊,對用戶填寫的資料進(jìn)行驗證。如對兩次輸人的密碼是否一致進(jìn)行驗證,如果驗證失敗,則提示出錯并要求用戶重新輸入。5用戶注冊界面否是否注冊是登錄名稱登錄密碼確認(rèn)密碼注冊選擇性別否密碼是否一致

10、是用戶登錄(2)用戶登錄部分:根據(jù)用戶提交的用戶名和密碼判斷是否正確,如果正確。則顯示登錄成功,如果不正確,則轉(zhuǎn)向登錄頁面。63.3 詳細(xì)界面設(shè)計3.3.1注冊界面73.3.2登錄界面3.4 項目目錄結(jié)構(gòu)圖在 Eclipse建立用戶注冊登錄的Android項目工程,計算器的工程文件名為ZhangHui。然后創(chuàng)建存放源文件、資源文件、頁面文件等各個文件夾。其中 src 和 gen 文件夾下是整個項目的源文件, 所有的 java 代碼都在這兩個文件夾下。 src 文件夾存放的是本文中開發(fā)的所有 java 文件。這 java 文件是整個項目的代碼。 gen 下面的 R.java 文件為 Eclips

11、e 自動生成的系統(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 文件夾下的資源圖片;而普通分辨率時采用 drawable-mdpi 文

12、件夾下的圖片資源。 因此這種設(shè)計具有很好的版本適應(yīng)性及兼容性,大大提高了用戶體驗。AndroidManifest.xml 是每個 Android 程序中所必需的,它位于 Android 工程的根目錄,描述了 package 中的全局?jǐn)?shù)據(jù),包括 package 中的組件,各自的實現(xiàn)類,各種能被處理的類和啟動位置等。 Manifest 文件的主要功能是聲明應(yīng)用程序的組件。 例如,一個 activitiy 必須要有一個 <Activity> 標(biāo)志對應(yīng),無論它是供應(yīng)外部使用還是只用于自己的 package 中。如果一個 Activity 沒有對應(yīng)的標(biāo)記,他將不能被運(yùn)行。8Layout 文件

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)通過實現(xiàn)用戶界面接口形成自定義的用戶界面組件。本次設(shè)計主要采用 XML構(gòu)建界面。根據(jù) MVC原則, UI 應(yīng)該與程序邏輯相分離,因此,在 XML 中定義 UI 結(jié)構(gòu)是強(qiáng)烈推薦的。常用的方式是用圖形化的

14、方式來編寫布局 Layout ,這些布局保存在 XML文件中,然后編譯成資源, 在程序中通過 findViewByld()方式來獲得每一個界面組件的引用。3.6 實現(xiàn)過程及代碼在 layout文件夾下定義自己的XML頁面,創(chuàng)建 activity的布局文件3.6.1注冊界面的生成<?xml version="1.0" encoding="utf-8" ?><LinearLayout xmlns:android="android:orientation="vertical"9android:layout_wid

15、th="fill_parent"android:layout_height="fill_parent"><TextViewandroid:textSize="24sp"android:textColor="#ff0000"android:text=" 用戶注冊 "android:id="+id/TextView01"android:layout_width="wrap_content"android:layout_height="wr

16、ap_content"></TextView><TextViewandroid:textSize="18sp"android:textColor="#ffffff"android:text=" 登錄名稱: "android:id="+id/TextView02"android:layout_width="150sp" android:layout_height="wrap_content"></TextView><Ed

17、itTextandroid:text=""android:id="+id/EditText01"android:layout_width="250sp"android:layout_height="wrap_content"></EditText><TextViewandroid:textSize="18sp"android:textColor="#ffffff"android:text=" 登錄密碼: "android:id=&q

18、uot;+id/TextView03"android:layout_width="150sp"android:layout_height="wrap_content"></TextView><EditTextandroid:password="true"android:text=""android:id="+id/EditText02"android:layout_width="250sp"android:layout_height=&quo

19、t;wrap_content"></EditText><TextView android:textSize="18sp"10android:textColor="#ffffff"android:text=" 二次確認(rèn): "android:id="+id/TextView04"android:layout_width="150sp"android:layout_height="wrap_content"></TextView>

20、<EditTextandroid:password="true"android:text=""android:id="+id/EditText03"android:layout_width="250sp"android:layout_height="wrap_content"></EditText><TextViewandroid:textSize="18sp"android:id="+id/TextView05"androi

21、d:text=" 性別: "android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView><RadioGroup android:id="+id/RadioGroup01"android:layout_width="wrap_content"android:layout_height="wrap_content"><RadioButton

22、android:id="+id/RadioButton01"android:checked="true"android:text=" 男"android:layout_width="wrap_content"android:layout_height="wrap_content"></RadioButton><RadioButtonandroid:id="+id/RadioButton02"android:text=" 女"andr

23、oid:layout_width="wrap_content"android:layout_height="wrap_content"></RadioButton></RadioGroup><Buttonandroid:text=" 注冊 "android:id="+id/Button01"android:layout_width="wrap_content" android:layout_height="wrap_content">

24、11</Button></LinearLayout>3.6.2 登錄界面的生成<?xml version="1.0" encoding="utf-8" ?><LinearLayout xmlns:android="android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewan

25、droid:textSize="24sp"android:textColor="#ff0000"android:text=" 用戶登錄 "android:id="+id/TextView01"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView><TextViewandroid:textSize="18sp"android

26、:text=" 登錄名稱: "android:id="+id/TextView02"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView><EditTextandroid:text=""android:id="+id/EditText01"android:layout_width="fill_parent" android

27、:layout_height="wrap_content"></EditText><TextViewandroid:textSize="18sp"android:text=" 登錄密碼: "android:id="+id/TextView03"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView><EditTextan

28、droid:text=""android:id="+id/EditText02"android:layout_width="fill_parent"12android:layout_height="wrap_content"></EditText><Buttonandroid:text=" 登錄 "android:id="+id/Button01"android:layout_width="wrap_content" android

29、:layout_height="wrap_content"></Button></LinearLayout>3.6.3用XML 實現(xiàn)用戶界面優(yōu)缺點優(yōu)點:a) XML 文件結(jié)構(gòu)清晰,易于擴(kuò)展,系統(tǒng)可擴(kuò)展性好。b) 用戶界面與業(yè)務(wù)邏輯完全分離,降低了系統(tǒng)界面與業(yè)務(wù)邏輯的耦合性。c) XML 文件簡單易懂,可維護(hù)性好。缺點:XML 文件構(gòu)建的界面已在配置文件中實現(xiàn),無法在系統(tǒng)運(yùn)行時動態(tài)更新頁面。3.7程序代碼3.7.1Zhuce.javapackage android.user;import android.app.Activity;import a

30、ndroid.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;import android.widget.Button;import android.wi

31、dget.EditText;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("確定 ",null);dialog.show();13Overridepublic void onCreate(Bundle s

32、avedInstanceState)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=(EditText)findViewById(

33、R.id.EditText02);EditText password2=(EditText)findViewById(R.id.EditText03);if(username.getText().length()=0)showMsg("請輸入登錄名稱! ");else if(password1.getText().length()=0)showMsg("請輸入登錄密碼! ");elseif(!password2.getText().toString().equals(password1.getText().toString()showMsg("

34、兩次輸入的密碼不一致!");elsetry 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("

35、;pwd", password1.getText().toString();long jg=myschool.insertOrThrow("users", null, cv);if(jg>0)showMsg("注冊成功! ");14Intent intent=new Intent(zhuce.this,denglu.class);startActivity(intent);elseshowMsg("注冊失?。?"); catch (Exception e) showMsg(e.getMessage(););3.7.2d

36、englu.javapackage android.user;import android.app.Activity;import android.app.AlertDialog;import android.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.

37、widget.Button;import android.widget.EditText;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.setMessage(value);dialog.setPositiveButton(&quo

38、t;確定 ",null);dialog.show();15Overridepublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.denglu);Button btn=(Button)findViewById(R.id.Button01);btn.setOnClickListener(new OnClickListener()public void onClick(View v)EditText nameText=(EditTex

39、t)findViewById(R.id.EditText01);EditText pwdText=(EditText)findViewById(R.id.EditText02);if(nameText.getText().length()=0 | pwdText.getText().length()=0)showMsg("登錄名稱和登錄密碼必須填寫!");elsetryDBhelp=new DBHelper(denglu.this, "MySchool.db",1) ; myschool=DBhelp.getReadableDatabase(); Sys

40、tem.out.print("登錄 -數(shù)據(jù)庫創(chuàng)建成功! ");Cursorreader=myschool.query("users",newString"name","pwd","name=?andpwd=?",newStringnameText.getText().toString(),pwdText.getText().toString(), null, null, null); if(reader.getCount()>0)/Stringname=reader.getString(reader.getColumnIndex("name");/String pwd=reader.getString(reader.getColumnIndex("pwd");showMsg("登錄成功 ");elseshowMsg("登錄失敗 ");16catch(Exception e)showMsg(e.getMessage(););四、實驗結(jié)果截圖4.1 填寫注冊信息4.2 注冊成功174.3 填寫登錄信息4.4 登

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論