基于android的简单用户注册系统课程设计报告_第1页
基于android的简单用户注册系统课程设计报告_第2页
基于android的简单用户注册系统课程设计报告_第3页
基于android的简单用户注册系统课程设计报告_第4页
基于android的简单用户注册系统课程设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告课程名称 :Android应用程序设计实验名称 :简单的用户注册登录系统学院 :电子信息工程学院专业 :计算机科学与技术班级 :姓名 :学号 :时间 :1目录第一章 设计背景1.1引言 .31.2设计目的 .31.3设计要求 .31.4开发运行环境 .3第二章 需求分析2.1技术可行性 .42.2网络需求分析 .42.3运行环境需求分析 .42.4用户需求分析 .4第三章 具体方案设计3.1注册登录界面系统介绍 .53.2流程图 .53.2.1 子程序流程图 .63.3详细界面设计3.3.1注册界面 .63.3.2登录界面 .73.4项目目录结构图 .83.5系统界面组件的生成 .83

2、.6实现过程及代码3.6.1注册界面的生成 .93.6.2登录界面的生成 .103.6.3用 XML实现用户界面优缺点 .123.7程序代码3.7.1Zhuce.java.123.7.2denglu.java.14第四章 实验结果截图4.1填写注册信息 .164.2注册成功 .164.3填写登录信息 .174.4登录成功 .184.5填写密码不一致时 .19第五章 软件的系统测试5.1系统测试的原则 .205.2测试环境 .20第六章实验总结2一、设计背景1.1 引言用户注册登录程序在网上经常可见。 一般都是在 Web主页上提供一个用户名及密码文本框,通过收集用户输入的信息,与数据库中的记录进

3、行判断,若正确则进入相关页面;若不正确或没有该记录,则提示出错信息。现在很多的网站的浏览都需要注册成为会员才可以使用更多的功能,所以需要我们自己注册成为网站会员方可使用更多功能。类似微博、百度、人人等。如果要完成用户登录,则一定要有一个表单页面,此页面可以输入登录用户名和密码。但是在登录之前也必须有过注册方可进行登录,因此也需要有一个注册页面来完成注册信息。本案例便是仿照网上相应的用户登录系统,根据自己所学过的 Android 知识而做的一个基于 Android 平台的能实现用户注册,并在注册后直接跳转到登陆界面的系统,Android 给开发人员提供了一种独特的,创造性的应用开发方式,利用An

4、droid 可以实现各种系统信息的编写和手机软件的开发。由于我们所接触的 Android 知识面很小,所以此用户注册登录系统相对比较简单,只能实现页面的跳转和注册成功后的查看,主要运用到了表格布局、单选按钮、数据库等相关知识点,是一个很简单的用户注册后直接登录的系统对话框。1.2 设计目的:1 、掌握用户注册功能的实现2 、了解 Android 各控件的使用3 、学会 Android 各个类的使用方法4 、了解 SQLite 数据库的访问方式及对数据库的各种操作1.3 设计要求实现用户注册系统的界面设计简约清晰美观注册界面实现人性化的密码确认功能运用到单选按钮,实现用户性别的区分用户注册成功后

5、能直接跳转到登录界面1.4 开发运行环境Android的平台基本上是免费的,虽然有部份原生链接库会要求费用,但大部份是免权利金。 Android的程序可以采用JAVA 开发, 因为它的虚拟机 (VirtualMachine)Dalvik ,只是它将JAVA 的 bytecode转成自己的格式,回避掉需要付给SUN 有关JAVA 的授权费用。因此, Android开发环境是需要JDK 的。Eclipse是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse还包括插件开发环境( Plug-in Development

6、 Environment,PDE),这个组件主要针对希望扩展Eclipse3的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。 由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言。 Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统等。二、需求分析2.1 技术可行性此系统基于 Android

7、平台,需满足用户注册登录系统所需技术的要求,以现有掌握的 Android 知识的熟练程度,能做出此界面系统,并就其与其他界面系统存在的差距等方面进行分析。2.2 网络需求分析用户注册登录程序在网上经常可见。 一般都是在 Web主页上提供一个用户名及密码文本框,通过收集用户输入的信息,与数据库中的记录进行判断,若正确则进入相关页面;若不正确或没有该记录,则提示出错信息。现在很多的网站的浏览都需要注册成为会员才可以使用更多的功能,所以需要我们自己注册成为网站会员方可使用更多功能。类似微博、百度、人人等。2.3 运行环境需求分析基于 Android 的平台,程序可以采用 JAVA 开发,但是开发环境

