分享好友 最新动态首页 最新动态分类 切换频道
Android Studio实现图书管理系统
2024-12-27 03:19

Android Studio实现图书管理系统

本项目实现了简单的图书管理系统,核心功能为借书信息的增删改查,利用SQLite数据库存储数据,使用SharedPreferences存储用户的账号和密码,并且密码采用MD5加密方式存储,保证了用户数据安全。进入系统,映入眼帘的是欢迎页面,然后跳转至登录页面,没注册就先进行注册,注册成功后自动跳转回登录页面,登录前可以勾选记住密码,下次打开应用就不用重新输入。成功登录系统,进入到主页面,包含添加、修改、删除和查询四个方形按钮,分别对应四个功能页面。在添加页面输入借书信息可以成功添加记录;在修改页面可以先输入学号查询借书信息,然后修改借书信息即可;在删除页面可以先输入学号查询借书信息,然后删除借书信息即可;在查询页面能够查询到所有的借书记录。总体而言,系统功能完善,代码逻辑清晰,注释详细,可以非常好地学习Android数据存储的相关技术。

在应用中先创建一个数据库辅助类,它继承自抽象类,用于创建和管理SQLite数据库。下面是对代码中各个部分的具体解释

  1. 类定义
    是这个类的名称。它扩展了来处理数据库相关的操作。

  2. 数据库名称和版本
    是数据库文件的名称,默认值为“book.db”。
    是数据库的版本号,当需要对数据库结构进行修改时,可以通过增加这个版本号来触发方法。

  3. 创建表的SQL语句
    定义了一个名为“Book”的表格,其中包含四个字段

    • :学生ID,数据类型为文本,设置为主键)。
    • :学生姓名,数据类型为文本)。
    • :学生的专业,数据类型为文本)。
    • :学生证的条形码,数据类型为文本)。
  4. 构造函数
    有一个构造函数,接受一个参数。是一个Android概念,代表应用程序环境的一部分,这里主要是用来与数据库建立连接。

  5. 数据库创建和升级的回调方法

    • :当数据库第一次被创建时调用,这里执行了创建“Book”表格的SQL语句。
    • :当数据库从一个较低版本升级到一个较高版本时调用。在本应用中,这个方法是空的,意味着不会自动进行任何版本升级时的数据迁移或结构更改。

这个类的目的是为了简化对数据库的操作,特别是在创建新的数据库实例时。我们可以通过创建的实例并传入一个对象来获取对象,然后就可以执行插入、删除、更新、查询等数据库操作了。

 
 

图书管理系统在注册和登录页面的逻辑中主要使用存储用户信息到本地文件中,这也是Android开发中用于数据持久化的解决方案之一,它允许我们存储键值对数据。先来看下保存用户信息的代码段

 

在上面的代码中,方法接收两个参数(用户名)和(密码)。然后,它使用方法获取一个实例,该实例使用指定的文件名和模式(在这里是,表示仅当前应用可见)。

接下来,使用方法获取实例,它可以用来添加、删除和修改中的键值对数据。通过调用方法,将用户名和密码保存为字符串类型的键值对。方法用于保存复选框的选中状态。这里的是当前活动中的一个复选框控件,但在实际应用中,通常不建议将UI控件的状态直接保存到中,除非该状态确实需要持久化。

最后,调用方法来提交所有的更改。这个方法会立即写入数据并返回一个布尔值,指示操作是否成功。如果需要异步提交数据,可以使用方法代替。

应用包括欢迎、登录、注册等8个页面,其中欢迎页面和主页面设计简单,增删改查页面稍复杂但是设计理念类似,因此介绍下登录页面和更新页面的绘制步骤。

登录页面

包括了几个基本的UI组件:一个TextView显示文字,一个ImageView用于显示图片,以及三个用于输入的EditText控件和一个CheckBox控件。这个布局的根元素是一个垂直方向的,它包含了所有的子视图。布局的顶部是一个TextView,用于显示"图书管理系统"的标题。紧接着是一个ImageView,用于显示应用的图标。

布局中间部分是一个,它包含了两个EditText和一个LinearLayout。第一个EditText用于输入用户名,第二个EditText用于输入密码。这两个EditText都设置了背景、提示文本、大小和其他属性。包含了一个CheckBox和一个TextView。CheckBox的文本是"记住密码",而TextView的文本是"用户注册"。这两个组件都被水平排列,并且各自占据了一半的空间。

更新页面

