终于做出来了,之前的图书管理系统都是用io流实现的,信息存储到txt文件中,之前因为选修课接触过数据库,一直就希望能安卓与数据库结合一起来巩固一下知识,话不多说,直接看代码:
连接数据库的方法:https://www.cnblogs.com/panqiaoyan/p/12869971.HTML
一、设置各种界面xml文件
1、activity_main.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical" androID:background="#FFFFFF"> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_margintop="50dp" androID:layout_gravity="center" androID:paddingleft="16dp" androID:paddingRight="16dp" androID:text="图书管理系统" androID:textSize="30dp" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_gravity="center" androID:layout_margintop="20dp" androID:src="@drawable/pic_logo1"/><!-- 用户名子布局,水平布局,包含一个TextVIEw控件与EditVIEw控件 --> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="5dp"> <TextVIEw androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:layout_margintop="30dp" androID:layout_marginleft="70dp" androID:text="用户名:" androID:gravity="center" androID:textSize="20dp"/> <EditText androID:ID="@+ID/username_text" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_marginleft="0dp" androID:layout_margintop="30dp" androID:layout_marginRight="90dp" androID:layout_weight="2" androID:background="@drawable/eIDttext_background" androID:hint="请输入用户名" androID:maxlines="1" androID:padding="8dp" /> </linearLayout><!-- 密码子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal"> <TextVIEw androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:layout_margintop="30dp" androID:layout_marginleft="70dp" androID:text="密码:" androID:gravity="center" androID:textSize="20dp"/> <EditText androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_weight="2" androID:layout_height="wrap_content" androID:ID="@+ID/password_text" androID:layout_margintop="30dp" androID:layout_marginleft="0dp" androID:layout_marginRight="90dp" androID:maxlines="1" androID:hint="请输入密码" androID:background="@drawable/eIDttext_background" androID:inputType="textPassword"/><!--inputType是设置密码输入框的文本是密码的形式,这步很关键--> </linearLayout><!-- 记住密码子布局--> <linearLayout androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:orIEntation="horizontal"> <CheckBox androID:layout_margintop="20dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:ID="@+ID/checkBox_text" androID:layout_marginleft="90dp" androID:checked="false" androID:text="记住密码" androID:textSize="12dp"/> <CheckBox androID:layout_margintop="20dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:ID="@+ID/password_checkbook" androID:layout_marginleft="70dp" androID:checked="false" androID:text="显示密码" androID:textSize="12dp" /> </linearLayout><!-- 注册登录按钮子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="30dp" androID:layout_marginleft="40dp"><!-- 注册按钮--> <button androID:ID="@+ID/register_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="60dp" androID:backgroundTint="#000000" androID:paddingRight="20dp" androID:paddingleft="20dp" androID:textSize="20dp" androID:textcolor="#FFFFFF" androID:text="注册"/><!--登录按钮--> <button androID:ID="@+ID/login_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="50dp" androID:backgroundTint="#000000" androID:paddingRight="20dp" androID:paddingleft="20dp" androID:textSize="20dp" androID:textcolor="#FFFFFF" androID:text="登录"/> </linearLayout></linearLayout>VIEw Code
2.注册界面,activity_register.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical"> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:gravity="center" androID:layout_margintop="70dp" androID:text="用户注册" androID:textSize="35dp" /> <!-- 用户名子布局,水平布局,包含一个TextVIEw控件与EditVIEw控件 --> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:layout_margintop="30dp" androID:layout_marginleft="70dp" androID:text="用户名:" androID:gravity="right" androID:textSize="20dp"/> <EditText androID:ID="@+ID/newusername_text" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_marginleft="0dp" androID:layout_margintop="30dp" androID:layout_marginRight="90dp" androID:layout_weight="2" androID:background="@drawable/eIDttext_background" androID:hint="请输入用户名" androID:maxlines="1" androID:padding="8dp" /> </linearLayout> <!-- 密码子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:layout_margintop="30dp" androID:layout_marginleft="70dp" androID:text="密码:" androID:gravity="right" androID:textSize="20dp"/> <EditText androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_weight="2" androID:layout_height="wrap_content" androID:ID="@+ID/newpassword_text" androID:layout_margintop="30dp" androID:layout_marginleft="0dp" androID:layout_marginRight="90dp" androID:maxlines="1" androID:hint="请输入密码" androID:background="@drawable/eIDttext_background" androID:inputType="textPassword"/> <!--inputType是设置密码输入框的文本是密码的形式,这步很关键--> </linearLayout><!-- 再次确认密码--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_marginleft="0dp" androID:layout_marginRight="0dp" androID:layout_margintop="30dp" androID:layout_weight="1" androID:gravity="right" androID:padding="0dp" androID:paddingleft="0dp" androID:paddingRight="0dp" androID:text="确认密码:" androID:textSize="20dp" /> <EditText androID:padding="8dp" androID:layout_wIDth="0dp" androID:layout_weight="1" androID:layout_height="wrap_content" androID:ID="@+ID/new_again_password_text" androID:layout_margintop="30dp" androID:layout_marginleft="0dp" androID:layout_marginRight="90dp" androID:maxlines="1" androID:hint="请再次输入密码" androID:background="@drawable/eIDttext_background" androID:inputType="textPassword"/> <!--inputType是设置密码输入框的文本是密码的形式,这步很关键--> </linearLayout> <CheckBox androID:layout_margintop="20dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:ID="@+ID/new_password_checkbook" androID:layout_marginleft="220dp" androID:checked="false" androID:text="显示密码" androID:textSize="12dp" /><!-- 注册以及返回按钮子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="30dp" androID:layout_marginleft="40dp"> <!-- 注册按钮--> <button androID:ID="@+ID/yes_register_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="60dp" androID:backgroundTint="#000000" androID:paddingRight="20dp" androID:paddingleft="20dp" androID:textSize="20dp" androID:textcolor="#FFFFFF" androID:text="注册"/> <!--返回按钮--> <button androID:ID="@+ID/back_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="50dp" androID:backgroundTint="#000000" androID:paddingRight="20dp" androID:paddingleft="20dp" androID:textSize="20dp" androID:textcolor="#FFFFFF" androID:text="返回"/> </linearLayout> <ImageVIEw androID:layout_wIDth="68dp" androID:layout_height="57dp" androID:layout_gravity="center" androID:layout_margintop="90dp" androID:src="@drawable/pic_logo1" /></linearLayout>VIEw Code
3.功能界面,activity_library_function.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical"> <button androID:ID="@+ID/find_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="查询书籍" androID:textSize="25dp" androID:textcolor="#FFFFFF" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#000000" androID:layout_margintop="70dp" androID:layout_gravity="center" androID:paddingleft="50dp" androID:paddingRight="50dp" androID:paddingtop="10dp" androID:paddingBottom="10dp"/> <button androID:ID="@+ID/add_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="增添书籍" androID:textSize="25dp" androID:textcolor="#FFFFFF" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#000000" androID:layout_margintop="70dp" androID:layout_gravity="center" androID:paddingleft="50dp" androID:paddingRight="50dp" androID:paddingtop="10dp" androID:paddingBottom="10dp"/> <button androID:ID="@+ID/alter_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="修改书籍" androID:textSize="25dp" androID:textcolor="#FFFFFF" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#000000" androID:layout_margintop="70dp" androID:layout_gravity="center" androID:paddingleft="50dp" androID:paddingRight="50dp" androID:paddingtop="10dp" androID:paddingBottom="10dp"/> <button androID:ID="@+ID/cancel_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="删除书籍" androID:textSize="25dp" androID:textcolor="#FFFFFF" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#000000" androID:layout_margintop="70dp" androID:layout_gravity="center" androID:paddingleft="50dp" androID:paddingRight="50dp" androID:paddingtop="10dp" androID:paddingBottom="10dp"/></linearLayout>VIEw Code
4.查询书籍页面,find.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="300dp" androID:layout_height="match_parent" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#FFFFFF"> <!-- 书籍名称子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍名称:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/find_bookname_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout> <!-- *** 作结果文本框--> <EditText androID:ID="@+ID/find_result_text" androID:layout_wIDth="250dp" androID:layout_height="90dp" androID:layout_margintop="15dp" androID:layout_gravity="center" androID:textcolor="#000000" androID:background="@drawable/eIDttext_background"/> <!-- 确定以及取消按钮--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="20dp" androID:gravity="center" > <!-- 确定按钮--> <button androID:ID="@+ID/find_yes_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="确定"/> <!--登录按钮--> <button androID:ID="@+ID/find_no_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="取消"/> </linearLayout></linearLayout>VIEw Code
5.增添书籍页面,activity_dialog.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="300dp" androID:layout_height="match_parent" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#FFFFFF"><!-- 书籍名称子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍名称:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/add_bookname_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout><!-- 书籍编号子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍编号:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/add_bookID_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" androID:maxlines="5" /> </linearLayout><!-- 书籍价格子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍价格:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/add_bookPrice_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout><!-- *** 作结果文本框--> <EditText androID:ID="@+ID/add_result_text" androID:layout_wIDth="250dp" androID:layout_height="90dp" androID:layout_margintop="15dp" androID:layout_gravity="center" androID:background="@drawable/eIDttext_background" androID:textcolor="#000000"/><!-- 确定以及取消按钮--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="20dp" androID:gravity="center" > <!-- 确定按钮--> <button androID:ID="@+ID/add_yes_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="确定"/> <!--登录按钮--> <button androID:ID="@+ID/add_no_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="取消"/> </linearLayout></linearLayout>VIEw Code
6.修改书籍信息页面,alter_activity.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="300dp" androID:layout_height="match_parent" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#FFFFFF"> <!-- 书籍名称子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp" androID:layout_gravity="center"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="原书籍名称:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/alter_bookname_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp" androID:layout_gravity="center"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍新名称:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/new_alter_bookname_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout> <!-- 书籍编号子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍新编号:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/alter_bookID_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" androID:maxlines="5" /> </linearLayout> <!-- 书籍价格子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍新价格:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/alter_bookPrice_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout> <!-- *** 作结果文本框--> <EditText androID:ID="@+ID/alter_result_text" androID:layout_wIDth="250dp" androID:layout_height="90dp" androID:layout_margintop="15dp" androID:layout_gravity="center" androID:textcolor="#000000" androID:background="@drawable/eIDttext_background"/> <!-- 确定以及取消按钮--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="20dp" androID:gravity="center" > <!-- 确定按钮--> <button androID:ID="@+ID/alter_yes_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="确定"/> <!--登录按钮--> <button androID:ID="@+ID/alter_no_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="取消"/> </linearLayout></linearLayout>VIEw Code
7.删除书籍信息页面,cancel_activity.xml
代码:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="300dp" androID:layout_height="match_parent" androID:background="@drawable/eIDttext_background" androID:backgroundTint="#FFFFFF"> <!-- 书籍名称子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍名称:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/cancel_bookname_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" /> </linearLayout> <!-- 书籍编号子布局--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="15dp"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:gravity="right" androID:text="书籍编号:" androID:textSize="20dp" androID:textcolor="#000000" /> <EditText androID:ID="@+ID/cancel_bookID_text" androID:layout_wIDth="0dp" androID:layout_height="35dp" androID:layout_weight="1" androID:layout_marginRight="20dp" androID:background="@drawable/eIDttext_background" androID:layout_gravity="center" androID:textcolor="#000000" androID:maxlines="5" /> </linearLayout> <!-- *** 作结果文本框--> <EditText androID:ID="@+ID/cancel_result_text" androID:layout_wIDth="250dp" androID:layout_height="90dp" androID:layout_margintop="15dp" androID:layout_gravity="center" androID:textcolor="#000000" androID:background="@drawable/eIDttext_background"/> <!-- 确定以及取消按钮--> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="20dp" androID:gravity="center" > <!-- 确定按钮--> <button androID:ID="@+ID/cancel_yes_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="确定"/> <!--登录按钮--> <button androID:ID="@+ID/cancel_no_button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:backgroundTint="#000000" androID:paddingRight="10dp" androID:paddingleft="10dp" androID:textSize="15dp" androID:textcolor="#FFFFFF" androID:text="取消"/> </linearLayout></linearLayout>VIEw Code
注意:上面的四个功能页面都是采用了对话框式的活动,所以要在AndroIDManist.xml文件中每个活动里加入一句:androID:theme="@style/theme.AppCompat.Dialog"
AndroIDManist.xml代码:
<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="com.example.library"> <uses-permission androID:name="androID.permission.INTERNET"/> <uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission androID:name="androID.permission.MOUNT_UNMOUNT_fileSYstemS" /> <application androID:allowBackup="true" androID:icon="@mipmap/ic_launcher" androID:label="@string/app_name" androID:roundIcon="@mipmap/ic_launcher_round" androID:supportsRtl="true" androID:theme="@style/Apptheme"> <activity androID:name=".cancel" androID:theme="@style/theme.AppCompat.Dialog"></activity> <activity androID:name=".find" androID:theme="@style/theme.AppCompat.Dialog"></activity> <activity androID:name=".Alter_activity" androID:theme="@style/theme.AppCompat.Dialog" /> <activity androID:name=".Dialog_Activity" androID:theme="@style/theme.AppCompat.Dialog" /> <activity androID:name=".library_function" /> <activity androID:name=".Registeractivity" /> <activity androID:name=".MainActivity"> <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>VIEw Code
二、java文件
登录注册界面的java代码:
1.user.java:用户信息类
package com.example.library;/** * * @author Asus */public class User { private String username;//用户名 private String password;//用户密码 public User(){} public User(String username, String password) { this.username = username; this.password = password; } public voID setUsername(String username) { this.username = username; } public voID setPassword(String password) { this.password = password; } public String getUsername() { return username; } public String getpassword() { return password; }}VIEw Code
2.userDao.java:登录注册功能接口
package com.example.library;import androID.content.Context;import java.io.fileNotFoundException;/** *这是一个用户登录注册接口 * @author Asus */public interface UserDao { /** * 这是判断登录是否成功的方法 * @param username 用户名 * @param password 用户的密码 * @return 用户是否登录成功 */ public abstract boolean isloging(Context context,String username, String password) ; /** * 这是注册方法 * */ public abstract boolean register(Context context,User user);}VIEw Code
3.userDaoImpl.java:登录注册功能实现类
package com.example.library;import androID.content.Context;import androID.content.res.Resources;import androID.os.Environment;import androID.util.Log;import androID.Widget.Toast;import java.io.BufferedReader;import java.io.BuffereDWriter;import java.io.file;import java.io.fileOutputStream;import java.io.fileReader;import java.io.fileWriter;import java.io.IOException;import java.io.inputStream;import java.io.inputStreamReader;import java.io.Reader;import java.util.PropertIEs;import java.util.Set;/** * 用户登录注册功能实现类 * * @author Asus */public class UserDaoImpl implements UserDao { private static file sdpath= Environment.getExternalStorageDirectory(); private static file myfile=new file(sdpath,"panq.txt"); //创建类的时候就创建文件 static { try { if(myfile.exists()) System.out.println("文件已存在"); else{ myfile.createNewfile(); } } catch (IOException ex) { ex.printstacktrace(); } } /** * 登录功能 * @param context Activity的上面的某一层是Context,所以传值过来的是一个Activity,此处可以写成Context * @param username 用户名 * @param password 用户的密码 * @return */ @OverrIDe public boolean isloging(Context context,String username, String password) { boolean flag =false;//判断是否登录成功 BufferedReader br = null; try{ //读取文件信息,看用户名与密码是否匹配 br = new BufferedReader(new fileReader(myfile)); String line = null; while ((line = br.readline()) != null) { String[] date = line.split("="); System.out.println("用户名:"+date[0]+",密码:"+date[1]); if (date[0].equals(username) && date[1].equals(password)) { //信息匹配,登录成功 flag = true; break; } } }catch (Exception e1){ e1.printstacktrace(); }finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printstacktrace(); } } } return flag; } /** * * @param context Activity的上面的某一层是Context,所以传值过来的是一个Activity,此处可以写成Context * @param user 用户信息 * @return */ @OverrIDe public boolean register(Context context,User user) { BuffereDWriter bw=null; BufferedReader br=null; boolean isregister=false;//判断是否注册成功 try{ //先读取文件,查看用户名是否已注册 br=new BufferedReader(new fileReader(myfile)); boolean flag=myload(user.getUsername());//通过myload函数判断用户名是否已存在 if(!flag){ //用户名不存在,即可以使用该用户名,注册成功 isregister=true; //把用户信息写到文件中 bw=new BuffereDWriter(new fileWriter(myfile,true)); bw.write(user.getUsername()+"="+user.getpassword()); bw.newline(); bw.flush(); } }catch (Exception e){ e.printstacktrace(); }finally { if (br!=null&bw != null) { try { bw.close(); br.close(); } catch (IOException e) { e.printstacktrace(); } } } return isregister; } /** * 判断用户名是否已存在 * @param username 用户注册时输入的用户名 * @return * @throws IOException */ private boolean myload(String username) throws IOException { boolean flag = false; PropertIEs p = new PropertIEs(); BufferedReader br = new BufferedReader(new fileReader(myfile)); p.load(br); br.close(); Set<String> key = p.stringPropertynames();//获取所有已注册的用户名 for (String user : key) { if (username.equals(user)) { flag = true; break; } } return flag; }}VIEw Code
4.MainActivity.java
package com.example.library;import androIDx.appcompat.app.AlertDialog;import androIDx.appcompat.app.AppCompatActivity;import androIDx.core.app.ActivityCompat;import androID.app.Activity;import androID.content.Intent;import androID.content.pm.PackageManager;import androID.os.Bundle;import androID.text.inputType;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.CheckBox;import androID.Widget.Compoundbutton;import androID.Widget.EditText;import androID.Widget.Toast;public class MainActivity extends AppCompatActivity implements VIEw.OnClickListener { private EditText username; //用户名输入框 private EditText password; //密码输入框 private button Loginbutton; //登录按钮 private button Registerbutton; //注册按钮 private CheckBox passwordCheck; //显示密码复选框// private EditText new_username;//注册页面的用户名输入框// private EditText new_password;//注册页面的密码输入框// private EditText new_again_password;//注册页面的再次输入密码框 private static final int REQUEST_EXTERNAL_STORAGE = 1; private static String[] PERMISSIONS_STORAGE = { "androID.permission.READ_EXTERNAL_STORAGE", "androID.permission.WRITE_EXTERNAL_STORAGE" }; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); verifyStoragePermissions(this); initialize(); //初始化各种控件 ischeck(passwordCheck); //设置密码显示或不显示 Loginbutton.setonClickListener(this); Registerbutton.setonClickListener(this); } /** * 初始化控件 */ private voID initialize(){ username=(EditText)findVIEwByID(R.ID.username_text); //创建用户名输入框对象 password=(EditText)findVIEwByID(R.ID.password_text); //创建密码输入框对象 Registerbutton=(button)findVIEwByID(R.ID.register_button); //创建注册按钮对象 Loginbutton =(button)findVIEwByID(R.ID.login_button); //创建登录按钮对象 passwordCheck=(CheckBox)findVIEwByID(R.ID.password_checkbook); //创建显示密码复选框对象 } /** * 设置显示密码的点击 *** 作 * */ private voID ischeck(CheckBox passwordCheck){ passwordCheck.setonCheckedchangelistener(new Compoundbutton.OnCheckedchangelistener() { @OverrIDe public voID onCheckedChanged(Compoundbutton buttonVIEw, boolean isChecked) { if(isChecked){ //显示明文,即设置为可见的密码 password.setinputType(inputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); }else{ //不显示明文,即设置为不可见的密码 password.setinputType(inputType.TYPE_CLASS_TEXT | inputType.TYPE_TEXT_VARIATION_PASSWORD); } } }); } /** * 点击登录或注册按钮时触发的点击事件 * @param v */ @OverrIDe public voID onClick(VIEw v) { switch (v.getID()){ case R.ID.login_button://登录的点击事件 login(); break; case R.ID.register_button://注册的点击事件 //点击注册按钮时转去第二个活动页面 Intent intent=new Intent(MainActivity.this,Registeractivity.class); startActivity(intent); break; default: break; } } /** * 登录 */ private voID login() { //获取输入的用户名与密码 String usernametext=username.getText().toString().trim(); String passwordtext=password.getText().toString().trim(); //System.out.println(usernametext+" "+passwordtext); //定义用户名和密码规则 String usernameregex = "[a-zA-Z]{5}"; String passwordregex = "[0-9]{5}"; //校验用户名 if (!(usernametext.matches(usernameregex))) { // JOptionPane.showMessageDialog(this, "用户名格式不对,请输入5位单词字母)");// new AlertDialog.Builder(MainActivity.this)// .setTitle("error").setMessage("用户名格式不对,请输入5位单词字母")// .setPositivebutton("好的",null).show(); Toast.makeText(MainActivity.this,"用户名格式不对,请输入5位单词字母",Toast.LENGTH_LONG).show(); //清空用户名框文本,并把输入光标放回到输入框 this.username.setText(""); this.username.requestFocus(); return; } //校验密码 if (!(passwordtext.matches(passwordregex))) { //JOptionPane.showMessageDialog(this, "密码格式不对,请输入6-12位任意字符)"); Toast.makeText(MainActivity.this,"密码格式不正确,请输入6-12位任意字符",Toast.LENGTH_LONG).show();// new AlertDialog.Builder(MainActivity.this)// .setTitle("error").setMessage("密码格式不正确,请输入6-12位任意字符")// .setPositivebutton("好的",null).show();// //清空用户名框文本,并把输入光标放回到输入框 this.password.setText(""); this.username.requestFocus(); return; } //调用登录功能 UserDaoImpl loginImpl=new UserDaoImpl(); boolean flag=loginImpl.isloging(this,usernametext,passwordtext); if(!flag){ //如果登录不成功 Toast.makeText(MainActivity.this,"用户名或密码错误",Toast.LENGTH_LONG).show(); //将用户名框与密码框清空,并把光标放回框中 this.username.setText(""); this.password.setText(""); this.username.requestFocus(); this.password.requestFocus(); }else{ //登录成功 Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show(); Intent intent=new Intent(MainActivity.this,library_function.class); startActivity(intent); } } private voID openPeRSSion() { verifyStoragePermissions(this); } /** * @des 权限组的获取 * @author DELL * @time 10:44 */ public voID verifyStoragePermissions(Activity activity) { try { //检测是否有写的权限 int permission = ActivityCompat.checkSelfPermission(activity, "androID.permission.WRITE_EXTERNAL_STORAGE"); if (permission != PackageManager.PERMISSION_GRANTED) { // 没有写的权限,去申请写的权限,会d出对话框 ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE); } } catch (Exception e) { e.printstacktrace(); } }}VIEw Code
5.RegisetrActivity.java:注册功能的活动代码
package com.example.library;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.text.inputType;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.CheckBox;import androID.Widget.Compoundbutton;import androID.Widget.EditText;import androID.Widget.Toast;public class Registeractivity extends AppCompatActivity implements VIEw.OnClickListener{ private EditText new_username;//注册页面的用户名输入框 private EditText new_password;//注册页面的密码输入框 private EditText new_again_password;//注册页面的再次输入密码框 private button new_register;//注册按钮 private button back;//返回按钮 private CheckBox ispassword;//显示密码按钮 @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_register); init();//初始化控件 ischeck(ispassword); new_register.setonClickListener(this); back.setonClickListener(this); } /** * 初始化控件 */ private voID init() { new_username=(EditText)findVIEwByID(R.ID.newusername_text);//创建注册页面的用户名输入框对象 new_password=(EditText)findVIEwByID(R.ID.newpassword_text);//创建注册页面的密码输入框对象 new_again_password=(EditText)findVIEwByID(R.ID.new_again_password_text);//创建注册页面的再次确认密码输入框对象 new_register=(button)findVIEwByID(R.ID.yes_register_button);//创建注册按钮对象 back=(button)findVIEwByID(R.ID.back_button);//创建返回按钮对象 ispassword=(CheckBox)findVIEwByID(R.ID.new_password_checkbook);//创建显示密码按钮对象 } private voID register(){ //获取输入的用户名与密码 String usernametext=new_username.getText().toString().trim(); String passwordtext=new_password.getText().toString().trim(); //定义用户名和密码规则 String usernameregex = "[a-zA-Z]{5}"; String passwordregex = "[0-9]{5}"; //校验用户名 if (!(usernametext.matches(usernameregex))) { // JOptionPane.showMessageDialog(this, "用户名格式不对,请输入5位单词字母)"); // new AlertDialog.Builder(MainActivity.this) // .setTitle("error").setMessage("用户名格式不对,请输入5位单词字母") // .setPositivebutton("好的",null).show(); Toast.makeText(Registeractivity.this,"用户名格式不对,请输入5位单词字母",Toast.LENGTH_LONG).show(); //清空用户名框文本,并把输入光标放回到输入框 this.new_username.setText(""); this.new_username.requestFocus(); return; } //校验密码 if (!(passwordtext.matches(passwordregex))) { //JOptionPane.showMessageDialog(this, "密码格式不对,请输入6-12位任意字符)"); Toast.makeText(Registeractivity.this,"密码格式不正确,请输入6-12位任意字符",Toast.LENGTH_LONG).show(); // new AlertDialog.Builder(MainActivity.this) // .setTitle("error").setMessage("密码格式不正确,请输入6-12位任意字符") // .setPositivebutton("好的",null).show(); // //清空用户名框文本,并把输入光标放回到输入框 this.new_password.setText(""); this.new_password.requestFocus(); return; } //校验两次输入的密码是否一致 String again_password=new_again_password.getText().toString().trim(); if(!again_password.equals(new_password)){ Toast.makeText(Registeractivity.this,"密码不一致",Toast.LENGTH_LONG).show(); } //调用注册功能 User user=new User(usernametext,passwordtext); UserDaoImpl loginImpl=new UserDaoImpl(); boolean result=loginImpl.register(this,user);//判断是否注册成功 if(result){ Toast.makeText(Registeractivity.this,"注册成功",Toast.LENGTH_LONG).show(); }else { Toast.makeText(Registeractivity.this, "用户名已存在", Toast.LENGTH_LONG).show(); //清空用户名框文本,并把输入光标放回到输入框 this.new_username.setText(""); this.new_username.requestFocus(); } } @OverrIDe public voID onClick(VIEw v) { switch (v.getID()){ case R.ID.yes_register_button: register();//校验输入的用户名与密码 break; case R.ID.back_button: Intent intent=new Intent(Registeractivity.this,MainActivity.class); startActivity(intent); break; default: break; } } /** * 设置显示密码的点击 *** 作 * */ private voID ischeck(CheckBox passwordCheck){ passwordCheck.setonCheckedchangelistener(new Compoundbutton.OnCheckedchangelistener() { @OverrIDe public voID onCheckedChanged(Compoundbutton buttonVIEw, boolean isChecked) { if(isChecked){ //显示明文,即设置为可见的密码 new_password.setinputType(inputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); new_again_password.setinputType(inputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); }else{ //不显示明文,即设置为不可见的密码 new_password.setinputType(inputType.TYPE_CLASS_TEXT | inputType.TYPE_TEXT_VARIATION_PASSWORD); new_again_password.setinputType(inputType.TYPE_CLASS_TEXT | inputType.TYPE_TEXT_VARIATION_PASSWORD); } } }); }}VIEw Code
图书管理系统界面实现增删查改功能代码:
6.library_function.java:图书馆功能活动代码
@H_404_256@
package com.example.library;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import java.sql.Connection;public class library_function extends AppCompatActivity implements VIEw.OnClickListener { private button addbutton;//增添书籍按钮 private button findbutton;//查询书籍按钮 private button alterbutton;//修改书籍信息按钮 private button cancelbutton;//删除书籍按钮 //private Connection con; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_library_function); init(); //dbConnect(); addbutton.setonClickListener(this); alterbutton.setonClickListener(this); findbutton.setonClickListener(this); cancelbutton.setonClickListener(this); }// private voID dbConnect() {// new Thread(new Runnable() {// @OverrIDe// public voID run() {// BookDaoImpl bookImpl=new BookDaoImpl();// bookImpl.connect();// }// }).start();//// } @OverrIDe public voID onClick(VIEw v) { switch (v.getID()){ case R.ID.add_button: Intent intent1=new Intent(library_function.this,Dialog_Activity.class); startActivity(intent1); break; case R.ID.find_button: Intent intent3=new Intent(library_function.this,find.class); startActivity(intent3); break; case R.ID.alter_button: Intent intent2=new Intent(library_function.this,Alter_activity.class); startActivity(intent2); break; case R.ID.cancel_button: Intent intent4=new Intent(library_function.this,cancel.class); startActivity(intent4); break; default: break; } } private voID init(){ addbutton=(button)findVIEwByID(R.ID.add_button); findbutton=(button)findVIEwByID(R.ID.find_button); alterbutton=(button)findVIEwByID(R.ID.alter_button); cancelbutton=(button)findVIEwByID(R.ID.cancel_button); }}VIEw Code
7.Book.java:书籍的信息类
package com.example.library;public class Book { private String ID;//书的编号 private String name;//书名 private String price;//书的价格 public Book() { super(); } public Book(String ID, String name, String price) { super(); ID = ID; name = name; this.price = price; } public String getID() { return ID; } public voID setID(String ID) { ID = ID; } public String getname() { return name; } public voID setname(String name) { name = name; } public String getPrice() { return price; } public voID setPrice(String price) { this.price = price; } @OverrIDe public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Book other = (Book) obj; if (ID == null) { if (other.ID != null) return false; } else if (!ID.equals(other.ID)) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (price == null) { if (other.price != null) return false; } else if (!price.equals(other.price)) return false; return true; } @OverrIDe public String toString() { return "Book [ID=" + ID + ", name=" + name + ", price=" + price + "]"; }}VIEw Code
8.BookDao.java:图书管理系统的4个功能接口
package com.example.library;import java.sql.Connection;/** * 图书管理系统功能的接口 * 2020.04.26 */interface BookDao { public String addBook(Connection con, Book book) ;//增添书籍 public String findBook(Connection con,String bookname); //查询书籍 public String alterBook(Connection con,String Bookname,Book book); //修改书籍内容 public voID cancelBook(Connection con,String bookname,String ID);//删除书籍}VIEw Code
9.BookDaoImpl.java:功能实现类
VIEw Code
10.Dialog_Activity.java:增添书籍功能代码
package com.example.library;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import java.sql.Connection;public class Dialog_Activity extends AppCompatActivity implements VIEw.OnClickListener{ private EditText name;//书名文本框 private EditText ID;//书的编号文本框 private EditText price;//价格文本框 private EditText add_result;// *** 作结果文本框 private button yes_button;//确定文本框 private button no_button;//取消文本框 private Connection con; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_dialog_); setTitle("增添书籍");//设置标题 init();//控件初始化 yes_button.setonClickListener(this); no_button.setonClickListener(this); } /** * 初始化各种控件 */ private voID init(){ name=(EditText)findVIEwByID(R.ID.add_bookname_text); ID=(EditText)findVIEwByID(R.ID.add_bookID_text); price=(EditText)findVIEwByID(R.ID.add_bookPrice_text); add_result=(EditText)findVIEwByID(R.ID.add_result_text); yes_button=(button)findVIEwByID(R.ID.add_yes_button); no_button=(button)findVIEwByID(R.ID.add_no_button); } @OverrIDe public voID onClick(VIEw v) { switch(v.getID()){ case R.ID.add_yes_button: getResult(); break; case R.ID.add_no_button: Intent intent=new Intent(Dialog_Activity.this,library_function.class); startActivity(intent); break; default: break; } } /** * *** 作的类 * @param */ private voID getResult() { new Thread(new Runnable() { @OverrIDe public voID run() { String bookID=ID.getText().toString().trim(); String bookname=name.getText().toString().trim(); String bookPrice=price.getText().toString().trim(); Book book=new Book(bookID,bookname,bookPrice); try{ BookDaoImpl impl=new BookDaoImpl(); con=impl.connect(); String result=impl.addBook(con,book); add_result.setText(result); }catch (Exception e){ e.printstacktrace(); } } }).start(); }}VIEw Code
11.find.java:查询书籍信息功能代码
package com.example.library;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import java.sql.Connection;public class find extends AppCompatActivity implements VIEw.OnClickListener { private EditText findBookname; private EditText findResult; private button find_yes; private button find_no; private Connection con; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_find); setTitle("查询书籍"); init(); find_yes.setonClickListener(this); find_no.setonClickListener(this); } private voID init() { findBookname=(EditText)findVIEwByID(R.ID.find_bookname_text); findResult=(EditText)findVIEwByID(R.ID.find_result_text); find_yes=(button)findVIEwByID(R.ID.find_yes_button); find_no=(button)findVIEwByID(R.ID.find_no_button); } @OverrIDe public voID onClick(VIEw v) { switch (v.getID()){ case R.ID.find_yes_button: getresult(); break; case R.ID.find_no_button: Intent intent=new Intent(find.this,library_function.class); startActivity(intent); break; default: break; } } private voID getresult() { new Thread(new Runnable() { @OverrIDe public voID run() { String find_bookname=findBookname.getText().toString().trim(); try { BookDaoImpl impl=new BookDaoImpl(); con=impl.connect(); String result=impl.findBook(con,find_bookname); if(result!=null){ findResult.setText(result); }else{ findResult.setText("无查询结果"); } }catch(Exception e) { e.printstacktrace(); } } }).start(); }}VIEw Code
12.alter_activity:修改书籍信息功能代码
package com.example.library;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import java.sql.Connection;public class Alter_activity extends AppCompatActivity implements VIEw.OnClickListener{ private EditText alter_name;//原书名文本框 private EditText alter_new_name;//新书名文本框 private EditText alter_ID;//书的新编号文本框 private EditText alter_price;//新价格文本框 private EditText alter_result;// *** 作结果文本框 private button alter_yes_button;//确定文本框 private button alter_no_button;//取消文本框 private Connection con; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_alter_activity); setTitle("修改书籍");//设置标题 init();//控件初始化 alter_yes_button.setonClickListener(this); alter_no_button.setonClickListener(this); } /** * 初始化各种控件 */ private voID init(){ alter_name=(EditText)findVIEwByID(R.ID.alter_bookname_text); alter_new_name=(EditText)findVIEwByID(R.ID.new_alter_bookname_text); alter_ID=(EditText)findVIEwByID(R.ID.alter_bookID_text); alter_price=(EditText)findVIEwByID(R.ID.alter_bookPrice_text); alter_result=(EditText)findVIEwByID(R.ID.alter_result_text) ; alter_yes_button=(button)findVIEwByID(R.ID.alter_yes_button); alter_no_button=(button)findVIEwByID(R.ID.alter_no_button); } @OverrIDe public voID onClick(VIEw v) { switch(v.getID()){ case R.ID.alter_yes_button: getResult(); break; case R.ID.alter_no_button: Intent intent=new Intent(Alter_activity.this,library_function.class); startActivity(intent); break; default: break; } } /** * *** 作的类 * @param */ private voID getResult() { final String bookname=this.alter_name.getText().toString().trim();//获取用户键盘录入的书名 String newbookname=this.alter_new_name.getText().toString().trim();//获取用户输入的新书名 String bookID=this.alter_ID.getText().toString().trim();//获取用户输入的新编号 String bookprice=this.alter_price.getText().toString().trim();//获取用户键盘录入的价格 final Book book=new Book(bookID,newbookname,bookprice); new Thread(new Runnable() { @OverrIDe public voID run() { try{ BookDaoImpl impl=new BookDaoImpl(); con=impl.connect(); String result=impl.alterBook(con,bookname,book); alter_result.setText(result); }catch (Exception e){ e.printstacktrace(); } } }).start(); }}VIEw Code
13.cancel.java:删除书籍信息功能代码
package com.example.library;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import java.sql.Connection;public class cancel extends AppCompatActivity implements VIEw.OnClickListener{ private EditText cancelBookname; private EditText cancelID; private EditText cancelRecult; private button cancel_yes; private button cancel_no; private Connection con; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_cancel); setTitle("删除书籍"); init(); cancel_yes.setonClickListener(this); cancel_no.setonClickListener(this); } private voID init() { cancelBookname=(EditText)findVIEwByID(R.ID.cancel_bookname_text); cancelID=(EditText)findVIEwByID(R.ID.cancel_bookID_text); cancelRecult=(EditText)findVIEwByID(R.ID.cancel_result_text); cancel_yes=(button)findVIEwByID(R.ID.cancel_yes_button); cancel_no=(button)findVIEwByID(R.ID.cancel_no_button); } @OverrIDe public voID onClick(VIEw v) { switch(v.getID()){ case R.ID.cancel_yes_button: getResult(); break; case R.ID.cancel_no_button: Intent intent=new Intent(cancel.this,library_function.class); startActivity(intent); break; } } private voID getResult() { final String cancel_bookname=this.cancelBookname.getText().toString().trim(); final String cancel_ID=this.cancelID.getText().toString().trim(); new Thread(new Runnable() { @OverrIDe public voID run() { try{ BookDaoImpl impl=new BookDaoImpl(); con=impl.connect();//连接数据库 impl.cancelBook(con,cancel_bookname,cancel_ID);//调用删除功能 cancelRecult.setText("删除成功"); }catch (Exception e){ e.printstacktrace(); } } }).start(); }}VIEw Code
结束啦,功夫不负有心人。
总结以上是内存溢出为你收集整理的Android版之数据库增删改查图书信息全部内容,希望文章能够帮你解决Android版之数据库增删改查图书信息所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)