基于Android平台的图书管理系统的制作(2)

上一篇讲解了制作图书管理系统的初衷与要求,和app首页的代码。

下面来介绍图书管理系统的服务对象:学生

学生类的设计:

个人信息:账号、密码、姓名、学号、邮箱、年龄。

借阅信息:借阅总数(不超过十本)、借阅书籍的ID(数组)、借阅书籍的日期(数组)。

源码在此:

  1 package com.example.administrator.library1;
2
3 import org.litepal.LitePal;
4 import org.litepal.crud.DataSupport;
5 import org.litepal.crud.LitePalSupport;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 public class Student extends LitePalSupport{
11 private int id;
12 private String account,name,password,student_ID,mailBox;
13 private int age,bookAmount;
14 private int bookList[]=new int[10];
15 private int bookyear[]=new int[10];
16 private int bookday[]=new int[10];
17
18 public Student(String account, String password, String name, String student_ID, String mailBox, int age)
19 {
20 this.account=account;
21 this.password=password;
22 this.name=name;
23 this.student_ID=student_ID;
24 this.mailBox=mailBox;
25 this.age=age;
26 bookAmount=0;
27 for(int i=0;i<10;++i)
28 {
29 bookList[i]=0;
30 bookyear[i]=0;
31 bookday[i]=0;
32 }
33 }
34 public int getId() {
35 return id;
36 }
37 public void setId(int id) {
38 this.id = id;
39 }
40 public void setName(String name) {
41 this.name = name;
42 }
43 public void setAccount(String account) {
44 this.account = account;
45 }
46 public void setAge(int age) {
47 this.age = age;
48 }
49 public void setPassword(String password) {
50 this.password = password;
51 }
52 public void setMailBox(String mailBox) {
53 this.mailBox = mailBox;
54 }
55 public void setStudent_ID(String student_ID) {
56 this.student_ID = student_ID;
57 }
58 public String getName() {
59 return name;
60 }
61 public int getAge() {
62 return age;
63 }
64 public String getAccount() {
65 return account;
66 }
67 public String getPassword() {
68 return password;
69 }
70 public String getStudent_ID() {
71 return student_ID;
72 }
73 public String getMailBox() {
74 return mailBox;
75 }
76 public void setBookList(int[] bookList) {
77 this.bookList = bookList;
78 }
79 public void setBookList(int number,int book_id)
80 {
81 this.bookList[number]=book_id;
82 }
83 public int[] getBookList() {
84 return bookList;
85 }
86 public int getBookAmount() {
87 return bookAmount;
88 }
89 public void setBookAmount(int bookAmount) {
90 this.bookAmount = bookAmount;
91 }
92 public int getBookList(int number)
93 {
94 return bookList[number];
95 }
96 public int getBookyear(int number){return bookyear[number];}
97 public int getBookday(int number){return bookday[number];}
98 public void setBookyear(int number,int year){this.bookyear[number]=year;}
99 public void setBookday(int number,int day){this.bookday[number]=day;}
100
101 }

Student

学生的注册:

注册有个人信息的填写:账号、密码(重复输入)、学号、姓名、邮箱、年龄。

代码如下:

主逻辑:

 1 package com.example.administrator.library1;
