基于Android开发的图书管理系统报告Word文档下载推荐.docx
- 文档编号:7813356
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:19
- 大小:24KB
基于Android开发的图书管理系统报告Word文档下载推荐.docx
《基于Android开发的图书管理系统报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Android开发的图书管理系统报告Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。
●能够对学生信息进行有效的管理;
●能够准确、详细地了解学生的每月阅读量;
●系统应最大限度地实现易维护性和易操作性。
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
班级
S_Phone
Varchar(11)
联系方式
S_pwd
密码
(二)借阅表(cord)
表2cord表结构
ISBN
图书编号,主键
B_Name
书名
ReturnTime
Datetime
归还时间
(三)图书表(books)
表3books表结构
B_Author
作者
B_Pm
Varchar(255)
书本介绍
(四)留言表(reads)
表4reads表结构
Number
留言编号,主键
Title
Varchar(50)
标题
Article
内容
四、系统功能实现
4.1主界面
该系统分为三大功能模块:
图书管理、预约图书、翻译、投稿、娱乐、登录注册六个功能,下面分别介绍这七大块,界面如图4-1所示。
图4-1会员管理界面图
Activity关键代码实现如下:
//主界面GridView六个菜单适配,新建适配器MuneAdapter.Java:
publicclassMuneAdapterextendsBaseAdapter{
int[]imageId={R.drawable.j,R.drawable.h,R.drawable.o,
String[]text={"
书架"
"
阅读"
签到"
投稿"
翻译"
娱乐"
};
privateContextcontext;
publicMuneAdapter(Contextcontext){this.context=context;
}
publicintgetCount(){return6;
publicObjectgetItem(intposition){returnnull;
publiclonggetItemId(intposition){return0;
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
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("
登录成功!
);
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("
登录失败!
Toast.makeText(LoginActivity.this,"
登录失败!
学号或密码不正确!
}}
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,"
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,"
注册成功!
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);
S_Name"
student.S_Name);
S_Class"
student.S_Class);
S_Phone"
student.S_Phone);
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)){
书名不能为空!
}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();
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){
holder=newViewHolder();
convertView.setTag(holder);
}else{holder=(ViewHolder)convertView.getTag();
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,"
没有更多的数据了"
}else{pagebook.addAll(dao.getPageBook(pagenumber,pagesize));
adapter.notifyDataSetChanged();
publicvoidonScroll(AbsListViewview,intfirstVisibleItem,intVisibleItemCount,
inttotalItemCount){
}});
4.3.3图书数据库操作
publicclassBookDao{
publicBookDao(Contextcontext){super();
helper=newDBOpenHelper(context);
publicbooleanadd(Bookbook){db=helper.getWritableDatabase();
B_Name"
book.B_Name);
values.put("
B_Author"
book.B_Author);
B_Pm"
book.B_Pm);
longrowid=db.insert("
books"
}else{returntrue;
publicbooleandelete(Bookbook){db=helper.getWritableDatabase();
introwname=db.delete("
B_Name=?
newString[]{book.B_Name});
if(rowname==0){returnfalse;
4.4投稿阅读
4.4.1投稿
每个学生都可以投稿写文章然后发布,发布出去的文章可以在阅读界面查看。
阅读界面相当于广场,用户可以在广场上看到文章。
投稿界面如图4-4-1所示:
图4-4-1投稿界面图
输入标题和文章内容发布,用户可以在阅读“广场”上看到发布的内容。
//Tougao.java关键代码
StringTitle=title.getText().toString().trim();
StringArticle=article.getText().toString().trim();
if(TextUtils.isEmpty(Title)){
标题不能为空!
return;
}else{Writewrite=newWrite();
write.Title=Title;
write.Article=Article;
dao.add(write);
Toast.makeText(TougaoActivity.this,"
发布成功!
break;
}
4.4.2阅读广场
用户可以在阅读广场查看发布的文章,可以评论、点赞和分享。
图4-4-2阅读界面图
使用listview来显示发布的文章,创建一个ReadAdapter.java适配器。
//创建一个ReadAdapter.java实现一个适配器功能显示到listview上,显示广场上所有文章。
关键代码如下:
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
ViewHolderholder=null;
if(convertView==null){
holder=newViewHolder();
convertView.setTag(holder);
}else{holder=(ViewHolder)convertView.getTag();
returnconvertView;
staticclassViewHolder{
TextViewtitle;
TextViewarticle;
//ReadAdapter.java关键代码:
publicvoidonScrollStateChanged(AbsListViewview,intscrollState){
switch(scrollState){
caseOn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 开发 图书 管理 系统 报告