基于Android开发的图书管理系统报告.doc

上传人:zf 文档编号:28439562 上传时间:2023-07-13 格式:DOC 页数:19 大小:1.58MB
下载 相关 举报
基于Android开发的图书管理系统报告.doc_第1页
第1页 / 共19页
基于Android开发的图书管理系统报告.doc_第2页
第2页 / 共19页
基于Android开发的图书管理系统报告.doc_第3页
第3页 / 共19页
基于Android开发的图书管理系统报告.doc_第4页
第4页 / 共19页
基于Android开发的图书管理系统报告.doc_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于Android开发的图书管理系统报告.doc

《基于Android开发的图书管理系统报告.doc》由会员分享,可在线阅读,更多相关《基于Android开发的图书管理系统报告.doc(19页珍藏版)》请在冰豆网上搜索。

基于Android开发的图书管理系统报告.doc

宁宁波大红鹰学院

《Android开发基础》

项目名称

基于Android的图书管理应用的设计与实现

所在学院

信息工程学院

班级

13软工1班

姓名

许格

学号

1322120141

2016年6月20日

目录

一、开发背景 1

二、需求分析 1

2.1功能分析 1

2.2开发技术分析 1

三、系统设计 1

3.1系统目标 1

3.2系统功能 2

3.3数据库设计 2

四、系统功能实现 4

4.1主界面 4

4.2.客户端登录 6

4.2.1学生登录 6

4.2.2学号快捷注册 7

4.3图书管理 9

4.3.1图书添加 9

4.3.2图书信息显示 10

4.3.3图书数据库操作 11

4.4投稿阅读 12

4.4.1投稿 12

4.4.2阅读广场 13

4.4.3投稿数据库操作 14

4.5预约图书 15

4.5.1预约卡 15

4.5.2预约数据库 15

4.6翻译 16

4.7娱乐 17

五、总结与收获 18

一、开发背景

移动互联网时代的来临,说明一个崭新的时代开始了。

所谓移动互联网是将移动通信和互联网整合在一起,移动设备(包括手机和上网本)可以随时随地地访问互联网资源和应用。

 

智能手机是移动互联网时代一个标志性的客户端工具,它和传统的手机是有区别的,它就像一台“小电脑”,具有独立的操作系统,可以自由安装、卸载软件,具有强大的计算和存储能力,可以通过移动通信网络来实现无线网络接入。

 

对于移动终端设备飞速发展的今天,传统WEB上的应用出现在手机终端是一个大的趋势。

而基于Android开发的图书馆管理系统手机客户端,正是对这一趋势的良好体现,Android平台下的图书馆管理系统的开发,能很好的为用户提供方便,用户能通过它能随时随地的了解系统的实时信息,做到信息的实时化。

通过Android平台下的图书馆管理系统客户端的开发,与传统WEB应用进行良好的互补。

 

同时,对于校内的图书馆管理系统来说,手机对于学生是必不可少的一个物品,手机客户端这种形式的图书馆管理系统,能更加贴近学生的生活习惯,并且适合学生年龄段的习性,这对学生更多的接触到图书馆的信息有一定得促进作用。

 

二、需求分析

2.1功能分析

基于Android平台开发的图书馆管理系统客户端从设计者的角度来看,用户角色主要为学生用户;功能包括注册、登录、投稿、翻译、娱乐、书籍查询、图书实时更新,借阅图书共八大部分。

学生用户可以根据学号进行快捷注册,学生在投稿区写文章发表,在广场互动,翻译功能可以帮助解决学习上遇到不理解的英文进行翻译,娱乐功能中有两个小游戏,用户可以适时放松一下。

当然主要功能当然是查询借阅书籍。

2.2开发技术分析

该系统是基于Eclipse软件并连接AndroidSDK进行开发的基于Android平台开发的图书管理系统,数据库采用较小速度快的SQLite,是嵌入式移动设备中常用的轻量级数据库。