2
3 import android.content.Intent;
4 import android.support.v7.app.AppCompatActivity;
5 import android.os.Bundle;
6 import android.view.View;
7 import android.widget.Button;
8 import android.widget.EditText;
9 import android.widget.Toast;
10
11 import org.litepal.LitePal;
12
13 import java.util.List;
14
15 public class Register_student extends AppCompatActivity {
16 private EditText editAccount,editPassword1,editPassword2,editName,editMailbox,editAge,editStudentID;
17 private Button button_commit;
18 @Override
19 protected void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.activity_register_student);
22 editAccount=findViewById(R.id.reg_st_acc_id);
23 editPassword1=findViewById(R.id.reg_st_pass1_id);
24 editPassword2=findViewById(R.id.reg_st_pass2_id);
25 editName=findViewById(R.id.reg_st_name_id);
26 editAge=findViewById(R.id.reg_st_age_id);
27 editMailbox=findViewById(R.id.reg_st_mail_id);
28 editStudentID=findViewById(R.id.reg_st_ID_id);
29 button_commit=findViewById(R.id.reg_st_commit_id);
30 button_commit.setOnClickListener(new View.OnClickListener() {
31 @Override
32 public void onClick(View view) {
33 if(editAccount.getText().toString().equals("")||editPassword1.getText().toString().equals("")||editPassword2.getText().toString().equals("")||editName.getText().toString().equals("")||editAge.getText().toString().equals("")||editMailbox.getText().toString().equals("")||editStudentID.getText().toString().equals(""))
34 {
35 Toast.makeText(Register_student.this,"注册信息不能为空",Toast.LENGTH_SHORT);
36 }
37 else
38 {
39 if(editAccount.getText().toString().length()>=6&&editAccount.getText().toString().length()<=12)
40 {
41 List<Student> students_account= LitePal.findAll(Student.class);
42 boolean differ=true;
43 for(int i=0;i<students_account.size();++i)
44 {
45 if(editAccount.getText().toString().equals(students_account.get(i).getAccount()))
46 {
47 Toast.makeText(Register_student.this,"账号已存在",Toast.LENGTH_SHORT).show();
48 differ=false;
49 }
50 }
51 if(differ==true)
52 {
53 if(editPassword2.getText().toString().equals(editPassword1.getText().toString()))
54 {
55 int reg_age=Integer.parseInt(editAge.getText().toString());
56 Student student=new Student(editAccount.getText().toString(),editPassword1.getText().toString(),editName.getText().toString(),editStudentID.getText().toString(),editMailbox.getText().toString(),reg_age);
57 student.save();
58 Intent intent=new Intent(Register_student.this,MainActivity.class);
59 startActivity(intent);
60 //Toast.makeText(Register_student.this,"注册成功",Toast.LENGTH_SHORT).show();
61 }
62 else
63 {
64 Toast.makeText(Register_student.this,"两次密码不相同",Toast.LENGTH_SHORT).show();
65 }
66 }
67 }
68 else
69 {
70 Toast.makeText(Register_student.this,"账号大小需要在6-12位数之间",Toast.LENGTH_SHORT).show();
71 }
72 }
73
74 }
75 });
76 }
77
78 @Override
79 protected void onPause() {
80 Intent intent=new Intent(Register_student.this,MainActivity.class);
81 startActivity(intent);
82 super.onPause();
83 }
84 }

Student_Register

界面:

  1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 xmlns:tools="http://schemas.android.com/tools"
