收藏 分销(赏)

掌上书城的设计与实现教学提纲.doc

上传人:丰**** 文档编号:3839229 上传时间:2024-07-22 格式:DOC 页数:41 大小:1.21MB
下载 相关 举报
掌上书城的设计与实现教学提纲.doc_第1页
第1页 / 共41页
掌上书城的设计与实现教学提纲.doc_第2页
第2页 / 共41页
掌上书城的设计与实现教学提纲.doc_第3页
第3页 / 共41页
掌上书城的设计与实现教学提纲.doc_第4页
第4页 / 共41页
掌上书城的设计与实现教学提纲.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、精品文档调研结论:综上分析,我们认为在学院内开发“DIY手工艺品”商店这一创业项目是完全可行的。我们长期呆在校园里,没有工作收入一直都是靠父母生活,在资金方面会表现的比较棘手。不过,对我们的小店来说还好,因为我们不需要太多的投资。附件(一):十字绣 编制类 银饰制品类 串珠首饰类众上所述,我们认为:我们的创意小屋计划或许虽然会有很多的挑战和困难,但我们会吸取和借鉴“漂亮女生”和“碧芝”的成功经验,在产品的质量和创意上多下工夫,使自己的产品能领导潮流,领导时尚。在它们还没有打入学校这个市场时,我们要巩固我们的学生市场,制作一些吸引学生,又有使学生能接受的价格,勇敢的面对它们的挑战,使自己立于不败

2、之地。5、就业机会和问题分析大学生对手工艺制作兴趣的调研附件(二):(一)对“漂亮女生”饰品店的分析(2)东西全唐山师范学院本科毕业论文 题 目掌上书城的设计与实现 学 生李瑞青 指导老师葛卫军 副教授 年 级2012级 专 业信息管理与信息系统 系 别数学与信息科学系唐山师范学院数学与信息科学系2015年9月精品文档郑重声明本人的毕业论文(设计)是在指导教师葛卫军老师的指导下独立撰写完成的。如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。特此郑重声明。毕业论文(设计)作者(签名): 年 月 日目 录标题1摘

3、要5 1 前言52 概述62.1 课题的背景及意义62.2 课题背景62.3 课题意义62.4研究成果 63 开发环境73.1软件定义73.2开发平台简介73.2.1 Android SDK 4.4平台73.2.2 开发工具 Eclipse73.2.3 Java73.2.4 SQLite和JavaWeb84 系统分析94.1 可行性分析94.1.1技术可行性94.1.2 经济可行性94.1.3 社会可行性94.2 需求分析说明94.2.1 项目总体概述94.2.2 具体需求95 系统结构与模型105.1 设计实现的思路105.2 系统结构设计106 数据库设计136.1 E-R图136.2数据

4、库逻辑设计136.3数据库物理结构设计147 总体设计147.1 总体设计与说明147.2代码实现167.2.1 SQLite的代码实现167.2.2 首启动欢迎页177.2.3 主页面197.2.4 其他页面228 测试238.1测试方法简介248.1.1 根据是否需要执行程序 248.1.2 按阶段划分 248.1.3 按测试方法划分248.2系统测试中的问题及测试方法和解决办法248.3系统维护258.4测试结果279 总结37参考文献38致 谢39外文页40掌上书城的设计与实现李瑞青 摘 要 该设计用了Eclipse作为开发工具,使用Java语言及安卓知识进行大致设计,先总体规划数据结

5、构后逐步实现功能完成了一个掌上书城的手机APP,在已有的某些应用基础上添加新功能,以适应客户对阅读软件的更多要求。前台用户可以在书城中查看图书并向书架里添加、删除图书,查看图书时还可以添加笔记,在某个页面查看笔记、删除笔记及修改笔记。但目前该应用还有很多不理想、功能不完善的地方需要改进,例如阅读进度提示等。通过此设计,可以发现近几年安卓市场的火热,以及安卓应用的方便快捷。该应用继续开发下去一定会有更为广阔的前景,且它完全是可实现的,能让人们更方便更愉悦的阅读图书。 关键词 Java 安卓 掌上书城 1 前言 2007年11月5日,Google发布了基于Linux平台的开源移动平台Android