8、是需要 JDK ,运用 eclipse 进行设计及代码的编写2.4 用户需求分析(1) 应用范围广:应用的广度和深度空前广泛和深刻(2) 应用方便:此设计集中体现了人性化的设计,外形美观大方,操作简单,使用灵活方便。(3) 易于扩展:可以在当前界面系统的前提下,增加其他功能信息,或者添加数据库的链接,使其真正成为一个注册登录系统,提供易于扩展的功能。4三、具体方案设计3.1 注册登录界面系统介绍此界面系统是在仿照网络上的用户登录系统设计而成的, 根据自己所学过的 Android 知识加上百度到的一些程序算法和代码而做的一个基于 Android 平台的能实现用户注册,并在注册后直接跳转到登陆界面

9、的系统,由于我们所接触的Android 知识面很小,所以此用户注册登录系统相对比较简单,只能实现页面的跳转和注册成功后的查看,主要运用到了表格布局、单选按钮、数据库等相关知识点,是一个很简单的用户注册后直接登录的系统对话框。3.2 流程图用户注册登录系统用户注册界面用户登录界面注册成功登录成功3.2.1各子程序流程图本系统主要包括两种操作:(1) 注册部分 :在用户将注册表单资料提交到数据库之前,首先调用验证模块,对用户填写的资料进行验证。如对两次输人的密码是否一致进行验证,如果验证失败,则提示出错并要求用户重新输入。5用户注册界面否是否注册是登录名称登录密码确认密码注册选择性别否密码是否一致

10、是用户登录(2)用户登录部分:根据用户提交的用户名和密码判断是否正确,如果正确。则显示登录成功,如果不正确,则转向登录页面。63.3 详细界面设计3.3.1注册界面73.3.2登录界面3.4 项目目录结构图在 Eclipse建立用户注册登录的Android项目工程,计算器的工程文件名为ZhangHui。然后创建存放源文件、资源文件、页面文件等各个文件夹。其中 src 和 gen 文件夹下是整个项目的源文件, 所有的 java 代码都在这两个文件夹下。 src 文件夹存放的是本文中开发的所有 java 文件。这 java 文件是整个项目的代码。 gen 下面的 R.java 文件为 Eclips

11、e 自动生成的系统文件, 此文件中包含了本文开发过程中所吸引的资源的标示。res 是存放整个系统中所用到的所有资源,其中,drawable文件夹存放的是本文开发过程中所用到的所有图片。Drawble 包括drawable-hdpi, drawable-ldpi,drawable-mdpi 三个文件夹,这是 Adroid2.2 版本的改进,是为了适应 Android 手机系统不同的屏幕大小而设计的。 用高分辨率的屏幕时,页面所需要的图片在 drawable-hdpi 中,用地分辨率的屏幕时,则采用 drawable-ldpi 文件夹下的资源图片;而普通分辨率时采用 drawable-mdpi 文

12、件夹下的图片资源。 因此这种设计具有很好的版本适应性及兼容性,大大提高了用户体验。AndroidManifest.xml 是每个 Android 程序中所必需的,它位于 Android 工程的根目录,描述了 package 中的全局数据,包括 package 中的组件,各自的实现类,各种能被处理的类和启动位置等。 Manifest 文件的主要功能是声明应用程序的组件。 例如,一个 activitiy 必须要有一个 <Activity> 标志对应,无论它是供应外部使用还是只用于自己的 package 中。如果一个 Activity 没有对应的标记,他将不能被运行。8Layout 文件

13、夹下面存放了本文所用到的所有用户界面的 XML布局文件。这些用户界面资源文件定义后系统会在 gen 文件夹下的 R.java 文件中生成对应的资源引用符号。当系统调用生成用户界面时,只需要引用对应的引用符号即可。整个工程项目的目录结构如图所示:3.5 系统界面组件的生成3.5.1 Android构建用户界面有以下三种方式:(1)用户界面通过 XML配置文件生成。(2)直接用代码生成用户界面。(3)通过实现用户界面接口形成自定义的用户界面组件。本次设计主要采用 XML构建界面。根据 MVC原则, UI 应该与程序逻辑相分离,因此,在 XML 中定义 UI 结构是强烈推荐的。常用的方式是用图形化的

14、方式来编写布局 Layout ,这些布局保存在 XML文件中,然后编译成资源, 在程序中通过 findViewByld()方式来获得每一个界面组件的引用。3.6 实现过程及代码在 layout文件夹下定义自己的XML页面,创建 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=" 二次确认: "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 实现用户界面优缺点优点:a) XML 文件结构清晰,易于扩展,系统可扩展性好。b) 用户界面与业务逻辑完全分离,降低了系统界面与业务逻辑的耦合性。c) XML 文件简单易懂,可维护性好。缺点:XML 文件构建的界面已在配置文件中实现,无法在系统运行时动态更新页面。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(" 系统提示 ");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("注册 -数据库创建成功! "); 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("系统提示 ");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("登录 -数据库创建成功! ");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(););四、实验结果截图4.1 填写注册信息4.2 注册成功174.3 填写登录信息4.4 登

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论