ImageVerifierCode 换一换
格式:DOC , 页数:39 ,大小:1.17MB ,
资源ID:1901057      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1901057.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(密码保险箱的设计与实现嵌入式系统设计--学位论文.doc)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

密码保险箱的设计与实现嵌入式系统设计--学位论文.doc

1、河北经贸大学课程设计报告嵌入式程序设计密码保险箱的设计与实现专业名称: 软件工程 班 级: 2010级01班 学 号: 201007111326 学生姓名: 肖娇娇 指导老师: 赵彦霞 完成时间: 2013年6月 河北经贸大学课程设计报告摘 要密码保险箱可使人们不必刻意去记住过多的密码,从而解决了容易忘记密码的问题。该软件具有两大模块,即用户登录模块和密码记录管理模块。其中用户登录模块实现了两个功能:用户登录和用户密码修改;密码记录管理模块主要实现了对密码记录进行添加、删除、查询及预览的功能。本论文针对该软件的设计与实现做出了详细解说。首先简要介绍了密码保险箱设计与实现的课题背景、研究的现状和

2、研究的内容;接着按照软件工程的开发步骤重点介绍了密码保险箱设计与实现的过程:包括系统分析、系统概要设计、系统详细设计与实现以及系统测试;最后对本次课题设计做出总结。关键字:Android、Java、密码保险箱、设计、实现目录密码保险箱的设计与实现11 绪论11,1 课题背景11,2 研究现状11,3 研究内容22 系统分析32.1 可行性分析32.2 需求分析32.2.1 功能分析32.2.2 数据分析53 系统概要设计63.1 结构设计63.2 数据设计64 系统详细设计与实现84.1 登录模块84.2 密码管理模块124.2.1 添加密码记录134.2.2 查询密码记录174.2.3 预览

3、密码记录254.2.4 数据库的实现315 系统测试345.1 测试的定义及目的345.2 系统功能测试345.3 系统实施运行35结论3636密码保险箱的设计与实现1 绪论1,1 课题背景当今社会,人们越来越注重个人隐私,因此,对于某些不希望让别人知道的东西,比如照片、日记、空间等都会设置密码;各种网站或者论坛都会要求创建一个用户名和密码来访问网站的特定内容;各个银行卡和银行账户也都要设置一个密码。但是,密码设置多了,经常会发生忘记密码的情况,带来诸多不便。因此,开发一个适和大众的、兼容性好的手机密码保险箱是很有必要的。根据开发要求,它主要应用于智能手机,完成对密码的添加、删除和查询等操作,

4、实现密码的基本管理功能。1,2 研究现状随着我国经济的高速发展和人民生活水平的提高,基于android的智能手机在目前已经得到广泛的发展和应用,身受很多大学生和社会人士的喜爱。同时作为它的附属产业,手机软件业这一项新型产业也得到了迅猛发展,作为高科技领军产业中的一员大将,移动软件行业以其多样化和多功能化吸引了越来越多关注的目光。目前的手机软件在客户端的应用极为广泛,密码保险箱就是其中之一。现在,越来越多的程序开发员基于各种各样的目的编写密码保险箱,使得各式各样密码保险箱层出不穷,也使得人们可以根据自己的实际情况选择自己喜欢的那一个。1,3 研究内容通过对Android的学习和对密码保险箱的了解

5、,我决定自己设计开发一个功能简单但使用的密码保险箱。该密码保险箱会运用到嵌入式课本中讲到的相应的知识,如layout等来实现用户对密码一些基本操作。本软件是一个非常方便快捷的密码管理软件,用户可以随心所欲地添加密码、查询密码、预览密码,删除密码等等,方便了密码管理,提高了管理效率,并且具有一定的安全性。2 系统分析2.1 可行性分析该密码保险箱软件的可行性分析主要从技术、经济、操作以及法律和社会等方面来研究。l 技术可行性:目前使用andriod系统和eclipse应用程序可以很容易的实现该软件。l 经济可行性:该软件的开发成本是很低的,但是却可以供多个用户同时使用,足见其经济效益。l 操作可