6、。该平台由操作系统、中间件、用户界面和应用软件等组成,号称是首个为移动终端打造的真正开发的移动开发平台。 Android作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。Google的目标是让移动通信不依赖与设备甚至平台。出于这个目的,Android将补充Google长期以来奉行的移动开发战略;通过与全球的手机制造商和移动运营商结成合作伙伴,开发并推广移动服务。 在Android开发方面,Android SDK1.6 r1 和Android NDK1.6 r1 已发布,Eclipse插件ADT Plug-in 已更新至0.9.3版本。Android S

7、DK1.6 的API Level 是4,而1.5的是3。SDK 1.6 的工程目录与1.5相同,所以大多数基于SDK 1.5的应用程序可以不经修改直接在SDK 1.6 修改,但如果涉及 API Level 的问题,就需要进行具体的分析。 在Android终端设备方面,世界上第一款 Android 手机G1 出自HTC,此后HTC陆续推出了HTC Magic G2、HTC Hero、HTC Tatoo等机型,功能日臻强大。此外,摩托罗拉、三星、索尼爱立信、LG、华为、联想等大牌设备厂商也在积极筹备Android手机的上市。在国内,中国移动最早启动了基于Android 平台的手机操作系统OMS(O

8、pen Mobile System)的研发。而中国联通和中国电信也紧追不舍,相应展开了基于Android的手机操作系统研发。运营商在开发Ophone(中国移动)、Uphone(中国联通)、Cphone(中国电信)等手机操作系统的同时,也在积极部署相应的软件商店。软件商店是利润的主要来源,而优秀的应用程序时构成软件商店的基本要素,这就为国内的移动开发者提供了非常好的机遇。2 概述2.1 研究背景 在这个信息高速发展的时代,手机越来越普遍,几乎是人手一部手机,有的甚至两部或更多。由于苹果手机的价格昂贵,大多数人用的都是安卓手机。手机更新换代快,而手机软件的更新就更迅速了。且目前大多数人因为手机等电

9、子设备的方便更偏爱阅读电子书,各类阅读软件应运而生,该阅读软件除了可以让用户读到想读的书外还可以有添加笔记更换背景音乐等等功能,未来发展前景良好。2.2 研究目的 为了满足广大用户对各类电子书的需求,针对当前安卓手机火热的市场前景,综合以往的开发经验以及前期调查,同时结合自己及其他用户使用阅读软件的感受,我设计并实现了该软件。该软件全面细致的分析了目前市场上同类型的其他应用的不足并加以改进,明确了要实现的具体功能,并适当的辅以界面和特效。使得整个应用更加协调美观实用。 设计并实现一个掌上书城的项目,针对用户的需求适当的添加修改某些功能,以便让用户用的更方便。实现让用户随时随地看想看的电子书,记

10、下看书时一瞬间想法的笔记的功能。 决定需求前,和多位资深小说爱好者交流过,发现目前的阅读APP存在只有阅读没有游戏缓解阅读疲劳,有时候找不到刚刚忘记添加进书架的书在哪里等等问题,我开发了这个对阅饼容易得到且添加了最近阅读书单的软件。希望大家用的满意。2.3 研究内容 本设计主要通过分析关键需求,确定主要问题,明确主要功能及方向,然后设计软件的结构和页面的布局,并分析数据库,通过Java语言来编写,来实现美观实用的书城APP。2.4研究成果及意义 本设计实现了管理员后台添加图书、修改图书、删除图书等功能,以便用户查看图书并根据自己的喜好添加到书架中,用户还可对笔记进行增删改查。虽然跟已经流行的某

11、些阅读软件相比还有不足之处,功能也相对不完善,但是软件重在一点点更新,我相信下一个版本会更好,且它提供了其他阅读软件没有的功能。对于现代人高信息化快节奏化的生活,很有调节及消除疲劳、休闲娱乐的功能。3 开发环境3.1 软件定义 平台及版本:Android SDK 4.4.2 开发IDE:Eclipse 使用语言:Java 数据库:SQLite运行环境:Eclipse模拟器3.2 开发平台介绍3.2.1 Android SDK 4.4.2 与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比i

12、Phone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。且Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,可节省近三成成本。3.2.2 Eclipse Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。 Eclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其他所有的功能都以插件的形式附加到该核心上。 Eclipse平台是一个具有一组强

