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

一、界面展示

在这里插入图片描述
在这里插入图片描述
二、功能介绍
图书馆介绍、查看上架新书、借阅排行榜
学生端、图书借阅、管理员端、图书管理等

三、项目结构
在这里插入图片描述
四、关键代码展示
(1)student_homepage

package com.example.administrator.library1;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import org.litepal.LitePal;

import java.sql.Time;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import static android.media.CamcorderProfile.get;//
//应该是书的数据没有存进去。

public class Student_homepage extends AppCompatActivity {
    private int book_id[]=new int[10];
    Student student_local;
    private List<String> bookList=new ArrayList<>();
    private Book book_in_search,book_in_delete;
    int student_id;
    boolean key=false;
    private TextView text_student_infor,text_book_infor;
    private Button search,borrow;
    private EditText search_content;
    private LinearLayout linearLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_student_homepage);

        for(int i=0;i<10;++i)
        {
            book_id[i]=0;
        }

        linearLayout=(LinearLayout)findViewById(R.id.stu_linear_id);
        text_student_infor=(TextView)findViewById(R.id.stu_home_infor_id);
        search_content=(EditText) findViewById(R.id.stu_home_ser_content_id);
        text_book_infor=(TextView)findViewById(R.id.stu_home_book_id);
        borrow=(Button)findViewById(R.id.stu_home_borrow_id);
        search=(Button)findViewById(R.id.stu_home_ser_id);                     //注册控件

        Intent intent=getIntent();                                             //获得上一个活动的数据
        student_id=intent.getIntExtra("extra_data",1);
        student_local=LitePal.find(Student.class,student_id);
        text_student_infor.setText("学号:"+student_local.getStudent_ID()+"     "+"姓名:"+student_local.getName());

        for(int i=0;i<student_local.getBookAmount();++i)
        {
            bookList.add(LitePal.find(Book.class,student_local.getBookList(i)).getName());
            book_id[i]=student_local.getBookList(i);
        }

        final ListView listView=(ListView) findViewById(R.id.st_home_list_id);
        final ArrayAdapter<String> adapter=new ArrayAdapter<String>(Student_homepage.this,android.R.layout.simple_list_item_1,bookList);
        listView.setAdapter(adapter);                                      //制作listview滚动

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                String string = bookList.get(i);
                Toast.makeText(Student_homepage.this, string+"归还成功", Toast.LENGTH_SHORT).show();
                bookList.remove(i);
                for (int key = i; key < student_local.getBookAmount() - 1; ++key) {
                    book_id[key] = book_id[key + 1];
                }
                student_local.setBookAmount(student_local.getBookAmount() - 1);
                student_local.setBookList(book_id);
                student_local.save();
                //List<Book> books = LitePal.where("name like ?", string).find(Book.class);
                book_in_delete=LitePal.find(Book.class,book_id[i]);
                int current_book = book_in_delete.getIn_shelf();
                book_in_delete.setIn_shelf(current_book + 1);
                book_in_delete.save();

                listView.setAdapter(adapter);
            }
        });

        search.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String sear_book_name;
                sear_book_name=search_content.getText().toString();
                List<Book> books=LitePal.where("name like ?",sear_book_name).find(Book.class);
                if(books.size()>0) {
                    book_in_search = books.get(0);
                    text_book_infor.setText("书名:" + book_in_search.getName() + "     " + "作者:" + book_in_search.getWriter());
                    linearLayout.setVisibility(View.VISIBLE);
                    key=true;
                }
            }
        });
        borrow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (book_in_search.getIn_shelf() > 0&&key==true) {
                    key=false;
                    if (student_local.getBookAmount() < 10) {
                        book_in_search.setIn_shelf(book_in_search.getIn_shelf() - 1);
                        book_in_search.save();
                        book_id[student_local.getBookAmount()] = book_in_search.getId();
                        bookList.add(book_in_search.getName());

                        Calendar calendar=Calendar.getInstance();
                        int year=calendar.get(Calendar.YEAR);
                        int day=calendar.get(Calendar.DAY_OF_YEAR);                               //获得当前的时间

                        student_local.setBookList(student_local.getBookAmount(),book_in_search.getId());
                        student_local.setBookyear(student_local.getBookAmount(),year);
                        student_local.setBookday(student_local.getBookAmount(),day);
                        student_local.setBookAmount(student_local.getBookAmount()+1);
                        student_local.save();
                        listView.setAdapter(adapter);
                        Toast.makeText(Student_homepage.this, "借书成功", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(Student_homepage.this, "借书数目已达到上限,请还书后再借", Toast.LENGTH_SHORT).show();
                    }
                } else {
                    Toast.makeText(Student_homepage.this, "该书已经全部被借出", Toast.LENGTH_SHORT).show();
                }
            }
        });

    }
}

# android # android studio # android-studio
Logo
欢迎使用若依开源

快速构建 Web 应用程序

更多推荐

  • · 深入 Composer autoload
  • · 实体类(VO,DO,DTO)的划分
  • · 计算机课如何断开学生端,极域课堂管理系统怎么连接老师 学生端连接问题解决方法...

深入 Composer autoload

这几天看到 phphub 上面有人开始进坑怒看 laravel 源代码,于是我也凑个热闹来看下这个故事。众所周知 composer 是现代PHP 项目的基石, 与古老的 pear 不同, composer 并不是一款专注于系统级别php 管理的包管理系统,而是基于项目的一个库管理系统。这就好比 npminstall -g 和 npminstall 的区别。而且最主要

实体类(VO,DO,DTO)的划分

经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析。得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于数据库中存储的数据(数据表),DTO对应于除二者之外需要进行传递的数据。一、实体类百度百科中对于实体类的定义如下:实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行

计算机课如何断开学生端,极域课堂管理系统怎么连接老师 学生端连接问题解决方法...

现在的大学课堂都紧跟着时代的步伐,选择用电子教室代替传统的教室,电子教室的好处就是可以让坐在角落的同学也能清楚的看到老师的每一个操作,除此之外还可以电子举手,提交作业获得老师的及时反馈,学习效率倍增。如果你发现自己的电脑出现连接不上电脑的情况的,来看看小编是怎么解决的把!类别:教育管理 大小:16.38M 语言:简体中文评分:61、首先,正常的学生机器是开机就会自动的连接老师端的,如果...