6、行性:该软件的操作方式可以在任何基于andriod的智能手机上实现。l 法律和社会可行性:该软件开发过程中不仅没有涉及到各种合同、侵权、责任等与法律、法规吻合或抵触的问题。2.2 需求分析2.2.1 功能分析本软件具有如下主要功能:l 用户登录功能l 用户修改登录密码功能l 修改密码记录功能:包括添加、删除功能l 查询密码记录功能l 预览密码记录功能l 查看开发人员信息功能该系统的数据流图:顶层:如图2-1所示。用户密码保险箱事物数据图 2-1 顶层数据流图1层:如图2-2所示。用户登录密码用户密码库修改登录密码新密码用户修改密码记录查询密码记录库密码记录密码记录请求查询查询结果预览密码记录请

7、求预览预览结果图 2-2 1层数据流图2.2.2 数据分析该系统有两个实体,即用户和密码记录。用户的属性只有用户登录的密码,密码记录的属性有关键字、账号、密码、备注,并且用户管理密码记录,具体E-R图如图2-3所示。用户管理密码记录密码账号密码备注关键字1N图 2-3 E-R图3 系统概要设计3.1 结构设计该密码保险箱系统主要有登录、修改登录密码、管理、查看开发人员信息和退出五部分组成,其中管理又分为密码记录查询、密码记录添加、密码记录预览和密码记录删除三部分,体系结构图如图3-1所示。密码保险箱登录退出密码记录查询密码记录添加密码记录预览密码记录删除查看开发人员信息修改登录密码密码记录查询

8、图3-1 体系结构图3.2 数据设计本系统用到了eclipse应用程序中的数据库,其表结构如表3-1所示。表 3-1 密码记录字段名称数据类型能否为空说明IDstring否记录号keywordstring否关键字accountstring否账号passwordstring否密码remindstring是备注4 系统详细设计与实现4.1 登录模块登录模块由两部分构成,即登录和密码修改。其相应界面如图4-1、4-2所示。图 4-1 登陆界面图 4-2 密码修改界面实现代码如下:package cn.riskycheng;import android.app.Activity;import andr

9、oid.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.widget.EditText;import

10、 android.widget.Toast;public class login extends Activity SharedPreferences shared = null;Editor editor = null;private EditText password = null;/登陆密码private EditText twoedit = null;/旧密码private EditText threeedit = null;/新密码private EditText fouredit = null;/确认新密码String password01;/默认密码View DialogView

11、 = null;View dialogView = null;Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.hint); shared = getSharedPreferences(passwordshared, Activity.MODE_PRIVATE); temp(); public void temp()/登陆页面editor = shared.edit();/打开指定shared文件,如果 不存在则