采用了垂直方向的LinearLayout作为根布局,包含了以下几个部分

  1. 页面顶部的,显示文本“更新借书记录”,具有一定的字体大小和颜色,背景设为透明。

  2. 页面中间的,显示一个人物头像图标,用于标识更新借书记录的主题。

  3. 紧接着的是一个水平方向的,包含三个子视图:一个显示文本“学号:”的TextView,一个宽度为150dp的EditText用于输入学号,以及一个宽度为120dp的Button用于查询。这个水平Layout的左右两侧各有5dp的外边距。

  4. 紧接着的是另一个水平方向的,包含三个子视图:一个显示文本“姓名:”的TextView,一个宽度为match_parent的EditText用于输入姓名,以及一个右侧有5dp外边距的Button用于提交。这个水平Layout的左右两侧各有10dp的外边距。

  5. 紧接着的是另一个水平方向的,包含三个子视图:一个显示文本“专业:”的TextView,一个右侧有5dp外边距的Button用于提交,以及一个右侧有5dp外边距的Button用于提交。这个水平Layout的左右两侧各有10dp的外边距。

  6. 最后,页面底部是一个宽度为match_parent的,显示文本“修改”,用于提交注册信息。这个Button的高度为50dp,上下左右各有10dp的外边距。

想要立即拥有这篇文章的源代码?没问题!两种方式任你选💻直接点击下方CSDN专属下载链接,轻松get√🎁或者,只需动动手指指关注公众号《萌新加油站,回复下方关键词即刻解锁!快来探索你的技术宝藏,开启编程新旅程吧🚀

1️⃣直接点击右侧链接下载源代码Android图书管理系统源码2️⃣直接点击右侧链接下载课设报告Android图书管理系统报告3️⃣关注公众号《 萌新加油站 》后台回复图书

🚀这有你错过的精彩内容Android Studio实现飞机大战Android Studio实现钢琴块小游戏Android Studio实现一笔画完小游戏Android Studio实现会议室预约系统Android Studio实现俄罗斯方块
最新文章
百度快速排名优化技术_百度快速排名优化技术,洞察市场行情与(黑帽seo)资讯
文章百度快速排名优化技术_百度快速排名优化技术,洞察市场行情与(黑帽seo)资讯由网友秋山信月归投稿,希望给你工作学习带来帮助。本文目录导读:百度排名算法的演变百度快速排名优化技术的关键要素(黑帽seo)的百度快速排名优化技术趋势实
百度健康
2022年9月30日,国家卫生健康委公立医院绩效考核管理平台公布了三级公立医院2021年「国考」成绩。国家三级公立医院绩效考核是国家卫健委开展的对全国三级公立医院综合能力最具权威的考核,考核结果和评价是医院高质量发展水平和成效的最好
文件生成下载链接
文件生成下载链接的方法有多种,具体选择哪种方法取决于你的需求和文件所在的环境。以下是一些常见的方法:一、使用云存储服务大多数云存储服务(如Google Drive、Dropbox、OneDrive、百度网盘等)都提供了文件分享功能,可以轻松地将文件
置顶小程序会员营销体系怎么搭建?【会员卡+积分+储值】闭环打造玩转会员营销精选热门
互联网行业的竞争,其实就是对用户和流量的争夺,谁掌握了用户和流量,就具备了市场核心竞争力。相对于普通用户而言,“会员”就是一个粘性更高、更具价值的群体。挖掘会员的需求,实现针对会员的精准营销,其实质是建立起与会员的情感连结
田轩:金融资源有力有效支持房地产,鼓励支持长期资金入市
登录新浪财经APP 搜索【信披】查看更多考评等级近日,清华大学国家金融研究院院长、五道口金融学院副院长田轩在专访时围绕深化金融体制改革和当前我国经济运行中的新情况新问题进行分析解读。近期这一套增量政策组合拳,是为了稳定经济增长
淘宝产品关键词怎么优化?优化关键词好方法
现在有很多消费者都是采用关键词进行搜索,所以作为商家优化商品关键词是很有必要的,可是产品关键词怎么优化?那么接下来,我们就来给大家讲解一下这方面的内容。1、有相关性关键词的相关性意味着会有相对精准的淘宝流量,精准的流量才能够
量化销售,步入过剩
来源:远川投资评论2022年,量化销售总会拿着Preqin全球对冲基金排行榜,热情地回答客户的发问,「未来中国的主观多头是不是也会被量化所取代?」没过两年,这枚回旋镖就击中了自己。今年10月,国内股票量化管理人规模为7900亿,相比2023年
构建强大的网站外链建设计划
在当今竞争激烈的数字环境中,外链建设对于网站的成功至关重要。外链可以提高网站的权威性、可信度和搜索引擎排名。制定一项有效的网站外链建设计划对于获得高质量反向链接至关重要,这些反向链接可以提升网站的在线影响力。外链建设规划确
眼霜哪个牌子好用?横扫眼部问题眼霜推荐 好用的眼霜排行榜
很多朋友是不是因为眼部问题困扰,因为眼部一旦有问题真的很难看,那么有什么眼霜真正可以横扫眼部问题,还你一双漂亮的双眼呢?今天我们就给大家盘点一下真正实力派好用的排名,是目前最好用的眼霜排行榜前十名,让你的眼部问题真正得到改
相关文章
推荐文章
发表评论
0评