5 android:orientation="vertical"
6 android:layout_width="match_parent"
7 android:layout_height="match_parent"
8 tools:context=".Register_student">
9 <LinearLayout
10 android:layout_marginTop="20dp"
11 android:orientation="horizontal"
12 android:layout_width="match_parent"
13 android:layout_height="wrap_content">
14 <TextView
15 android:layout_width="0dp"
16 android:layout_height="match_parent"
17 android:layout_weight="1"
18 android:text="账号 :"
19 android:textSize="21sp"/>
20 <EditText
21 android:id="@+id/reg_st_acc_id"
22 android:layout_width="0dp"
23 android:layout_height="match_parent"
24 android:inputType="number"
25 android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*/@#$%^"
26 android:layout_weight="3"/>
27 </LinearLayout>
28 <LinearLayout
29 android:orientation="horizontal"
30 android:layout_width="match_parent"
31 android:layout_height="wrap_content">
32 <TextView
33 android:layout_width="0dp"
34 android:layout_height="match_parent"
35 android:layout_weight="1"
36 android:text="输入密码"
37 android:textSize="18sp"/>
38 <EditText
39 android:id="@+id/reg_st_pass1_id"
40 android:layout_width="0dp"
41 android:layout_height="match_parent"
42 android:inputType="textPassword"
43 android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*/@#$%^"
44 android:layout_weight="3"/>
45 </LinearLayout>
46 <LinearLayout
47 android:orientation="horizontal"
48 android:layout_width="match_parent"
49 android:layout_height="wrap_content">
50 <TextView
51 android:layout_width="0dp"
52 android:layout_height="match_parent"
53 android:layout_weight="1"
54 android:text="再输入密码"
55 android:textSize="18sp"/>
56 <EditText
57 android:id="@+id/reg_st_pass2_id"
58 android:layout_width="0dp"
59 android:layout_height="match_parent"
60 android:inputType="textPassword"
61 android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*/@#$%^"
62 android:layout_weight="3"/>
63 </LinearLayout>
64 <LinearLayout
65 android:orientation="horizontal"
66 android:layout_width="match_parent"
67 android:layout_height="wrap_content">
68 <TextView
69 android:layout_width="0dp"
70 android:layout_height="match_parent"
71 android:layout_weight="1"
72 android:text="姓名 :"
73 android:textSize="21sp"/>
74 <EditText
75 android:id="@+id/reg_st_name_id"
76 android:layout_width="0dp"
77 android:layout_height="match_parent"
78 android:layout_weight="3"/>
79 </LinearLayout>
80 <LinearLayout
81 android:orientation="horizontal"
82 android:layout_width="match_parent"
83 android:layout_height="wrap_content">
84 <TextView
85 android:layout_width="0dp"
86 android:layout_height="match_parent"
87 android:layout_weight="1"
88 android:text="学号 :"
89 android:textSize="21sp"/>
90 <EditText
91 android:id="@+id/reg_st_ID_id"
92 android:inputType="number"
93 android:digits="1234567890"
94 android:layout_width="0dp"
95 android:layout_height="match_parent"
96 android:layout_weight="3"/>
97 </LinearLayout>
98 <LinearLayout
99 android:orientation="horizontal"
100 android:layout_width="match_parent"
101 android:layout_height="wrap_content">
102 <TextView
103 android:layout_width="0dp"
104 android:layout_height="match_parent"
105 android:layout_weight="1"
106 android:text="邮箱 :"
107 android:textSize="21sp"/>
108 <EditText
109 android:id="@+id/reg_st_mail_id"
110 android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@."
111 android:layout_width="0dp"
112 android:inputType="number"
113 android:layout_height="match_parent"
114 android:layout_weight="3"/>
115 </LinearLayout>
116 <LinearLayout
117 android:orientation="horizontal"
118 android:layout_width="match_parent"
119 android:layout_height="wrap_content">
120 <TextView
121 android:layout_width="0dp"
122 android:layout_height="match_parent"
123 android:layout_weight="1"
124 android:text="年龄 :"
125 android:textSize="21sp"/>
126 <EditText
127 android:id="@+id/reg_st_age_id"
128 android:layout_width="0dp"
129 android:layout_height="match_parent"
130 android:layout_weight="3"
131 android:inputType="number"/>
132 </LinearLayout>
133 <Button
134 android:id="@+id/reg_st_commit_id"
135 android:layout_width="150dp"
136 android:layout_height="wrap_content"
137 android:textSize="24sp"
138 android:layout_gravity="center"
139 android:gravity="center"
140 android:text="注册提交"/>
141 </LinearLayout>

Studnet_register_xml

界面很丑,截图如下:

基于Android平台的图书管理系统的制作(2)

注册成功之后,将会使用开源项目Litepal将Edittext里的内容储存至本地数据库。Intent将活动带回MainActivity。

学生的登录:

使用账号密码登录,记住密码自动开启,并将账号和密码通过Simple类储存至Library数据库Simple表的第一列,登录开始时,会自动先访问Simple表ID为1的simple获得数据,登陆成功后进入Student homepage。

逻辑代码:

 1 package com.example.administrator.library1;
