【安卓大作业】Android Studio图书管理系统 听雨轩

一、界面展示


二、功能介绍
登陆注册,借阅图书、收藏图书、修改个人信息、钱包充值、退出登录

三、关键代码展示
(1)database

public class DbHelper extends SQLiteOpenHelper {private static final String SQL_BOOK= "create table if not exists "+Constants.TABLE_NAME_BOOK+"(" +"number INTEGER NOT NULL primary key autoincrement," +"type varchar(50)  NOT NULL," +"price float NOT NULL," +"public_com varchar(50)  DEFAULT '听雨喧出版社'," +"count int(11) NOT NULL," +"name varchar(50) NOT NULL," +"cover varchar(50) DEFAULT NULL," +"introduce varchar(128)  DEFAULT NULL," +"look_number int(11) default 0," +"star_number int(11) default 0," +"brow_number int(11) default 0" +")";private static final String SQL_USER= "create table if not exists "+Constants.TABLE_NAME_USER+"(" +"id INTEGER NOT NULL primary key autoincrement," +"type int(11) DEFAULT 1," +"sex varchar(5) DEFAULT NULL," +"major varchar(100) DEFAULT NULL," +"classnum int(11) DEFAULT NULL," +"name varchar(50) NOT NULL unique," +"cover varchar(128)  DEFAULT NULL," +"age int(11) DEFAULT 0," +"phone int(11) DEFAULT 0," +"jointime datetime DEFAULT NULL," +"email int(11) DEFAULT 0," +"password varchar(50) not null"+")";private static final String SQL_OUT_BOOK= "create table if not exists "+Constants.TABLE_NAME_OUT_BOOK+"(" +"id INTEGER  primary key autoincrement," +"outtime varchar(100) not null," +"userid int(11) not null," +"bookname varchar(51) not null," +"duration int(11) default 30," +"state int(11) default 0" +")";private static final String SQL_FAVIOR_BOOK= "create table if not exists "+Constants.TABLE_NAME_FAVOR+"(" +"id INTEGER  primary key autoincrement," +"time varchar(100) not null," +"userid int(11) not null," +"bookname varchar(51) not null," +"state int(11) default 1" +")";private static final String SQL_OPERATION = "create table if not exists "+Constants.TABLE_NAME_RECORD_OPERATION+"(" +"id INTEGER  primary key autoincrement," +"operation varchar(128) not null," +"username varchar(51) not null," +"time varchar(100) not null" +")";public DbHelper(Context context){super(context,"tingyuxuan.db",null,1);}public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);}@Overridepublic void onCreate(SQLiteDatabase sqLiteDatabase) {//创建表sqLiteDatabase.execSQL(SQL_BOOK);sqLiteDatabase.execSQL(SQL_USER);sqLiteDatabase.execSQL(SQL_OUT_BOOK);sqLiteDatabase.execSQL(SQL_OPERATION);sqLiteDatabase.execSQL(SQL_FAVIOR_BOOK);System.out.println("数据库创建成功");}@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {}public void addUser(String name,String pwd,String email,int type){SQLiteDatabase db = this.getWritableDatabase();ContentValues values = new ContentValues();values.put("name",name);values.put("password",pwd);values.put("email",email);values.put("type",type);db.insert("user",null,values);values.clear();db.close();}public int getUserLevl(String name){SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery("select type from user where name='" + name + "'", null);cursor.moveToLast();int type=0;try{type= cursor.getInt(cursor.getColumnIndex("type"));}catch (SQLException e){e.printStackTrace();}finally {db.close();return type;}}public String getUserName(int id){SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery("select name from user where id='" + id + "'", null);cursor.moveToLast();String name="";try{name= cursor.getString(cursor.getColumnIndex("name"));}catch (SQLException e){e.printStackTrace();}finally {db.close();return name;}}//获取用户的idpublic int getUserId(String name){SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery("select id from user where name='" + name + "'", null);cursor.moveToLast();int type=0;try{type= cursor.getInt(cursor.getColumnIndex("id"));}catch (SQLException e){e.printStackTrace();}finally {db.close();return type;}}public String getBookName(int id){SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery("select name from book where id=" + id , null);cursor.moveToLast();String nmae="";try{nmae= cursor.getString(cursor.getColumnIndex("name"));}catch (SQLException e){e.printStackTrace();}finally {db.close();return nmae;}}public List<BookBean> getAllBooks(){List<BookBean> books = new ArrayList<>();SQLiteDatabase db = this.getWritableDatabase();//查询Book表中的所有数据Cursor cursor = db.query("book", null, null, null, null, null, "number desc", null);//遍历Curosr对象,取出数据并打印while (cursor.moveToNext()) {BookBean book = new BookBean();String name = cursor.getString(cursor.getColumnIndex("name"));String introduce = cursor.getString(cursor.getColumnIndex("introduce"));String pub = cursor.getString(cursor.getColumnIndex("public_com"));String type = cursor.getString(cursor.getColumnIndex("type"));int count = cursor.getInt(cursor.getColumnIndex("count"));int look_number = cursor.getInt(cursor.getColumnIndex("look_number"));int star_number = cursor.getInt(cursor.getColumnIndex("star_number"));int price = cursor.getInt(cursor.getColumnIndex("price"));int id = cursor.getInt(cursor.getColumnIndex("number"));book.setNumber(id);book.setName(name);book.setPublic_com(pub);book.setLook_number(look_number);book.setStar_number(star_number);book.setIntroduce(introduce);book.setCount(count);book.setPrice(price);book.setType(type);books.add(book);}//关闭Cursorcursor.close();db.close();return books;}public void addBook(BookBean book){SQLiteDatabase db = this.getReadableDatabase();ContentValues values = new ContentValues();values.put("name",book.getName());values.put("price",book.getPrice());values.put("count",book.getCount());values.put("introduce","这是有关:"+book.getName()+"的介绍");values.put("type",book.getType());long book1 = db.insert("book", null, values);System.out.println("-=-----book1---添加一本-"+book1);values.clear();db.close();}public void addBooks(){SQLiteDatabase db = this.getReadableDatabase();ContentValues values = new ContentValues();Random random = new Random();String bookName = Constants.getBookName(random.nextInt(100));values.put("name", bookName);values.put("price",random.nextInt(90)/2);values.put("count",random.nextInt(40));values.put("introduce","这是有关:"+bookName+"的介绍");values.put("type","文学");db.insert("book",null,values);values.clear();db.close();}public void addDefaultData(){SQLiteDatabase db = this.getWritableDatabase();ContentValues values = new ContentValues();for(int i=1;i<11;i++){Random random = new Random();int index = random.nextInt(100);String bookName = Constants.getBookName(index);values.put("type","文学类");values.put("price",i+index);values.put("star_number",0);values.put("public_com","听雨轩出版社");values.put("count",20+i);values.put("name",bookName+"传");values.put("introduce","介绍:"+bookName);try {long book = db.insert("book", null, values);}catch (SQLException e){e.printStackTrace();}finally {values.clear();}}db.close();}public void addToMyBorreow(String username,String bookName) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");// HH:mm:ss
//获取当前时间Date date = new Date(System.currentTimeMillis());String time = simpleDateFormat.format(date);int userId = getUserId(username);SQLiteDatabase db = this.getReadableDatabase();ContentValues values = new ContentValues();values.put("userid",userId);values.put("bookname",bookName);values.put("outtime",time);try{db.insert("outbook",null,values);}catch (SQLException e){e.printStackTrace();}finally {values.clear();db.close();}}public  void getUserBorrows(String name){String sql = "select j.outtime,b.name,j.duration from outbook j,book b,user u where u.name='"+name+"' and u.id=j.userid and b.number=j.bookid ";SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery(sql, null);
//        db.query()while(cursor.moveToNext()){String outtime = cursor.getString(cursor.getColumnIndex("outtime"));String name2 = cursor.getString(cursor.getColumnIndex("name"));int duration = cursor.getInt(cursor.getColumnIndex("duration"));}}public void selectAllBorrow(String name){List<BorrowBean> books = new ArrayList<>();int userId = getUserId(name);SQLiteDatabase db = this.getReadableDatabase();Cursor cursor = db.query("outbook", null, null, null, null, null, null);while (cursor.moveToNext()){int id = cursor.getInt(cursor.getColumnIndex("userid"));if(userId == id){BorrowBean  bean = new BorrowBean();String outtime = cursor.getString(cursor.getColumnIndex("outtime"));String name2 = cursor.getString(cursor.getColumnIndex("name"));bean.setTime(outtime);bean.setName(name2);System.out.println("------------------"+outtime+"---"+name2);}}}public  List<UserBean> getAllUsers(){List<UserBean> users =  new ArrayList<>();SQLiteDatabase db = this.getWritableDatabase();
//        Cursor cursor = db.query("user", null, null, null, null, null, null);Cursor cursor = db.rawQuery("select * from user order by id desc", null);while(cursor.moveToNext()){int id = cursor.getInt(cursor.getColumnIndex("id"));int type = cursor.getInt(cursor.getColumnIndex("type"));String name = cursor.getString(cursor.getColumnIndex("name"));String sex = cursor.getString(cursor.getColumnIndex("sex"));String major = cursor.getString(cursor.getColumnIndex("major"));String email = cursor.getString(cursor.getColumnIndex("email"));String pwd = cursor.getString(cursor.getColumnIndex("password"));UserBean bean = new UserBean();bean.setType(type);bean.setPassword(pwd);bean.setId(id);bean.setMajor(major);bean.setSex(sex);bean.setEmail(email);bean.setName(name);users.add(bean);}cursor.close();db.close();return users;}
}

