欢迎来到天天文库
浏览记录
ID:21836760
大小:27.50 KB
页数:6页
时间:2018-10-25
《基于mvc的android平台图书管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于MVC的Android平台图书管理系统 摘要 描述了一个采用MVC设计模式,运行在Android客户端的多界面单机版图书管理系统的设计实现过程。 【关键词】MVC框架Android图书管理系统 1前言 基于Android平台的图书管理系统不仅可以减少人力资源消耗,同时还可以随时随地的查看与管理图书,方便用户进行操作。接下来本文将从设计与功能实现两个方面进行详细阐述。 2设计 2.1设计模式 该图书管理系统采用MVC(modelviewcontroller)设计模式,将视图与模型进行解耦,从而增强代码
2、的可维护性与可扩展性。该图书管理系统的MVC框架具体设计如下: 2.1.1Model:实现应用程序的核心功能 (1)创建图书管理数据库; (2)对数据库实现增删改查的功能。 2.1.2View:存放应用程序的用户界面 (1)用Activity加载XML实现的用户界面; (2)在用户事件响应函数里创建controller实例,调用controller里面相应的处理用户输入的函数。 2.1.3Controller:从界面读取数据,向后台转发数据 实现接受用户请求的函数,在函数里面调用model里面相应的函数
3、去处理该请求。 2.2功能 本系统的用户分为普通用户和管理员。普通用户权限有限,只可以实现登录功能、查看图书功能。管理员的权限较宽,不仅可以实现登录功能,还可以实现对图书的CRUD操作。如图1所示。 2.2.1登陆功能 通过输入的用户名和密码判断用户的身份是普通用户、管理员还是不存在的用户。如果为普通用户则显示所有图书信息,如果为管理员则进入功能选择界面,若为不存在的用户则提示输入信息有误。 2.2.2图书增删改查功能 通过输入图书的基本属性,编号、价格、名称来增加新的图书信息。通过输入图书表的主键即图书编
4、号,对图书进行唯一的识别然后删除该图书。通过输入图书编号、图书名称、图书价格,实现对该图书信息的更新。最终所有的图书信息会以表格形式显示在手机界面中。 2.3数据库 该图书管理系统的数据库采用Android自带的轻量级SQLite。因为SQLite在使用时无需安装部署方便,同时源代码开放是一个精简版的SQL库。表格设计共为两张: 2.3.1用户表 用户属性为自增的id、姓名、密码和用户类型,用户类型分为普通用户和管理员,其中主键为id。 2.3.2图书表 图书的基本属性为图书编号、图书名称、图书价格,其中图
5、书编号为主键。 3功能实现 在开发过程中为了使各个模块功能明确,所以采用MVC框架。在Android项目中,我们将程序分为三个包,从而使程序看起来清晰条理。目录结构如图2所示,具体功能如图3所示。 3.1Model的具体实现 1.DBhelper类:创建数据库book.db与图书表book,同时添加setContext()静态函数,用于将环境变量context设置为整个应用程序。核心代码如下: publicDBHelper(Contextcontext,Stringname,CursorFactoryfact
6、ory,intversion){//实现上下文、数据库名、CursorFactory类型、版本的传参} publicvoidonCreate(SQLiteDatabasedb){//使用execSQL()方法创建表} publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){//封装了升级数据库的逻辑} 2.BookManager:实现对book数据库的增删查改功能,分别使用db.instert(),db.delete(),db.updat
7、e(),db.query()的方法。以添加图书为例,核心代码如下: privateDBHelperhelper=newDBHelper(); publicbooleanadd(Stringid,Stringname,Stringprice){ //以只读写方式打开数据库,实现对数据的添加 SQLiteDatabasedb=helper.getWritableDatabase(); Cursorcursor=db.query("book",null,"id=?",newString[]{id},null,nul
8、l,null); if(cursor.moveToFirst()==true)returnfalse; ContentValuesvalues=newContentValues(); values.put("id",id);values.put("name",name); values.put("price",price)
此文档下载收益归作者所有