2
3 import android.content.Intent;
4 import android.support.v7.app.AppCompatActivity;
5 import android.os.Bundle;
6 import android.util.Log;
7 import android.view.View;
8 import android.widget.Button;
9 import android.widget.CheckBox;
10 import android.widget.EditText;
11 import android.widget.Toast;
12
13 import org.litepal.LitePal;
14 import org.litepal.crud.LitePalSupport;
15
16 import java.util.List;
17
18 public class Login_student extends AppCompatActivity {
19
20 private EditText editAccount,editPassword;
21 private CheckBox checkBox;
22 private Button button_commit;
23 @Override
24 protected void onCreate(Bundle savedInstanceState) {
25 super.onCreate(savedInstanceState);
26 setContentView(R.layout.activity_login_student);
27 editAccount=findViewById(R.id.accountStudent_id);
28 editPassword=findViewById(R.id.passwordStudent_id);
29 checkBox=findViewById(R.id.rememberPassStudent_id);
30 button_commit=findViewById(R.id.commitStudent_id);
31
32 //自动登录功能
33 final Simple simple=LitePal.find(Simple.class,1);
34 editAccount.setText(simple.getAccount());
35 editPassword.setText(simple.getPassword());
36
37 button_commit.setOnClickListener(new View.OnClickListener() {
38 @Override
39 public void onClick(View view) { //在这里之前已经出错
40 List<Student> students_account= LitePal.findAll(Student.class);
41 boolean is_account_available=false;
42 String st_account,st_password;
43 st_account=editAccount.getText().toString();
44 st_password=editPassword.getText().toString();
45 for(int i=0;i<students_account.size();++i)
46 {
47 if(st_account.equals(students_account.get(i).getAccount()))
48 {
49 is_account_available=true;
50 if(st_password.equals(students_account.get(i).getPassword()))
51 {
52 if(checkBox.isChecked())
53 {
54 Simple simple= LitePal.find(Simple.class,1);
55 simple.setAccount(editAccount.getText().toString());
56 simple.setPassword(editPassword.getText().toString());
57 simple.save();
58 }
59 else
60 {
61 Simple simple1=LitePal.find(Simple.class,1);
62 simple1.setAccount("");
63 simple1.setPassword("");
64 simple1.save();
65 }
66 Intent intent=new Intent(Login_student.this,Student_homepage.class);
67 intent.putExtra("extra_data",i+1);
68 startActivity(intent);
69 finish();
70 }
71 else
72 {
73 Toast.makeText(Login_student.this,"密码错误",Toast.LENGTH_SHORT).show();
74 break; //记住密码还没有用上
75 }
76 }
77 }
78 if(is_account_available==false)
79 {
80 Toast.makeText(Login_student.this,"账号不存在",Toast.LENGTH_SHORT).show();
81 }
82 }
83
84 });
85 }
86 }

Login Student

界面代码:

 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 android:orientation="vertical"
5 xmlns:tools="http://schemas.android.com/tools"
6 android:layout_width="match_parent"
7 android:layout_height="match_parent"
8 tools:context=".Login_student">
9
10 <ImageView
11 android:layout_width="match_parent"
12 android:layout_height="211dp"
13 android:src="@drawable/img_login" />
14 <LinearLayout
15 android:layout_width="match_parent"
16 android:layout_height="wrap_content"
17 android:layout_marginTop="20dp"
18 android:layout_marginLeft="20dp"
19 android:layout_marginRight="20dp"
20 android:orientation="horizontal">
21 <TextView
22 android:layout_width="0dp"
23 android:layout_height="match_parent"
24 android:layout_weight="1"
25 android:textSize="21sp"
26 android:text="账号: "/>
27 <EditText
28 android:id="@+id/accountStudent_id"
29 android:layout_width="0dp"
30 android:layout_height="match_parent"
31 android:layout_weight="5"
32 android:hint="type here"/>
33 </LinearLayout>
34 <LinearLayout
35 android:orientation="horizontal"
36 android:layout_width="match_parent"
37 android:layout_marginLeft="20dp"
38 android:layout_marginRight="20dp"
39 android:layout_height="wrap_content">
40 <TextView
41 android:layout_width="0dp"
42 android:layout_height="match_parent"
43 android:layout_weight="1"
44 android:textSize="21sp"
45 android:text="密码 :"/>
46 <EditText
47 android:id="@+id/passwordStudent_id"
48 android:layout_width="0dp"
49 android:layout_height="match_parent"
50 android:layout_weight="5"
51 android:hint="type here"/>
52 </LinearLayout>
53 <LinearLayout
54 android:layout_marginLeft="20dp"
55 android:layout_marginRight="20dp"
56 android:layout_width="match_parent"
57 android:layout_height="wrap_content">
58 <CheckBox
59 android:id="@+id/rememberPassStudent_id"
60 android:checked="true"
61 android:layout_width="wrap_content"
62 android:layout_height="wrap_content" />
63 <TextView
64 android:layout_width="wrap_content"
65 android:layout_height="wrap_content"
66 android:textSize="18sp"
67 android:text="自动登录"/>
68 </LinearLayout>
69 <Button
70 android:id="@+id/commitStudent_id"
71 android:layout_width="150dp"
72 android:layout_height="wrap_content"
73 android:layout_gravity="center"
74 android:textSize="20sp"
75 android:text="登录"/>
76 </LinearLayout>

Login_student.xml

基于Android平台的图书管理系统的制作(2)

学生空间:

学生空间包含的功能有:查询书籍、借书和还书。通过在数据库Book表中查询用户输入的书籍名称达到查询目的,查询成功后书籍出现,此时用户点击借阅即可借走该书,学生空间下面有listview控件,用来展示学生已经借阅未归还的书籍。用户点击listview里的书籍后,该书从listview中消失,用户账号里的bookamount-1,id[],data[],中关于该书的信息消失。

界面源码:

 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 xmlns:tools="http://schemas.android.com/tools"
5 android:layout_width="match_parent"
6 android:layout_height="match_parent"
7 android:orientation="vertical"
8 tools:context=".Student_homepage">
9
10 <ImageView
11 android:layout_width="match_parent"
12 android:layout_height="160dp"
13 android:src="@drawable/img_1" />
14 <TextView
15 android:id="@+id/stu_home_infor_id"
16 android:layout_width="match_parent"
17 android:layout_height="wrap_content"
18 android:textSize="20sp"/>
19 <LinearLayout
20 android:layout_marginTop="20dp"
21 android:layout_width="match_parent"
22 android:layout_height="wrap_content"
23 android:orientation="horizontal">
24 <Button
25 android:id="@+id/stu_home_ser_id"
26 android:layout_width="wrap_content"
27 android:layout_height="wrap_content"
28 android:text="搜索"
29 android:textSize="18sp"/>
30 <EditText
31 android:id="@+id/stu_home_ser_content_id"
32 android:layout_width="0dp"
33 android:layout_height="wrap_content"
34 android:layout_weight="1"
35 android:hint="输入书名或者作者"/>
36 </LinearLayout>
37 <LinearLayout
38 android:id="@+id/stu_linear_id"
39 android:visibility="invisible"
40 android:orientation="horizontal"
41 android:layout_width="match_parent"
42 android:layout_height="wrap_content">
43 <TextView
44 android:id="@+id/stu_home_book_id"
45 android:layout_width="0dp"
46 android:layout_height="wrap_content"
47 android:layout_weight="4"/>
48 <Button
49 android:id="@+id/stu_home_borrow_id"
50 android:layout_width="0dp"
51 android:layout_height="wrap_content"
52 android:layout_weight="1"
53 android:text="借阅"
54 android:textSize="20sp"/>
55 </LinearLayout>
56 <ListView
57 android:id="@+id/st_home_list_id"
58 android:layout_width="match_parent"
59 android:layout_height="match_parent">
60 </ListView>
61
62
63 </LinearLayout>

Student_homepage_xml

逻辑代码:

  1 package com.example.administrator.library1;