13、大服务的框架,这些服务支持插件,比如Java开发环境插件(JDT)、插件开发环境(PDE)和其他的第三方插件(New tool)。它由几个主要的部分构成:平台运行库、工作区、工作台、团队支持和帮助。3.2.3 Java Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java语言主要有三大特点,多态、封装、继承。我个人理解为,Java的多态主要表现在方法的重写和重载上,即overload和override。重写是子类继承父类,重写父类的方法。而重载是指方法名相同,只是参数类型不同,可以是参数数目不同,参数数据类型不同,也可以是两者

14、都不同。封装就是封装属性或方法,大大增加了代码的安全性和可重复利用率。Java中的继承和C语言中的继承不同,Java中只允许单继承,即一个子类只能继承一个父类,但它可以实现多个接口,也就是所谓的单继承多接口,而C语言中子类可继承多个父类。这也体现了Java语言的面向对象特点,现实世界中随处可见的一种事物就是对象,对象是事物存在的实体,如人类、汽车、计算机等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常会将对象划分为两部分,静态部分和动态部分,静态部分及对象所具备的属性,例如我们大家,每个人都有自己的身高、体重、年龄、职业等描述,而且我们每个人还有自己

15、的动作,我们可以跑动、哭泣、说话、大笑,这都是我们所具备的行为。而Java就是通过观察探讨对象的属性和所具备的行为来了解对象进行编程。3.2.4 SQLite和JavaWeb该应用使用SQLite本地数据库,没有使用JavaWeb服务器。JavaWeb是用Java技术来解决相关的web互联网领域的技术总和。Web包括:web服务器和web客户端两部分。Java在客户端的应用现在使用的很少,Java在服务器端的应用非常丰富,比如Servlet,JSP和第三方框架等。SQLite是一个轻量级的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中

16、可能只需要几百K的内存就够了。 它能够支持Windows/Linux/Unix等等主流的操作系统,同时能跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起MySql、PostgreSQL这两款世著名的开源暑假管理系统来讲,它的处理速度比他们都快。它的易使用性可以加快应用程序的开发,并使得小型应用程序能够完全支持复杂的SQL。这一点对于小型设备空间的应用程序来说尤为重要。 SQLite支持事件,不需要配置,不需要安装,也不需要管理员,没有账户的概念,而是根据文件系统确定所有数据库的权限。这会使强制执行存储配额发生困难,强制执行用户许可变得不可能。4 系统分析4

17、.1 可行性分析4.1.1 技术可行性 Java是如今最热门、最先进的的一种面向对象的新型程序设计语言。它是由Sun Mierosystems 公司为开发网络而研制的发明的语言。该语言为我们提供了一种与平台无关、适于分布式系统的开发和运行环境,主要用于Internet网络的编程。其程序可以在不同的平台上运行,而不需要考虑其移植问题。Sun公司正致力于将Java开发推广成一种Internet标准语法。 Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、

18、多继承、自动的强制类型转换。特别的,Java语言不必使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 综上,我们可以看出用Java语言来编写该安卓程序技术上是可行的,该软件的功能目标基本可以完成,我们的开发人员技术也相对达标,通过详细的周期计划,该软件可以在一定的期限内完成。4.1.2 经济可行性 该软件是手机端APP,可以安装在多款手机上使用,以实现阅读小说,添加书架,随时随地添加笔记,记下看书时的任意有创意、有意义的想法,通过编辑笔记修改自己曾经撰写的笔记中的错误。或者删除笔记,查看自己的笔记列表。在阅读书籍的同时还可开启或关闭背景音乐。让用户在阅读的同时还可以享受温暖人

19、心的轻音乐等等功能。硬件设备有:只需要一台带有Eclipse软件的计算机,数款手机终端。开发费用,只需付负责开发的程序员工资以及软件完成后的推广费用,保守估计十万左右。但是现在用电子设备阅读图书的人群越来越壮大,我们完全有可能在后期获得更多的收益。而且当该软件推广后,带给企业的影响是无法衡量的。因此在经济上,完全可以实行。4.1.3 社会可行性 掌上书城APP完全适应现代人的需求,并且有自己的功能,有最近书单,可查看最近阅读的图书,有背景音乐可根据自己的喜好播放或停止,还增加了一个易于过关的小游戏,让用户在读书读累的时候玩会小游戏,劳逸结合。 该软件利用计算机网络及现在的安卓手机的火热,实现了