软件UI通常使用xml技术设计,由于布局的使用,并且布局之间可以互相嵌套,使得android软件UI的设计变得非常灵活,力求图书馆与学生之间更加亲近方便。

三、系统设计

3.1系统目标

l系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠; 

l能够让学生更好更方便的了解图书馆和借阅图书; 

l丰富学生知识,增加学生阅读积极性; 

l能够对学生信息进行有效的管理;  

l能够准确、详细地了解学生的每月阅读量; 

l系统应最大限度地实现易维护性和易操作性。

3.2系统功能

本系统的具体功能如下:

1、图书管理:

新增、浏览馆藏图书。

2、借阅图书:

学生查找图书进行预约,预约成功可前往图书馆借阅。

3、投稿:

学生可以在平台发布文章,发布的文章可在阅读界面查看,可对文章点赞,评论和分享。

4、翻译:

学生可以使用翻译功能在线翻译,如学习时遇到看不懂的英文句子以及单词。

5、娱乐:

娱乐功能开发了两个休闲小游戏,打地鼠游戏和扫雷游戏。

学生可在学习之余放松一下。

6、个人:

学生可使用学号进行注册和登录。

本系统的系统结构功能图如图3-1所示。

图3-1系统结构功能图

3.3系统用例图

3.4数据库设计

由于本系统是在校学生使用的软件,需要充分考虑图书管理和学生借阅需求等问题,而SQLite是一款轻型的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

处理速度快,效率高,正好满足了手机app的需求,所以本系统采用SQLite数据库。

根据数据库的概念设计,可以进一步进行数据库的逻辑设计。

本人所设计的数据库命名为Tushu,数据库中包括以下的数据表:

1、学生信息表(student)2、借阅表(cord)3、图书表(books)4、留言表(reads)

(一)学生信息表(student)

表1student表结构

字段名

数据类型

说明

Id

Int

主键

S_Num

Varchar(10)

学号

S_Name

Varchar(20)

姓名

S_Class

Varchar(20)

班级

S_Phone

Varchar(11)

联系方式

S_pwd

Varchar(20)

密码

(二)借阅表(cord)

表2cord表结构

字段名

数据类型

说明

ISBN

Int

图书编号,主键

B_Name

Varchar(20)

书名

S_Num

Varchar(20)

学号

ReturnTime

Datetime

归还时间

(三)图书表(books)

表3books表结构

字段名

数据类型

说明

ISBN

Int

图书编号,主键

B_Name

Varchar(20)

书名

B_Author

Varchar(20)

作者

B_Pm

Varchar(255)

书本介绍

(四)留言表(reads)

表4reads表结构

字段名

数据类型

说明

Number

Int

留言编号,主键

Title

Varchar(50)

标题

Article

Varchar(255)

内容

四、系统功能实现

4.1主界面

  该系统分为三大功能模块:

图书管理、预约图书、翻译、投稿、娱乐、登录注册六个功能,下面分别介绍这七大块,界面如图4-1所示。

图4-1会员管理界面图

Activity关键代码实现如下:

//主界面GridView六个菜单适配,新建适配器MuneAdapter.Java:

publicclassMuneAdapterextendsBaseAdapter{

int[]imageId={R.drawable.j,R.drawable.h,R.drawable.o,

R.drawable.p,R.drawable.k,R.drawable.i};

String[]text={"书架","阅读","签到","投稿","翻译","娱乐"};

privateContextcontext;

publicMuneAdapter(Contextcontext){this.context=context;}

publicintgetCount(){ return6;}

publicObjectgetItem(intposition){returnnull;}

publiclonggetItemId(intposition){return0;}

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

Viewview=View.inflate(context,R.layout.item_mune,null);

ImageViewicon=(ImageView)view.findViewById(R.id.iv);

TextViewtv=(TextView)view.findViewById(R.id.tv);

icon.setImageResource(imageId[position]);

tv.setText(text[position]); returnview;}}