2
3 import android.content.Intent;
4 import android.support.v7.app.AppCompatActivity;
5 import android.os.Bundle;
6 import android.support.v7.widget.LinearLayoutManager;
7 import android.support.v7.widget.RecyclerView;
8 import android.view.View;
9 import android.widget.Adapter;
10 import android.widget.AdapterView;
11 import android.widget.ArrayAdapter;
12 import android.widget.Button;
13 import android.widget.EditText;
14 import android.widget.LinearLayout;
15 import android.widget.ListView;
16 import android.widget.TextView;
17 import android.widget.Toast;
18
19 import org.litepal.LitePal;
20
21 import java.sql.Time;
22 import java.util.ArrayList;
23 import java.util.Calendar;
24 import java.util.List;
25
26 import static android.media.CamcorderProfile.get;//
27 //应该是书的数据没有存进去。
28
29 public class Student_homepage extends AppCompatActivity {
30 private int book_id[]=new int[10];
31 Student student_local;
32 private List<String> bookList=new ArrayList<>();
33 private Book book_in_search,book_in_delete;
34 int student_id;
35 boolean key=false;
36 private TextView text_student_infor,text_book_infor;
37 private Button search,borrow;
38 private EditText search_content;
39 private LinearLayout linearLayout;
40 @Override
41 protected void onCreate(Bundle savedInstanceState) {
42 super.onCreate(savedInstanceState);
43 setContentView(R.layout.activity_student_homepage);
44
45 for(int i=0;i<10;++i)
46 {
47 book_id[i]=0;
48 }
49
50 linearLayout=(LinearLayout)findViewById(R.id.stu_linear_id);
51 text_student_infor=(TextView)findViewById(R.id.stu_home_infor_id);
52 search_content=(EditText) findViewById(R.id.stu_home_ser_content_id);
53 text_book_infor=(TextView)findViewById(R.id.stu_home_book_id);
54 borrow=(Button)findViewById(R.id.stu_home_borrow_id);
55 search=(Button)findViewById(R.id.stu_home_ser_id); //注册控件
56
57 Intent intent=getIntent(); //获得上一个活动的数据
58 student_id=intent.getIntExtra("extra_data",1);
59 student_local=LitePal.find(Student.class,student_id);
60 text_student_infor.setText("学号:"+student_local.getStudent_ID()+" "+"姓名:"+student_local.getName());
61
62 for(int i=0;i<student_local.getBookAmount();++i)
63 {
64 bookList.add(LitePal.find(Book.class,student_local.getBookList(i)).getName());
65 book_id[i]=student_local.getBookList(i);
66 }
67
68 final ListView listView=(ListView) findViewById(R.id.st_home_list_id);
69 final ArrayAdapter<String> adapter=new ArrayAdapter<String>(Student_homepage.this,android.R.layout.simple_list_item_1,bookList);
70 listView.setAdapter(adapter); //制作listview滚动
71
72 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
73 @Override
74 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
75 String string = bookList.get(i);
76 Toast.makeText(Student_homepage.this, string+"归还成功", Toast.LENGTH_SHORT).show();
77 bookList.remove(i);
78 for (int key = i; key < student_local.getBookAmount() - 1; ++key) {
79 book_id[key] = book_id[key + 1];
80 }
81 student_local.setBookAmount(student_local.getBookAmount() - 1);
82 student_local.setBookList(book_id);
83 student_local.save();
84 //List<Book> books = LitePal.where("name like ?", string).find(Book.class);
85 book_in_delete=LitePal.find(Book.class,book_id[i]);
86 int current_book = book_in_delete.getIn_shelf();
87 book_in_delete.setIn_shelf(current_book + 1);
88 book_in_delete.save();
89
90 listView.setAdapter(adapter);
91 }
92 });
93
94 search.setOnClickListener(new View.OnClickListener() {
95 @Override
96 public void onClick(View view) {
97 String sear_book_name;
98 sear_book_name=search_content.getText().toString();
99 List<Book> books=LitePal.where("name like ?",sear_book_name).find(Book.class);
100 if(books.size()>0) {
101 book_in_search = books.get(0);
102 text_book_infor.setText("书名:" + book_in_search.getName() + " " + "作者:" + book_in_search.getWriter());
103 linearLayout.setVisibility(View.VISIBLE);
104 key=true;
105 }
106 }
107 });
108 borrow.setOnClickListener(new View.OnClickListener() {
109 @Override
110 public void onClick(View view) {
111 if (book_in_search.getIn_shelf() > 0&&key==true) {
112 key=false;
113 if (student_local.getBookAmount() < 10) {
114 book_in_search.setIn_shelf(book_in_search.getIn_shelf() - 1);
115 book_in_search.save();
116 book_id[student_local.getBookAmount()] = book_in_search.getId();
117 bookList.add(book_in_search.getName());
118
119 Calendar calendar=Calendar.getInstance();
120 int year=calendar.get(Calendar.YEAR);
121 int day=calendar.get(Calendar.DAY_OF_YEAR); //获得当前的时间
122
123 student_local.setBookList(student_local.getBookAmount(),book_in_search.getId());
124 student_local.setBookyear(student_local.getBookAmount(),year);
125 student_local.setBookday(student_local.getBookAmount(),day);
126 student_local.setBookAmount(student_local.getBookAmount()+1);
127 student_local.save();
128 listView.setAdapter(adapter);
129 Toast.makeText(Student_homepage.this, "借书成功", Toast.LENGTH_SHORT).show();
130 } else {
131 Toast.makeText(Student_homepage.this, "借书数目已达到上限,请还书后再借", Toast.LENGTH_SHORT).show();
132 }
133 } else {
134 Toast.makeText(Student_homepage.this, "该书已经全部被借出", Toast.LENGTH_SHORT).show();
135 }
136 }
137 });
138
139 }
140 }

Student_Homepage

截图如下:

下一篇再来讲述Book与staff(工作人员)这两部分的实现。

上一篇:Oracle 创建分页存储过程(转帖)


下一篇:.NET如何从配置文件中获取连接字符串