20、足不出户在线阅读各种小说的功能,极大的方便了用户,就其前景和应用的人群广泛来说,它的社会可行性还是不错的。4.2 需求分析说明 4.2.1 项目总体概述 该软件分为前台用户和后台用户,后台用户即管理员,可以向数据库中增删改查图书,前台用户即普通用户,可以阅读管理员添加的图书,且可以更改背景音乐等。 4.2.2 具体需求 4.2.2.1 后台管理员 点击相应的按钮,对图书进行增删改查,并管理用户。 4.2.2.2 前台普通用户 进入主页面,点击相应的按钮,跳转相应的页面,进行相应的操作实现笔记在数据库中的增删改查。数据库管理用户注册信息数据管理存储用户注册信息 验证登录信息掌阅书城数据管理图书的

21、增删查以及个人笔记的增删改查用户登录/注册注册注册一个用户,将用户信息存入数据库登录通过验证用户信息进入系统5 系统结构与模型5.1 设计实现的思路 (1)先确定系统要使用的开发工具,本系统使用的是Eclipse,先搭好Eclipse的运行环境。 (2)实现注册登录模块,这样才会有普通用户和管理员的区分,管理员是指定的。 (3)实现笔记方面的模块。让用户更好的阅读图书。5.2 系统结构设计 (1)用户使用软件时,主页面结构如下: 图 4.2-1 前台用户进入页面 (2)用户进入登录、注册页时,结构流程如下:图 4.2-2 前台用户注册登录页 (3)用户进入书城,浏览图书,并添加喜欢的图书到书架

22、 图 4.2-3 前台用户进入书城页 (4)用户查看书架中的图书,点击进入详细图书内容页 图 4.2-4 前台用户详细图书内容页 (5)用户进入个人中心,查看笔记 图 4.2-5 前台用户个人中心页 (6)用户进入侧滑菜单页,游戏中心玩游戏。图 4.2-6 用户进入游戏中心页6 数据库设计6.1 E-R图E-R如图所示:图 5.1-1 E-R图6.2 数据库逻辑设计(1) E-R图转换为关系模型 关系的码用下划线标出。图书(图书编号,图书名称,图书内容,作者名称,用户名称);用户(用户编号,用户名称,用户密码);笔记(笔记编号,笔记题目,笔记内容,笔记日期,图书名称); 6.3 数据库物理设计

23、 图书信息表 books,用于保存用户添加的图书信息。中文含义类型约束字段名编号Number(5)主键bid图书名称Varchar(20)Not nullbname图书内容Varchar(100)Not nullbcontent作者名称Varchar(20)Not nullbauthor用户名称Varchar(20)Not nulluname中文含义类型约束字段名编号Number(5)主键jid图书名称Varchar(20)Not nullbname笔记题目Varchar(20)Not nulljname笔记内容Varchar(20)Not nulljcontent笔记日期dateNot nu

24、lljtime用户名称Varchar(20)Not nulluname 笔记表 biji,用于保存用户添加的笔记。 用户信息表 user,用于保存用户信息。中文含义类型约束字段名用户编号Number(5)主键uid用户姓名Varchar(10)唯一uname密码Varchar(20)Not nullupass7 总体设计7.1 总体设计说明 该软件使用Java基础语言,使用Activity和layout布局相结合,编写安卓软件。如图所示: (1)Activity类文件如图:图 6.1-1 Activity类 (2)Layout布局的实现,如图:图 6.1-2 Layout布局7.2 代码实现7

25、.2.1 SQLite的代码实现 /db_books是所连的数据库的名称 private static final String DBNAME = db_books; /构造方法public SQLiteDBUtil(Context context, String name, CursorFactory factory,int version) super(context, name, factory, version); /声明只带一个参数的构造方法public SQLiteDBUtil(Context context) super(context, DBNAME, null, 1);Ove