【安卓大作业】Android Studio图书管理系统 听雨轩相关推荐

  1. 【安卓大作业】Android Studio学校图书管理系统

    [安卓大作业]Android Studio学校图书管理系统 一.界面展示 二.功能介绍 图书馆介绍.查看上架新书.借阅排行榜 学生端.图书借阅.管理员端.图书管理等 三.项目结构 四.关键代码展示 ( ...

  2. 安卓大作业 图书管理APP

    系列文章 安卓大作业 图书管理APP 文章目录 系列文章 1.背景 2.功能 3. 源代码获取 1.背景 本次实验设计的是一个图书管理系统,系统的整体目录如下: 2.功能 针对于每个java类或者Ac ...

  3. 安卓期末大作业Android studio-记单词app(资源链接在文末,含注册登录,含设计报告,含导出app文件及源码导入方法文档)

    安卓期末大作业Android studio-记单词app(注册登录.增删改查) (资源下载链接在文末) 1.注册登录界面 2.用户点击加号按钮输入单词,键盘会自动弹出并焦点在输入框,用户输入英文和中文 ...

  4. 安卓期末大作业——Android水果连连看

    详情介绍 功能描述: 该连连看实现了基本的游戏功能,还实现了重开.提醒.背景音乐等功能,适合新手学习.搭建方法请看教菜单中的androidstudio项目搭建教程. 开发语言: java 技术框架: ...

  5. 安卓期末大作业——android音乐播放器

    详情介绍 功能描述: 扫描手机上的音乐文件,显示音乐列表,显示歌词,上一首,下一首,音量控制进度条显示.app实现了在android6.0或以上动态权限申请功能,适合新手研究.搭建方法请看入门教程菜单 ...

  6. 安卓期末大作业——Android在线电影播放器

    功能描述: 该在线电影播放app实现电影列表,播放网络电影,全屏,快进,快退,手势调节声音,亮度,进度条,锁屏等,适合新手学习.搭建方法请看入门教程菜单中的androidstudio项目搭建教程. 开 ...

  7. 安卓期末大作业——Android手机购物商城(含服务端)

    功能描述: 本系统带服务器端.服务器端代码是javaweb.服务器端主要实现了商品管理,用户管理,订单管理,留言管理等.手机端主要实现了用户注册,登录,商品查询,购物车,订单,留言等功能.适合新手学习 ...

  8. 计算机毕业设计PHP+安卓基于Android的图书管理系统论文(源码+程序+lw+远程调试)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: phpStudy+ Vscode +Mysql5.7 + HBuilderX+Navicat11+Vue ...

  9. 西工大数据库实验大作业 火锅店菜品管理系统

    西工大数据库实验大作业 火锅店菜品管理系统 文章目录 西工大数据库实验大作业 火锅店菜品管理系统 前言: 一.大作业简单的需求分析: 二.数据流图: 三.数据字典: 四.E-R图: 五.关系模式设计: ...

  10. C语言大作业:旅游资讯管理系统

    C语言大作业:旅游资讯管理系统 题目: 一.主体功能点要求: 1.设计主菜单实现用户交互 a.添加旅游资讯记录 每条记录至少包含如下项:编号.日程安排.费用.点赞数.添加旅游资讯记录时,要求键盘输入对 ...

最新文章

  1. Selenium2(WebDriver)总结(二)---Firefox的firebug插件参数设置(补充)
  2. 2012-4-2 通过MdiParent设置窗体最前
  3. WPF代码模板-布局部分
  4. Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
  5. px, dip, dp,sp使用场景
  6. MySQL8.0.25命令行安装与配置
  7. redis 缓存击穿及应对
  8. WebX RPC说明
  9. Android自定义PreferenceScreen的Layout布局,并获取控件
  10. 数字孪生网络(DTN)架构
  11. ReadyBoost--Robbie 的基准测试
  12. 计算机学win7画图,Windows7系统画图工具怎么打开?
  13. 微服务部署之蓝绿发布、滚动发布、灰度发布区别与特点
  14. 不平凡的2021,末流普本生秋招上岸大厂的历程
  15. 数据填报不用愁,帆软报表来解忧!
  16. 指责TD的人几个是有资格的?--艾瑞网专家项立刚的博客专栏 - 艾瑞网
  17. MAC 强制退出程序
  18. 10个企业网络安全建议,解决的网络安全问题
  19. MPU6050快速开发使用
  20. 数据结构 实验一 熟悉C++的编程环境

热门文章

  1. JQuery设置网页全屏代码实现
  2. 那些学校考846计算机,长安大学2021年考研846计算机类学科基础参考书目
  3. 英语语法快速入门3--名词性从句(附思维导图)
  4. 深入理解计算机系统(第三版)家庭作业 第七章
  5. 绘本“深阅读’’的教学探索
  6. C#进阶(一)——TXT文件处理:以导线网近似平差为例
  7. windows11 截屏键无法使用 Print screen
  8. 更新了pandas后,ix方法不能使用的替代办法
  9. 从Transformer到ViT再到MAE
  10. SpringBoot 整合 Elasticsearch 实现海量级数据搜索