//在主界面进行适配,然后进行跳转。

gView.setAdapter(newMuneAdapter(MainActivity.this));

gView.setOnItemClickListener(newOnItemClickListener(){

publicvoidonItemClick(AdapterView

>parent,Viewview,intposition,longid){

switch(position){

case0:

startActivity(BookActivity.class);

break;

4.2.客户端登录

4.2.1学生登录

学生登录客户端主要用于查询想借阅的图书和借书。

登录界面如图4-2-1所示,学生可以登录注册进入客户端。

在登录界面中,首先提醒您输入登录信息,并且把登录的用户名和密码输入其文本框内。

图4-2-1登录界面图

技术分析:

创建了一个名为LoginActivity.java实现登录,查询数据库中的学号和密码是否匹配,如果没有账号点击注册跳转到注册页面。

代码实现如下:

Stringname=user.getText().toString();

Stringpass=pwd.getText().toString();

Log.i("TAG",name+"_"+pass);StudentDaodao=newStudentDao(this);

booleanflag=dao.login(name,pass);

if(TextUtils.isEmpty(name)||TextUtils.isEmpty(pass)){

Toast.makeText(this,"学号和密码不能为空!

",0).show();}

elseif(flag){Log.i("TAG","登录成功!

");

Toast.makeText(LoginActivity.this,"登录成功",Toast.LENGTH_LONG).show();

Intentintent=newIntent();

intent.setClass(LoginActivity.this,MeActivity.class);

intent.putExtra("name",user.getText().toString());

startActivity(intent);

}else{Log.i("TAG","登录失败!

");

Toast.makeText(LoginActivity.this,"登录失败!

学号或密码不正确!

",Toast.LENGTH_LONG).show();}}

4.2.2学号快捷注册

学生登录客户端没有账号可点击登录按钮右下方的“学号快捷注册”进行注册。

注册界面如图4-2-2所示,学生可以注册个人信息然后进行登录。

在注册界面中,首先提醒您输入个人信息,注册成功后跳转到登录界面。

图4-2-2注册界面

代码实现如下:

StringS_Num=S_num.getText().toString().trim();

StringS_Name=S_name.getText().toString().trim();

StringS_Class=S_class.getText().toString().trim();

StringS_Phone=S_phone.getText().toString().trim();

StringS_pwd=S_Pwd.getText().toString().trim();

if(TextUtils.isEmpty(S_Num)||TextUtils.isEmpty(S_pwd)){

Toast.makeText(this,"学号和密码不能为空!

",0).show();

return;

}else{Studentstudent=newStudent();

student.S_Num=S_Num;student.S_Name=S_Name;

student.S_Class=S_Class;student.S_Phone=S_Phone;

student.S_pwd=S_pwd;dao.add(student);}

Toast.makeText(ZhuceActivity.this,"注册成功!

",0).show();

finish();break;}

}

4.2.3个人信息数据库

//Studentdao.java

publicclassStudentDao{

privateDBOpenHelperhelper;

privateSQLiteDatabasedb;

publicStudentDao(Contextcontext){

super();helper=newDBOpenHelper(context);}

publicbooleanadd(Studentstudent){

db=helper.getWritableDatabase();

ContentValuesvalues=newContentValues();

values.put("S_Num",student.S_Num);

values.put("S_Name",student.S_Name);

values.put("S_Class",student.S_Class);

values.put("S_Phone",student.S_Phone);

values.put("S_pwd",student.S_pwd);

longrowid=db.insert("student",null,values);

if(rowid==-1){returnfalse;

}else{returntrue;}}

publicbooleanlogin(StringS_Num,StringS_pwd){

db=helper.getReadableDatabase();

Stringsql="select*fromstudentwhereS_Num=?

andS_pwd=?

";

Cursorcursor=db.rawQuery(sql,newString[]{S_Num,S_pwd});

if(cursor.moveToFirst()==true){cursor.close();returntrue;}

returnfalse;

}

4.3图书管理

4.3.1图书添加

图书管理员可以进行图书的添加删除和修改。

及时的更新书库图书信息和增加新书,点击下方茶杯按钮即可添加图书,图书添加界面如图4-3-1所示。

图4-3-1添加图书界面图

技术分析:

在SQLite中添加books表,进行增删查改。

创建了一个名为AddbookActivity.java实现添加图书信息。

代码实现如下:

//AddbookActivity.java添加图书:

StringB_Name=bookname.getText().toString().trim();

StringB_Author=author.getText().toString().trim();

StringB_pm=pm.getText().toString().trim();

if(TextUtils.isEmpty(B_Name)||TextUtils.isEmpty(B_Author)){

Toast.makeText(this,"书名不能为空!

",0).show();

return;

}else{

Bookbook=newBook();book.B_Name=B_Name;

book.B_Author=B_Author;book.B_Pm=B_pm;

dao.add(book);}

Toast.makeText(AddbookActivity.this,"添加成功!

",0).show();

finish();break;}}

4.3.2图书信息显示

BookActivity.java显示数据库中所有图书信息,用listview显示,创建一个BookActivity.Java实现listview的适配。

如图4-3-2图书信息界面图。

图4-3-2图书信息界面图

技术分析:

通过BookActivity.Java实现listview的适配。

代码实现如下:

//BookAdapter.java适配器把数据库的图书信息显示在listview上,关键代码如下:

publicViewgetView(finalintposition,ViewconvertView,ViewGroupparent){

ViewHolderholder=null;

if(convertView==null){

convertView=View.inflate(context,R.layout.item_book,null);

holder=newViewHolder();

holder.bookname=(TextView)convertView.findViewById(R.id.bookname);

holder.author=(TextView)convertView.findViewById(R.id.author);

holder.bookpm=(TextView)convertView.findViewById(R.id.pm);

convertView.setTag(holder);

}else{holder=(ViewHolder)convertView.getTag();

}holder.bookname.setText(books.get(position).B_Name);

holder.author.setText(books.get(position).B_Author);

holder.bookpm.setText(books.get(position).B_Pm);

returnconvertView;}

staticclassViewHolder{

TextViewbookname;TextViewauthor;TextViewbookpm;TextViewrecord;

Viewshu;}

//BookActivity.java使用listview显示所有图书信息。

mListView.setOnScrollListener(newOnScrollListener(){

publicvoidonScrollStateChanged(AbsListViewview,intscrollState){ switch(scrollState){

caseOnScrollListener.SCROLL_STATE_IDLE:

intlastVisiblePosition=mListView.getLastVisiblePosition();

if(lastVisiblePosition==pagebook.size()-1){pagenumber++;

if(pagenumber*pagesize>=totalNumber){

Toast.makeText(BookActivity.this,"没有更多的数据了",0).show();

}else{pagebook.addAll(dao.getPageBook(pagenumber,pagesize));

adapter.notifyDataSetChanged();}}

break;}}

publicvoidonScroll(AbsListViewview,intfirstVisibleItem,intVisibleItemCount,

inttotalItemCount){

}});

4.3.3图书数据库操作

publicclassBookDao{

privateDBOpenHelperhelper;

privateSQLiteDatabasedb;

publicBookDao(Contextcontext){super();helper=newDBOpenHelper(context); }

publicbooleanadd(Bookbook){db=helper.getWritableDatabase();

ContentValuesvalues=newContentValues();

values.put("B_Name",book.B_Name);values.put("B_Author",book.B_Author);

values.put("B_Pm",book.B_Pm);longrowid=db.insert("books",null,values);

if(rowid==-1){ returnfalse; }else{ returntrue; } }

publicbooleandelete(Bookbook){db=helper.getWritableDatabase();

introwname=db.delete("books","B_Name=?

",

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1