26、rridepublic void onCreate(SQLiteDatabase db) System.out.println(创建表);String userTablesql = create table users (userid integer primary key autoincrement,uname varchar(20) not null,upass varchar(20) not null);db.execSQL(userTablesql);System.out.println(用户表创建完成);String bijiTablesql = create table biji(

27、jid integer primary key autoincrement,bid varchar(20) not null,uname varchar(20) not null,jname varchar(20) not null,jneirong varchar(20),jtime date);db.execSQL(bijiTablesql);System.out.println(笔记表创建完成);String booksTablesql = create table books(bid integer primary key autoincrement,bname varchar(20)

28、 not null,bcontent varchar(20) not null,bauthor varchar(20) not null,uname varchar(20) not null);db.execSQL(booksTablesql);System.out.println(图书表创建完成);/该方法用于数据库更新时使用,此处用不到,不改变即可Overridepublic void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) 此时数据库已经搭建完毕。我们可以先从底层界面写起。在此为了方便查阅,底层界面和Activity类一同贴出

29、。7.2.2首启动欢迎页 该页面主要作用是美观,在此界面停留一定的时间后自动跳到主页面。如下所示:(1)Activity代码如下:import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Window;public class FirstActivity extends Activity /该oncreate方法用于初始化Overrideprotec

30、ted void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);/ 去除标题 /绑定底层的布局文件this.setContentView(R.layout.layout_first); /从该页面跳转到下一个页面当中去final Intent intent = new Intent(FirstActivity.this, MainActivity.class); /实例化一个Timer对象Timer time

31、r = new Timer();TimerTask task = new TimerTask() Overridepublic void run() / 开始跳转,并且跳转后关闭原界面startActivity(intent);finish(); /跳转前在此页面停留3秒timer.schedule(task, 1000 * 3);底层页面布局如下,在此简单的介绍一下,其他页面布局不再详细介绍: LinearLayout是流式布局,layout_width和layut_height有四种形式,match_parent和fill_parent用法相同,和上一层嵌套布局等高等宽,而wrap_con

32、tent是根据所包含的内容的大小自适应,还有一种就是用户自定义一定数值的宽和高。Orientation是它的摆放模式,有横向和纵向两种。TextView是文本组件,gravity是组件的居中方式。 到此,首启动页已经完成。7.2.3 主页面 主页面显示的是书架。代码如下: /首先添加属性DrawerLayout mDrawerLayout;Button btnshucheng;ListView llistview;TextView txt_bname, txt_uname;ArrayListHashMap list;Overrideprotected void onCreate(Bundle

33、savedlnstanceState) super.onCreate(savedlnstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.layout_main);/ 注册组件this.btnshucheng = (Button) findViewById(R.id.btnshucheng);this.txt_bname = (TextView) findViewById(R.id.txt_bname);this.txt_uname = (TextView) findViewById

34、(R.id.txt_uname);this.llistview = (ListView) findViewById(R.id.listview); /实例化数据库,并打开连接SQLiteDBUtil dbutil = new SQLiteDBUtil(MainActivity.this);SQLiteDatabase db = dbutil.getReadableDatabase();list = this.getData();/ 定义一个适配器,用于在页面中显示数据SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.l

35、ilst1,new String bname , new int R.id.txt_bname );/ 绑定适配器this.llistview.setAdapter(adapter); /绑定监听事件this.llistview.setOnItemClickListener(new ListListener();initView();initEvents();/ 绑定事件源btnshucheng.setOnClickListener(new BtnListener();/ 定义一个内部类,监听listview菜单class ListListener implements OnItemClick

36、Listener Overridepublic void onItemClick(AdapterView arg0, View arg1, int i, long arg3) HashMap map = list.get(i);/ 跳转到显示书籍页面,并传值String bid = map.get(bid).toString();String bname = map.get(bname).toString();String bcontent = map.get(bcontent).toString();String bauthor = map.get(bauthor).toString();S

37、tring uname = map.get(uname).toString();Intent intent = new Intent(MainActivity.this,BooksneirongActivity.class);intent.putExtra(bid, bid);intent.putExtra(bname, bname);intent.putExtra(bcontent, bcontent);intent.putExtra(bauthor, bauthor);intent.putExtra(uname, uname);startActivity(intent); finish()

38、;public void OpenLeftMenu(View view) mDrawerLayout.openDrawer(Gravity.LEFT);mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED,Gravity.LEFT);private void initEvents() mDrawerLayout.setDrawerListener(new DrawerListener() Overridepublic void onDrawerClosed(View drawerView) / TODO Auto-generated method stubmDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.LEFT);Overridepublic void onDrawerOpened(View drawerView) / TODO Auto-generated method stub /通过动画效果实现侧滑Over

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服