【项目实战】Android Studio简单实现图书馆借阅管理系统

希望文章能给到你启发和灵感~
点赞+收藏+关注 支持一下吧~

序幕

该项目基于android语言开发,主要实现一个简单的图书馆管理系统,包含登录,注册,租借和归还,以及基础的信息的CURD功能;存储数据采用的是sqlite数据库,和SharedPreferences轻量级存储;

一、基础环境说明

考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境;

1.1 硬件环境

MacOS Monterey 版本 12.6.8 Apple M1

1.2 软件环境

开发工具:Android Studio 2021.2.1
编译环境:Java 1.8.0_171, Android SDK 的版本为 32
数据存储:sqliteSharedPreferences

选择好自己测试使用的机型,我这里测试主要分了两种,一种是在PC开发上测试的,一个是真机上跑的机型;如果需要Iphone机型,需要另外使用模拟器软件和响应的IPhone的模拟器镜像;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:机型的不同,在真机效果的布局和显示上会有偏差,注意调整样式达到最适宜的效果即可;

二、整体设计

首先对接的需求是一个图书管理借阅系统,主要分为五个模块;实现上还是以CRUD为主,主要耗时的是在页面设计和布局调试上;

在这里插入图片描述

2.1 数据库逻辑处理:

首先是数据库,这里定义了一个数据库工具类,继承SQLiteOpenHelper,实现sqlite的功能,onCreate方法只会执行一次创建。包括一些数据库的相关操作也进行了封装;语句上也是基础的DDL语句;唯一注意的就是语句上,因为基于sqlite,所以写法略微会和平时我们常用的mysql,或者oracle有点不同;
在这里插入图片描述
数据处理结果上,常规的使用游标Cursor来接收结果
在这里插入图片描述

2.2 登录/注册模块

关键代码

这里定义我们登录页的组件页面Activity(AppCompatActivity),初始化了按钮,输入框等组件信息;
注:此处使用AppCompatActivity是基于AndroidX,即 androidx.appcompat.app.AppCompatActivity 而不是旧的 android.support.v7.app.AppCompatActivity。这点需要注意;
(AndroidX 是 Android 支持库的更新版本,它提供了更好的性能和更新的功能)
在这里插入图片描述
朋友需求中比如需要一个“记住我”的功能,因为这里数据量不大,我们只要存一下登录的用户信息即可,因此这里考虑使用了SharedPreferences来存储;需要时通过getSharePreferences来获取数据即可;
在这里插入图片描述
这里将所有该页面需要的特定视图查找都封装到了一起;并做了按钮的监听事件设置;
在这里插入图片描述
验证账号和密码,并根据返回结果将登录信息存储到SharedPreferences;
在这里插入图片描述
效果图:
在这里插入图片描述在这里插入图片描述

2.3 功能界面初始化:

在这里插入图片描述
在这里插入图片描述

2.4 图书管理模块

点击图书管理,可进行图书的添加;一开始使用的listview来展示,后续进行了优化;
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.5 图书租借服务

根据展示的图书列表,进行书籍的借阅和归还操作;

在这里插入图片描述

2.6 读者服务

读者可以查看自己的借阅历史记录;
在这里插入图片描述

2.7 系统管理模块

查看当前的系统用户信息列表;支持修改用户信息;
在这里插入图片描述在这里插入图片描述
布局设计上,初期大体结构都是以RelativeLayout,和LinearLayout结合使用;后续将listview 件进行了调整替换为了RecyclerView;加入FrameLayout布局以及swiperefreshlayout来实现;

2.8 关于通用配置

类似Java开发中的propertities文件一样,Android也有自己的配置常量文件,例如我们这里的colors.xmlstrings.xml; 这里我们根据自己需要可以配置许多常量数据;
在这里插入图片描述
在这里插入图片描述
获取数据方式也比较简单:
在这里插入图片描述
在这里插入图片描述

三、展示优化调整

初期只是做了基础布局和功能实现,老样子,实现完基础功能后,我们再对基础的样式做个美化和点缀;
最终效果图:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
优化后,自己又加了一些下拉刷新效果,以及数据更新后的即时刷新回显的能力;把原来列表展示的ListView换成了RecyclerView,个人感觉原生的写法没有小程序开发中来的方便,美观上也会体现差一些,不过作为基础学习和组件的熟悉还是很不错的;

四、总结

这个需求项目算是Android入门级的应用吧,不难看出我们实现页面布局的展示方式主要用到了两种:

4.1 XML文件实现布局

这是Android开发中定义用户界面布局的主要方式,博主这里使用的是Android Studio可视化工具来编辑布局;他偏向于做静态页面的设计
在这里插入图片描述

在Java或Kotlin代码中,通过setContentView(R.layout.your_layout_file)方法将XML布局文件与Activity或Fragment关联起来;
在这里插入图片描述
在这里插入图片描述

XML布局文件具有结构清晰、易于阅读和维护的优点,并且支持各种UI组件和布局容器的组合使用

4.2 编程代码实现布局

处了XML文件,我们还可以使用代码编程来实现动态的界面变化,如设置一些组件的显示与隐藏,同时也能设置各种样式;
在这里插入图片描述

4.3 其他方式

感兴趣的也可以研究一下第三方库或者框架,以及使用WebView加载HTML可能会有更好的效果展现

五、最后

作为安卓项目单子的小尝试,满足了朋友的基本需求,自己做了后续的小优化和调整,至少体验上提高了不少,开发完才感觉现在的uniapp,和Vue啥的还是挺香的,功能实现的同时还是美化效果;

  • 33
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋刀prince

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值