12、创建他password01 = shared.getString(password, admin);LayoutInflater factory = LayoutInflater.from(this);/得到自定义对话框 DialogView = factory.inflate(R.layout.login, null); password = (EditText)DialogView.findViewById(R.id.password);AlertDialog dlg = new AlertDialog.Builder(this) .setTitle(请输入密码) .setIcon(R.d

13、rawable.dl_icon) .setView(DialogView) .setPositiveButton(登陆, new DialogInterfaceOnClick2() .setNeutralButton(修改, new DialogInterfaceOnClick3() .setNegativeButton(退出, new DialogInterfaceOnClick6() .create();/设置取消按钮并创建 dlg.show();/显示public void alter()/修改页面LayoutInflater factory = LayoutInflater.from(

14、login.this);/得到自定义对话框dialogView = factory.inflate(R.layout.login_changepwd, null);AlertDialog dlg = new AlertDialog.Builder(login.this).setTitle(请修改密码).setView(dialogView).setPositiveButton(确定, new DialogInterfaceOnClick5().setNegativeButton(取消, new DialogInterfaceOnClick4().create();/设置取消按钮并创建dlg.s

15、how();/显示 class DialogInterfaceOnClick2 implements DialogInterface.OnClickListener/登陆public void onClick(DialogInterface dialog, int whichButton) String pass = password.getText().toString();/拿到用户输入的值if(pass.equals(password01)Toast.makeText(login.this, 登陆成功, Toast.LENGTH_SHORT).show();Intent intent =

16、 new Intent();intent.setClass(login.this, AndroidcaseActivity.class);login.this.startActivity(intent);finish();elseToast.makeText(login.this, 密码错误!, Toast.LENGTH_SHORT).show();temp(); class DialogInterfaceOnClick3 implements DialogInterface.OnClickListener/修改public void onClick(DialogInterface dialo

17、g, int whicButton) alter();twoedit = (EditText)dialogView.findViewById(R.id.twoedit);threeedit = (EditText)dialogView.findViewById(R.id.threeedit);fouredit = (EditText)dialogView.findViewById(R.id.fouredit); class DialogInterfaceOnClick4 implements DialogInterface.OnClickListener/取消public void onCli

18、ck(DialogInterface dialog, int whichButton) temp(); class DialogInterfaceOnClick6 implements DialogInterface.OnClickListener/退出public void onClick(DialogInterface dialog, int whichButton) login.this.finish();/点击退出按钮之后调用finish方法结束应用程序 class DialogInterfaceOnClick5 implements DialogInterface.OnClickLi

19、stener/修改密码确定public void onClick(DialogInterface dialog, int whichButton) String two = twoedit.getText().toString();/旧密码String three = threeedit.getText().toString();/新密码String four = fouredit.getText().toString();/确认新密码if(two.equals(password01)&four.equals(three)/editor = shared.edit(); /打开指定shared

20、文件,如果不存在则创建他editor.putString(password, three);mit();/提交temp();Toast.makeText(login.this, 修改成功, Toast.LENGTH_SHORT).show();else if(!two.equals(password01)Toast.makeText(login.this, 旧密码输入错误, Toast.LENGTH_SHORT).show();temp();else if(!four.equals(three)Toast.makeText(login.this, 两次新密码输入不一致, Toast.LENGT

21、H_SHORT).show();temp(); 4.2 密码管理模块密码管理模块由四部分构成,即添加密码记录、查询密码记录、预览密码记录和查看开发人员信息。主界面如图4-3所示。图 4-3 主界面4.2.1 添加密码记录(1)界面图 4-4 添加界面(2)实现代码package cn.riskycheng;import javax.security.auth.PrivateCredentialPermission;import android.R.string;import android.app.Activity;import android.content.ContentValues;im

22、port android.content.Context;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;import android.os.Bundle;import android.view.KeyEvent;im

23、port android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListAdapter;import android.widget.SimpleCursorAdapter;import android.widget.TextView;import android.widget.Toast;import cn.riskycheng.base;public class ad

24、d_record extends Activity private Button add_record_buttonadd,add_record_buttonback; private EditText add_record_edittext01,add_record_edittext02,add_record_edittext03,add_record_edittext04; private Context context; private int back=0; Override public void onCreate(Bundle savedInstanceState) super.o

25、nCreate(savedInstanceState); setContentView(R.layout.add_record); add_record_buttonadd=(Button) findViewById(R.id.add_record_add); add_record_buttonback=(Button) findViewById(R.id.add_record_back); add_record_edittext01=(EditText) findViewById(R.id.add_record_edittext01); add_record_edittext02=(Edit

26、Text) findViewById(R.id.add_record_edittext02); add_record_edittext03=(EditText) findViewById(R.id.add_record_edittext03); add_record_edittext04=(EditText) findViewById(R.id.add_record_edittext04); base helperBase=new base(add_record.this, information.db); add_record_buttonadd.setOnClickListener(new

27、 OnClickListener()public void onClick(View arg0) AddData();); add_record_buttonback.setOnClickListener(newOnClickListener()public void onClick(View v) Intent intent =new Intent();intent.setClass(add_record.this,AndroidcaseActivity.class);startActivity(intent);add_record.this.finish();); public void

28、AddData() base base01=new base(this.getBaseContext(),information.db); String user_keyword=add_record_edittext01.getText().toString(); String user_account=add_record_edittext02.getText().toString(); String user_password=add_record_edittext03.getText().toString(); String user_remind=add_record_edittex

29、t04.getText().toString(); if (user_keyword.equals()|user_account.equals()|user_password.equals() Toast.makeText(this, input basic info!, Toast.LENGTH_SHORT).show();return; base01.add(user_keyword, user_account, user_password, user_remind); Toast.makeText(this, Add Successed!, Toast.LENGTH_SHORT).sho

30、w(); Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) /back退出if(keyCode = KeyEvent.KEYCODE_BACK)back+;switch (back) case 1:Toast.makeText(add_record.this, 再按一次退出程序, Toast.LENGTH_LONG).show();break;case 2:back = 0;/初始化back值add_record.this.finish();android.os.Process.killProcess(android.o

31、s.Process.myPid();break;return true;/设置成false让back失效 ,true表示 不失效elsereturn super.onKeyDown(keyCode, event);package cn.riskycheng;import cn.riskycheng.AndroidcaseActivity;import cn.riskycheng.R;import android.R.integer;import android.app.Activity;import android.content.Context;import android.content.

32、Intent;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class update

33、 extends Activitypublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.update);4.2.2 查询密码记录(1)界面图 4-5 查询界面图4-6 查询结果界面(2)实现代码package cn.riskycheng;import java.security.PublicKey;import android.R.integer;import android.app.Activity;import android.c

34、ontent.Intent;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class search_record extends Activity private Button button_search,butto

35、n_back;private int back=0;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.query);button_search=(Button) findViewById(R.id.search_button01);button_back=(Button) findViewById(R.id.search_button02);final EditText searchText=(EditText) findVi

36、ewById(R.id.search_edittext01);button_search.setOnClickListener(new OnClickListener() public void onClick(View arg0) Intent intent=new Intent(); Bundle bundle=new Bundle(); bundle.putString(searchkey, searchText.getText().toString(); intent.setClass(search_record.this, search_result.class); intent.p

37、utExtras(bundle);startActivity(intent);search_record.this.finish(););button_back.setOnClickListener(new OnClickListener() public void onClick(View arg0) Intent intent=new Intent();intent.setClass(search_record.this, AndroidcaseActivity.class);startActivity(intent);search_record.this.finish(););Overr

38、idepublic boolean onKeyDown(int keyCode, KeyEvent event) /back退出if(keyCode = KeyEvent.KEYCODE_BACK)back+;switch (back) case 1:Toast.makeText(search_record.this, 再按一次退出程序, Toast.LENGTH_LONG).show();break;case 2:back = 0;/初始化back值search_record.this.finish();android.os.Process.killProcess(android.os.Pr

39、ocess.myPid();/关闭进程break;return true;/设置成false让back失效 ,true表示 不失效elsereturn super.onKeyDown(keyCode, event);package cn.riskycheng;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.database.Curso

40、r;import android.database.sqlite.SQLiteDatabase;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.ContextMenu;import android.view.KeyEvent;import android.view.MenuItem;import android.view.View;import android.view.ContextMenu.ContextMenuInfo;import android.view.Vi

41、ew.OnClickListener;import android.view.View.OnCreateContextMenuListener;import android.widget.AdapterView;import android.widget.Button;import android.widget.EditText;import android.widget.ImageButton;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.SimpleCurso

42、rAdapter;import android.widget.Toast;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemLongClickListener;public class search_result extends Activity Intent intent;ListView list;String Id,Keyword,Account,Password,Remind;/查询到的字段Cursor cursor;String indexID;HashMap map;base helper;private Button backButton,indexbButton;ArrayList idList = new ArrayList();private int back = 0;/判断按几次backOverrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.preview);list = (ListView)findViewById(R.id.pre

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服