@ -0,0 +1,14 @@
|
|||||||
|
*.iml
|
||||||
|
.gradle
|
||||||
|
/local.properties
|
||||||
|
/.idea/caches
|
||||||
|
/.idea/libraries
|
||||||
|
/.idea/modules.xml
|
||||||
|
/.idea/workspace.xml
|
||||||
|
/.idea/navEditor.xml
|
||||||
|
/.idea/assetWizardSettings.xml
|
||||||
|
.DS_Store
|
||||||
|
/build
|
||||||
|
/captures
|
||||||
|
.externalNativeBuild
|
||||||
|
.cxx
|
@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
@ -0,0 +1 @@
|
|||||||
|
PENGPERSONAL
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<bytecodeTargetLevel target="11" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
|
<component name="GradleSettings">
|
||||||
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="GRADLE" />
|
||||||
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="modules">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/bms" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</GradleProjectSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Maven Central repository" />
|
||||||
|
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="jboss.community" />
|
||||||
|
<option name="name" value="JBoss Community repository" />
|
||||||
|
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="BintrayJCenter" />
|
||||||
|
<option name="name" value="BintrayJCenter" />
|
||||||
|
<option name="url" value="https://jcenter.bintray.com/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="Google" />
|
||||||
|
<option name="name" value="Google" />
|
||||||
|
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||||
|
</remote-repository>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="Android" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,32 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __PENGPERSONAL's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.pengpersonal {
|
||||||
|
class com.zhang.pengpersonal.ExampleInstrumentedTest {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.pengpersonal {
|
||||||
|
class com.zhang.pengpersonal.ExampleUnitTest {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.pengpersonal {
|
||||||
|
class com.zhang.pengpersonal.MainActivity {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1,29 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __PENGPERSONAL's Component Diagram__\n
|
||||||
|
|
||||||
|
component "PENGPERSONAL.bms.unitTest" {
|
||||||
|
[PENGPERSONAL.bms.main]
|
||||||
|
component "PENGPERSONAL.bms.main" {
|
||||||
|
[PENGPERSONAL.bms.androidTest]
|
||||||
|
component "PENGPERSONAL.bms.androidTest" {
|
||||||
|
[PENGPERSONAL.bms]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1 @@
|
|||||||
|
/build
|
@ -0,0 +1,33 @@
|
|||||||
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 29
|
||||||
|
buildToolsVersion "29.0.3"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId "com.zhang.pengpersonal"
|
||||||
|
minSdkVersion 14
|
||||||
|
targetSdkVersion 29
|
||||||
|
versionCode 1
|
||||||
|
versionName "1.0"
|
||||||
|
|
||||||
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
||||||
|
testImplementation 'junit:junit:4.12'
|
||||||
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# You can control the set of applied configuration files using the
|
||||||
|
# proguardFiles setting in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Uncomment this to preserve the line number information for
|
||||||
|
# debugging stack traces.
|
||||||
|
#-keepattributes SourceFile,LineNumberTable
|
||||||
|
|
||||||
|
# If you keep the line number information, uncomment this to
|
||||||
|
# hide the original source file name.
|
||||||
|
#-renamesourcefileattribute SourceFile
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.zhang.pengpersonal;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.test.platform.app.InstrumentationRegistry;
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instrumented test, which will execute on an Android device.
|
||||||
|
*
|
||||||
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
|
*/
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class ExampleInstrumentedTest {
|
||||||
|
@Test
|
||||||
|
public void useAppContext() {
|
||||||
|
// Context of the app under test.
|
||||||
|
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||||
|
assertEquals("com.zhang.pengpersonal", appContext.getPackageName());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __PENGPERSONAL's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.pengpersonal {
|
||||||
|
class com.zhang.pengpersonal.ExampleInstrumentedTest {
|
||||||
|
+ useAppContext()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.zhang.pengpersonal">
|
||||||
|
|
||||||
|
<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=".MainActivity">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.zhang.pengpersonal;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_main);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __PENGPERSONAL's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.pengpersonal {
|
||||||
|
class com.zhang.pengpersonal.MainActivity {
|
||||||
|
# onCreate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1,30 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:aapt="http://schemas.android.com/aapt"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||||
|
<aapt:attr name="android:fillColor">
|
||||||
|
<gradient
|
||||||
|
android:endX="85.84757"
|
||||||
|
android:endY="92.4963"
|
||||||
|
android:startX="42.9492"
|
||||||
|
android:startY="49.59793"
|
||||||
|
android:type="linear">
|
||||||
|
<item
|
||||||
|
android:color="#44000000"
|
||||||
|
android:offset="0.0" />
|
||||||
|
<item
|
||||||
|
android:color="#00000000"
|
||||||
|
android:offset="1.0" />
|
||||||
|
</gradient>
|
||||||
|
</aapt:attr>
|
||||||
|
</path>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFF"
|
||||||
|
android:fillType="nonZero"
|
||||||
|
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
|
||||||
|
android:strokeWidth="1"
|
||||||
|
android:strokeColor="#00000000" />
|
||||||
|
</vector>
|
@ -0,0 +1,170 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path
|
||||||
|
android:fillColor="#3DDC84"
|
||||||
|
android:pathData="M0,0h108v108h-108z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M9,0L9,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,0L19,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M29,0L29,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M39,0L39,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M49,0L49,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M59,0L59,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M69,0L69,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M79,0L79,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M89,0L89,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M99,0L99,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,9L108,9"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,19L108,19"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,29L108,29"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,39L108,39"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,49L108,49"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,59L108,59"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,69L108,69"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,79L108,79"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,89L108,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,99L108,99"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,29L89,29"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,39L89,39"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,49L89,49"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,59L89,59"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,69L89,69"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,79L89,79"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M29,19L29,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M39,19L39,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M49,19L49,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M59,19L59,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M69,19L69,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M79,19L79,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
</vector>
|
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".MainActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Hello World!"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
</adaptive-icon>
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
</adaptive-icon>
|
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="colorPrimary">#6200EE</color>
|
||||||
|
<color name="colorPrimaryDark">#3700B3</color>
|
||||||
|
<color name="colorAccent">#03DAC5</color>
|
||||||
|
</resources>
|
@ -0,0 +1,3 @@
|
|||||||
|
<resources>
|
||||||
|
<string name="app_name">PENGPERSONAL</string>
|
||||||
|
</resources>
|
@ -0,0 +1,10 @@
|
|||||||
|
<resources>
|
||||||
|
<!-- Base application theme. -->
|
||||||
|
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
|
<!-- Customize your theme here. -->
|
||||||
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</resources>
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.zhang.pengpersonal;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Example local unit test, which will execute on the development machine (host).
|
||||||
|
*
|
||||||
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
|
*/
|
||||||
|
public class ExampleUnitTest {
|
||||||
|
@Test
|
||||||
|
public void addition_isCorrect() {
|
||||||
|
assertEquals(4, 2 + 2);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __PENGPERSONAL's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.pengpersonal {
|
||||||
|
class com.zhang.pengpersonal.ExampleUnitTest {
|
||||||
|
+ addition_isCorrect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
After Width: | Height: | Size: 27 KiB |
@ -0,0 +1 @@
|
|||||||
|
/build
|
@ -0,0 +1,33 @@
|
|||||||
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 29
|
||||||
|
buildToolsVersion "29.0.3"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId "com.zhang.bms"
|
||||||
|
minSdkVersion 14
|
||||||
|
targetSdkVersion 29
|
||||||
|
versionCode 1
|
||||||
|
versionName "1.0"
|
||||||
|
|
||||||
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
||||||
|
testImplementation 'junit:junit:4.12'
|
||||||
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# You can control the set of applied configuration files using the
|
||||||
|
# proguardFiles setting in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Uncomment this to preserve the line number information for
|
||||||
|
# debugging stack traces.
|
||||||
|
#-keepattributes SourceFile,LineNumberTable
|
||||||
|
|
||||||
|
# If you keep the line number information, uncomment this to
|
||||||
|
# hide the original source file name.
|
||||||
|
#-renamesourcefileattribute SourceFile
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.zhang.bms;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.test.platform.app.InstrumentationRegistry;
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instrumented test, which will execute on an Android device.
|
||||||
|
*
|
||||||
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
|
*/
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class ExampleInstrumentedTest {
|
||||||
|
@Test
|
||||||
|
public void useAppContext() {
|
||||||
|
// Context of the app under test.
|
||||||
|
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||||
|
assertEquals("com.zhang.bms", appContext.getPackageName());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.zhang.bms">
|
||||||
|
|
||||||
|
<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=".ui.ReturnSuccessActivity"></activity>
|
||||||
|
<activity
|
||||||
|
android:name=".ui.BorrowManageActivity"
|
||||||
|
android:theme="@style/ThemeWithoutAnim" />
|
||||||
|
<activity android:name=".ui.ShowBorrowActivity" />
|
||||||
|
<activity android:name=".ui.BorrowSuccessActivity" />
|
||||||
|
<activity android:name=".ui.FavoriteActivity" />
|
||||||
|
<activity android:name=".ui.Change_synopsisActivity" />
|
||||||
|
<activity android:name=".ui.InputUsernameActivity" />
|
||||||
|
<activity android:name=".ui.ForgetPassActivity" />
|
||||||
|
<activity android:name=".ui.ChangePasswordActivity" />
|
||||||
|
<activity
|
||||||
|
android:name=".ui.PersonalCenterActivity"
|
||||||
|
android:theme="@style/ThemeWithoutAnim" />
|
||||||
|
<activity android:name=".ui.BookActivity" />
|
||||||
|
<activity android:name=".ui.SearchResultActivity" />
|
||||||
|
<activity
|
||||||
|
android:name=".ui.ShowBooksActivity"
|
||||||
|
android:theme="@style/ThemeWithoutAnim" />
|
||||||
|
<activity android:name=".ui.ManageBookDetailsActivity" />
|
||||||
|
<activity android:name=".ui.ManageUserDetailsActivity" />
|
||||||
|
<activity
|
||||||
|
android:name=".ui.UserManageActivity"
|
||||||
|
android:theme="@style/ThemeWithoutAnim" />
|
||||||
|
<activity android:name=".ui.ManageIndexActivity" />
|
||||||
|
<activity android:name=".ui.AddBookActivity" />
|
||||||
|
<activity
|
||||||
|
android:name=".ui.BookManageActivity"
|
||||||
|
android:theme="@style/ThemeWithoutAnim" />
|
||||||
|
<activity android:name=".ui.RegisterActivity" />
|
||||||
|
<activity android:name=".ui.LoginActivity" />
|
||||||
|
<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>
|
After Width: | Height: | Size: 26 KiB |
@ -0,0 +1,84 @@
|
|||||||
|
package com.zhang.bms;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.CountDownTimer;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.ui.LoginActivity;
|
||||||
|
import com.zhang.bms.ui.ManageIndexActivity;
|
||||||
|
import com.zhang.bms.ui.ShowBooksActivity;
|
||||||
|
|
||||||
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
private TextView tv;
|
||||||
|
private Runnable mRunnable;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_main);
|
||||||
|
//取消状态栏
|
||||||
|
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
|
tv = findViewById(R.id.countdown);
|
||||||
|
final SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
|
||||||
|
MyCountDownTimer myCountDownTimer = new MyCountDownTimer(6000,1000); // 5000代表5秒后进入主页面
|
||||||
|
myCountDownTimer.start();
|
||||||
|
handler.postDelayed(mRunnable = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (!sharedPreferences.getString("username","").equals("")){
|
||||||
|
Intent intent = new Intent(MainActivity.this, ShowBooksActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}else {
|
||||||
|
Intent intent = new Intent(MainActivity.this, LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
},6000);
|
||||||
|
tv.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (!sharedPreferences.getString("username","").equals("")){
|
||||||
|
Intent intent = new Intent(MainActivity.this, ShowBooksActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}else {
|
||||||
|
Intent intent = new Intent(MainActivity.this, LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
finish();
|
||||||
|
if(mRunnable!=null){ // 判断消息handler消息如果消息不是空就把handler消息remove 清除掉 这样防止点过 跳过 之后还会出现在次开启一个Activity
|
||||||
|
handler.removeCallbacks(mRunnable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
private Handler handler = new Handler();
|
||||||
|
class MyCountDownTimer extends CountDownTimer {
|
||||||
|
|
||||||
|
public MyCountDownTimer(long millisInFuture, long countDownInterval){
|
||||||
|
super(millisInFuture,countDownInterval);
|
||||||
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onTick(long millisUntilFinished) {
|
||||||
|
tv.setText("跳过 "+millisUntilFinished /1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFinish() {
|
||||||
|
tv.setText("正在跳转");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __BMS's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
class com.zhang.bms.MainActivity {
|
||||||
|
- handler : Handler
|
||||||
|
- mRunnable : Runnable
|
||||||
|
- tv : TextView
|
||||||
|
# onCreate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
com.zhang.bms.MainActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.MainActivity +-down- com.zhang.bms.MainActivity.MyCountDownTimer
|
||||||
|
com.zhang.bms.MainActivity.MyCountDownTimer -up-|> android.os.CountDownTimer
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1,194 @@
|
|||||||
|
package com.zhang.bms.control;
|
||||||
|
|
||||||
|
import android.content.ContentValues;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BookTableHelper {
|
||||||
|
//添加图书
|
||||||
|
public boolean AddBook(DBHelper dbHelper,Book book){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("ISBN",book.getISBN());
|
||||||
|
values.put("bookname",book.getBookname());
|
||||||
|
values.put("author",book.getAuthor());
|
||||||
|
values.put("press",book.getPress());
|
||||||
|
values.put("publicationtime",book.getPublicationtime());
|
||||||
|
values.put("category",book.getCategory());
|
||||||
|
values.put("synopsis",book.getSynopsis());
|
||||||
|
values.put("inventory",book.getinventory());
|
||||||
|
values.put("page",book.getPage());
|
||||||
|
long id = db.insert("book",null,values);
|
||||||
|
db.close();
|
||||||
|
boolean flag;
|
||||||
|
if (id != -1){
|
||||||
|
flag = true;
|
||||||
|
}else {
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
//图书grid展示
|
||||||
|
public ArrayList<Book> BookGrid(DBHelper dbHelper){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("book",new String[]{"id","bookname","author","inventory"},
|
||||||
|
null,null,null,null,"id desc");
|
||||||
|
ArrayList<Book> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String id = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String bookname = cursor.getString(cursor.getColumnIndex("bookname"));
|
||||||
|
String author = cursor.getString(cursor.getColumnIndex("author"));
|
||||||
|
int inventory = cursor.getInt(cursor.getColumnIndex("inventory"));
|
||||||
|
Book book = new Book(id,bookname,author,inventory,2);
|
||||||
|
list.add(book);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//图书管理列表
|
||||||
|
public ArrayList<Book> BookList(DBHelper dbHelper){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("book",new String[]{"id","bookname","author","category"},
|
||||||
|
null,null,null,null,"id desc");
|
||||||
|
ArrayList<Book> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String id = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String bookname = cursor.getString(cursor.getColumnIndex("bookname"));
|
||||||
|
String author = cursor.getString(cursor.getColumnIndex("author"));
|
||||||
|
String category = cursor.getString(cursor.getColumnIndex("category"));
|
||||||
|
Book book = new Book(id,bookname,author,category);
|
||||||
|
list.add(book);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//图书管理详情页
|
||||||
|
public ArrayList<Book> BookDetails(DBHelper dbHelper,String bid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("book",new String[]{"ISBN","bookname","author","press",
|
||||||
|
"publicationtime","category","synopsis","inventory","page"},"id = ?",
|
||||||
|
new String[]{bid + ""},null,null,null);
|
||||||
|
ArrayList<Book> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String ISBN = cursor.getString(cursor.getColumnIndex("ISBN"));
|
||||||
|
String bookname = cursor.getString(cursor.getColumnIndex("bookname"));
|
||||||
|
String author = cursor.getString(cursor.getColumnIndex("author"));
|
||||||
|
String press = cursor.getString(cursor.getColumnIndex("press"));
|
||||||
|
String publicationtime = cursor.getString(cursor.getColumnIndex("publicationtime"));
|
||||||
|
String category = cursor.getString(cursor.getColumnIndex("category"));
|
||||||
|
String synopsis = cursor.getString(cursor.getColumnIndex("synopsis"));
|
||||||
|
int inventory = cursor.getInt(cursor.getColumnIndex("inventory"));
|
||||||
|
int page = cursor.getInt(cursor.getColumnIndex("page"));
|
||||||
|
Book book = new Book(ISBN,bookname,author,press,publicationtime,category,synopsis,inventory,page);
|
||||||
|
list.add(book);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//删除图书
|
||||||
|
public boolean DeleteBook(DBHelper dbHelper,String id){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
int flag = db.delete("book","id=?",new String[]{id + ""});
|
||||||
|
db.close();
|
||||||
|
boolean result;
|
||||||
|
if (flag == -1){
|
||||||
|
result = false;
|
||||||
|
}else {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//修改图书
|
||||||
|
public boolean UpdateBook(DBHelper dbHelper,String id,String ISBN,String bookname,String author,String press,String publicationtime,
|
||||||
|
String categoty,String synopsis,int inventory,int page){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("ISBN",ISBN);
|
||||||
|
values.put("bookname",bookname);
|
||||||
|
values.put("author",author);
|
||||||
|
values.put("press",press);
|
||||||
|
values.put("publicationtime",publicationtime);
|
||||||
|
values.put("category",categoty);
|
||||||
|
values.put("synopsis",synopsis);
|
||||||
|
values.put("inventory",inventory);
|
||||||
|
values.put("page",page);
|
||||||
|
int flag = db.update("book",values,"id = ?",new String[]{id});
|
||||||
|
boolean result;
|
||||||
|
if (flag == -1){
|
||||||
|
result = false;
|
||||||
|
}else {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//图书搜索功能
|
||||||
|
public ArrayList<Book> SearchBook(DBHelper dbHelper,String searcher){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("book",new String[]{"id","bookname","author","inventory"},
|
||||||
|
"bookname like ? or author like ?",new String[]{"%"+searcher+"%","%"+searcher+"%"},
|
||||||
|
null,null,null);
|
||||||
|
ArrayList<Book> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String bid = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String bookname = cursor.getString(cursor.getColumnIndex("bookname"));
|
||||||
|
String author = cursor.getString(cursor.getColumnIndex("author"));
|
||||||
|
int inventory = cursor.getInt(cursor.getColumnIndex("inventory"));
|
||||||
|
Book book = new Book(bid,bookname,author,inventory,2);
|
||||||
|
list.add(book);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//已收藏图书查询
|
||||||
|
public ArrayList<Book> SearchCollection(DBHelper dbHelper,String searcher){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.rawQuery("select * from book where id in ("+searcher+")",null);
|
||||||
|
ArrayList<Book> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String id = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String bookname = cursor.getString(cursor.getColumnIndex("bookname"));
|
||||||
|
String author = cursor.getString(cursor.getColumnIndex("author"));
|
||||||
|
int inventory = cursor.getInt(cursor.getColumnIndex("inventory"));
|
||||||
|
Book book = new Book(id,bookname,author,inventory,2);
|
||||||
|
list.add(book);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//借阅图书/还书
|
||||||
|
public void BorrowBook(DBHelper dbHelper,String bid,int new_inventory){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("inventory",new_inventory);
|
||||||
|
db.update("book",values,"id=?",new String[]{bid});
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
//查询馆藏
|
||||||
|
public int FindInventory(DBHelper dbHelper,String bid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.rawQuery("select inventory from book where id = ?",new String[]{bid});
|
||||||
|
int number = 0;
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
number = cursor.getInt(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
package com.zhang.bms.control;
|
||||||
|
|
||||||
|
import android.content.ContentValues;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
|
||||||
|
import com.zhang.bms.model.Borrow;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BorrowTableHelper {
|
||||||
|
//新增借阅信息
|
||||||
|
public boolean AddBorrow(DBHelper dbHelper, Borrow borrow){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("botime",borrow.getBotime());
|
||||||
|
values.put("bookid",borrow.getBookid());
|
||||||
|
values.put("userid",borrow.getUserid());
|
||||||
|
values.put("bostate",borrow.getBostate());
|
||||||
|
long id = db.insert("borrow",null,values);
|
||||||
|
db.close();
|
||||||
|
boolean flag;
|
||||||
|
if (id != -1){
|
||||||
|
flag = true;
|
||||||
|
}else {
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
//查询借阅记录
|
||||||
|
public ArrayList<Borrow> ShowBorrow(DBHelper dbHelper,String uid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.rawQuery("select * from borrow where userid = ? order by boid desc",new String[]{uid});
|
||||||
|
ArrayList<Borrow> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String bookid = cursor.getString(cursor.getColumnIndex("bookid"));
|
||||||
|
String botime = cursor.getString(cursor.getColumnIndex("botime"));
|
||||||
|
int bostate = cursor.getInt(cursor.getColumnIndex("bostate"));
|
||||||
|
String backtime = cursor.getString(cursor.getColumnIndex("backtime"));
|
||||||
|
String reviewer = cursor.getString(cursor.getColumnIndex("reviewer"));
|
||||||
|
Borrow borrow = new Borrow(botime,bookid,bostate,backtime,reviewer);
|
||||||
|
list.add(borrow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//所有借阅记录
|
||||||
|
public ArrayList<Borrow> AllBorrow(DBHelper dbHelper){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.rawQuery("select * from borrow order by boid desc",null);
|
||||||
|
ArrayList<Borrow> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String boid = cursor.getString(cursor.getColumnIndex("boid"));
|
||||||
|
String bookid = cursor.getString(cursor.getColumnIndex("bookid"));
|
||||||
|
String botime = cursor.getString(cursor.getColumnIndex("botime"));
|
||||||
|
String userid = cursor.getString(cursor.getColumnIndex("userid"));
|
||||||
|
int bostate = cursor.getInt(cursor.getColumnIndex("bostate"));
|
||||||
|
String backtime = cursor.getString(cursor.getColumnIndex("backtime"));
|
||||||
|
String reviewer = cursor.getString(cursor.getColumnIndex("reviewer"));
|
||||||
|
Borrow borrow = new Borrow(boid,botime,bookid,userid,bostate,backtime,reviewer);
|
||||||
|
list.add(borrow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//还书
|
||||||
|
public void ReturnBook(DBHelper dbHelper,String boid,String backtime,String reviewer){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("bostate",1);
|
||||||
|
values.put("backtime",backtime);
|
||||||
|
values.put("reviewer",reviewer);
|
||||||
|
db.update("borrow",values,"boid=?",new String[]{boid});
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
package com.zhang.bms.control;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
import android.database.sqlite.SQLiteOpenHelper;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
public class DBHelper extends SQLiteOpenHelper {
|
||||||
|
private Context mcontext;
|
||||||
|
private final static String CREATE_USER = "CREATE TABLE user(id INTEGER PRIMARY KEY " +
|
||||||
|
"AUTOINCREMENT,username VARCHAR(20),password VARCHAR(20),passlock VARCHAR(20)" +
|
||||||
|
",passkey VARCHAR(20),role VARCHAR(20),borrowlist VARCHAR(20),collection VARCHAR(20))";
|
||||||
|
private final static String CREATE_BOOK = "CREATE TABLE book(id INTEGER PRIMARY KEY " +
|
||||||
|
"AUTOINCREMENT,ISBN VARCHAR(20),bookname VARCHAR(20),author VARCHAR(20),press VARCHAR(20)" +
|
||||||
|
",publicationtime VARCHAR(20),category VARCHAR(20),synopsis VARCHAR(50),page INTEGER" +
|
||||||
|
",inventory INTEGER)";
|
||||||
|
private final static String CREATE_BORROW = "CREATE TABLE borrow(boid INTEGER PRIMARY KEY " +
|
||||||
|
"AUTOINCREMENT,botime VARCHAR(20),bookid VARCHAR(20),userid VARCHAR(20),bostate INTEGER" +
|
||||||
|
",backtime VARCHAR(20),reviewer VARCHAR(20))";
|
||||||
|
|
||||||
|
public DBHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version){
|
||||||
|
super(context, name, factory, version);
|
||||||
|
this.mcontext = context;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onCreate(SQLiteDatabase db) {
|
||||||
|
db.execSQL(CREATE_USER);
|
||||||
|
db.execSQL(CREATE_BOOK);
|
||||||
|
db.execSQL(CREATE_BORROW);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
|
||||||
|
db.execSQL("drop table if exists user");
|
||||||
|
db.execSQL("drop table if exists book");
|
||||||
|
db.execSQL("drop table if exists borrow");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,229 @@
|
|||||||
|
package com.zhang.bms.control;
|
||||||
|
|
||||||
|
import android.content.ContentValues;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
|
||||||
|
import com.zhang.bms.model.User;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class UserTableHelper {
|
||||||
|
//注册
|
||||||
|
public void Register(DBHelper dbHelper,String username,String password,String passlock,
|
||||||
|
String passkey,String role,String collection){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("username",username);
|
||||||
|
values.put("password",password);
|
||||||
|
values.put("passlock",passlock);
|
||||||
|
values.put("passkey",passkey);
|
||||||
|
values.put("role",role);
|
||||||
|
values.put("collection",collection);
|
||||||
|
db.insert("user",null,values);
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
//检测用户名是否重复
|
||||||
|
public boolean CheckUsername(DBHelper dbHelper,String username){
|
||||||
|
SQLiteDatabase db = dbHelper.getReadableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"username"},"username=?",
|
||||||
|
new String[]{username + ""},null,null,null);
|
||||||
|
int count = cursor.getCount();
|
||||||
|
boolean result;
|
||||||
|
if (count == 0){
|
||||||
|
result = true;
|
||||||
|
}else {
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//登录
|
||||||
|
public boolean Login(DBHelper dbHelper,String username,String password){
|
||||||
|
SQLiteDatabase db = dbHelper.getReadableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"username","password"},
|
||||||
|
"username=? and password=?",new String[]{username + "",password + ""},
|
||||||
|
null,null,null);
|
||||||
|
int count = cursor.getCount();
|
||||||
|
boolean result;
|
||||||
|
if (count != 0){
|
||||||
|
result = true;
|
||||||
|
}else {
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//用户管理列表
|
||||||
|
public ArrayList<User> UserList(DBHelper dbHelper){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"id","username","role"},
|
||||||
|
null,null,null,null,"id desc");
|
||||||
|
ArrayList<User> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String id = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String username = cursor.getString(cursor.getColumnIndex("username"));
|
||||||
|
String role = cursor.getString(cursor.getColumnIndex("role"));
|
||||||
|
User user = new User(id,username,role);
|
||||||
|
list.add(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//用户管理详情页
|
||||||
|
public ArrayList<User> UserDetails(DBHelper dbHelper,String uid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"id","username","passlock","passkey","role"},
|
||||||
|
"id = ?",new String[]{uid + ""},null,null,null);
|
||||||
|
ArrayList<User> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String id = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String username = cursor.getString(cursor.getColumnIndex("username"));
|
||||||
|
String passlock = cursor.getString(cursor.getColumnIndex("passlock"));
|
||||||
|
String passkey = cursor.getString(cursor.getColumnIndex("passkey"));
|
||||||
|
String role = cursor.getString(cursor.getColumnIndex("role"));
|
||||||
|
User user = new User(id,username,passlock,passkey,role);
|
||||||
|
list.add(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//修改用户密码
|
||||||
|
public boolean UpdatePassword(DBHelper dbHelper,String new_password,String uid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("password",new_password);
|
||||||
|
int flag = db.update("user",values,"id=?",new String[]{uid});
|
||||||
|
boolean result;
|
||||||
|
if (flag == -1){
|
||||||
|
result = false;
|
||||||
|
}else {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//删除用户
|
||||||
|
public boolean DeleteUser(DBHelper dbHelper,String id){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
int flag = db.delete("user","id=?",new String[]{id + ""});
|
||||||
|
db.close();
|
||||||
|
boolean result;
|
||||||
|
if (flag == -1){
|
||||||
|
result = false;
|
||||||
|
}else {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//修改用户组
|
||||||
|
public boolean UpdateRole(DBHelper dbHelper,String new_role,String uid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("role",new_role);
|
||||||
|
int flag = db.update("user",values,"id=?",new String[]{uid});
|
||||||
|
boolean result;
|
||||||
|
if (flag == -1){
|
||||||
|
result = false;
|
||||||
|
}else {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//用户登录数据
|
||||||
|
public ArrayList<User> UserList(DBHelper dbHelper,String username){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"id","username","passlock","passkey","role"},
|
||||||
|
"username = ?",new String[]{username + ""},null,null,null);
|
||||||
|
ArrayList<User> list = new ArrayList<>();
|
||||||
|
if (cursor != null && cursor.getCount() > 0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
String id = cursor.getString(cursor.getColumnIndex("id"));
|
||||||
|
String passlock = cursor.getString(cursor.getColumnIndex("passlock"));
|
||||||
|
String passkey = cursor.getString(cursor.getColumnIndex("passkey"));
|
||||||
|
String role = cursor.getString(cursor.getColumnIndex("role"));
|
||||||
|
User user = new User(id,username,passlock,passkey,role);
|
||||||
|
list.add(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//修改密码
|
||||||
|
public boolean ChangePass(DBHelper dbHelper,String username,String newpass){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("password",newpass);
|
||||||
|
int flag = db.update("user",values,"username=?",new String[]{username});
|
||||||
|
boolean result;
|
||||||
|
if (flag == -1){
|
||||||
|
result = false;
|
||||||
|
}else {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//密保验证
|
||||||
|
public boolean PassLock(DBHelper dbHelper,String username,String passlock,String passkey){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"username","passlock","passkey"},
|
||||||
|
"username=? and passlock=? and passkey=?",new String[]{username+"",passlock+"",passkey+""},
|
||||||
|
null,null,null);
|
||||||
|
int count = cursor.getCount();
|
||||||
|
boolean result;
|
||||||
|
if (count != 0){
|
||||||
|
result = true;
|
||||||
|
}else {
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//查询密保问题
|
||||||
|
public String FindPassLock(DBHelper dbHelper,String username){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"passlock"},
|
||||||
|
"username = ?",new String[]{username+""},null,null,null);
|
||||||
|
String passlock = ""+-1;
|
||||||
|
if (cursor != null && cursor.getCount() >0){
|
||||||
|
while (cursor.moveToNext()) {
|
||||||
|
passlock = cursor.getString(cursor.getColumnIndex("passlock"));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
passlock = ""+-1;
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return passlock;
|
||||||
|
}
|
||||||
|
//收藏图书
|
||||||
|
public void CollectBook(DBHelper dbHelper,String uid,String collection){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("collection",collection);
|
||||||
|
db.update("user",values,"id=?",new String[]{uid});
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
//查询已收藏的书
|
||||||
|
public String FindCollectionBooks(DBHelper dbHelper,String uid){
|
||||||
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
||||||
|
Cursor cursor = db.query("user",new String[]{"collection"},
|
||||||
|
"id = ?",new String[]{uid+""},null,null,null);
|
||||||
|
String collections = "";
|
||||||
|
if (cursor !=null && cursor.getCount() >0){
|
||||||
|
while (cursor.moveToNext()){
|
||||||
|
collections = cursor.getString(cursor.getColumnIndex("collection"));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
collections = "";
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
return collections;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,82 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __CONTROL's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace control {
|
||||||
|
class com.zhang.bms.control.BookTableHelper {
|
||||||
|
+ AddBook()
|
||||||
|
+ BookDetails()
|
||||||
|
+ BookGrid()
|
||||||
|
+ BookList()
|
||||||
|
+ BorrowBook()
|
||||||
|
+ DeleteBook()
|
||||||
|
+ FindInventory()
|
||||||
|
+ SearchBook()
|
||||||
|
+ SearchCollection()
|
||||||
|
+ UpdateBook()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace control {
|
||||||
|
class com.zhang.bms.control.BorrowTableHelper {
|
||||||
|
+ AddBorrow()
|
||||||
|
+ AllBorrow()
|
||||||
|
+ ReturnBook()
|
||||||
|
+ ShowBorrow()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace control {
|
||||||
|
class com.zhang.bms.control.DBHelper {
|
||||||
|
{static} - CREATE_BOOK : String
|
||||||
|
{static} - CREATE_BORROW : String
|
||||||
|
{static} - CREATE_USER : String
|
||||||
|
- mcontext : Context
|
||||||
|
+ DBHelper()
|
||||||
|
+ onCreate()
|
||||||
|
+ onUpgrade()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace control {
|
||||||
|
class com.zhang.bms.control.UserTableHelper {
|
||||||
|
+ ChangePass()
|
||||||
|
+ CheckUsername()
|
||||||
|
+ CollectBook()
|
||||||
|
+ DeleteUser()
|
||||||
|
+ FindCollectionBooks()
|
||||||
|
+ FindPassLock()
|
||||||
|
+ Login()
|
||||||
|
+ PassLock()
|
||||||
|
+ Register()
|
||||||
|
+ UpdatePassword()
|
||||||
|
+ UpdateRole()
|
||||||
|
+ UserDetails()
|
||||||
|
+ UserList()
|
||||||
|
+ UserList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
com.zhang.bms.control.DBHelper -up-|> android.database.sqlite.SQLiteOpenHelper
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1,130 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
public class Book {
|
||||||
|
private String id;
|
||||||
|
private String ISBN;
|
||||||
|
private String bookname;
|
||||||
|
private String author;
|
||||||
|
private String press;
|
||||||
|
private String publicationtime;
|
||||||
|
private String category;
|
||||||
|
private String synopsis;
|
||||||
|
private int page;
|
||||||
|
private int inventory;
|
||||||
|
|
||||||
|
public int getPage() {
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPage(int page) {
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getISBN() {
|
||||||
|
return ISBN;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setISBN(String ISBN) {
|
||||||
|
this.ISBN = ISBN;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBookname() {
|
||||||
|
return bookname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBookname(String bookname) {
|
||||||
|
this.bookname = bookname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAuthor() {
|
||||||
|
return author;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAuthor(String author) {
|
||||||
|
this.author = author;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPress() {
|
||||||
|
return press;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPress(String press) {
|
||||||
|
this.press = press;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPublicationtime() {
|
||||||
|
return publicationtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPublicationtime(String publicationtime) {
|
||||||
|
this.publicationtime = publicationtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCategory() {
|
||||||
|
return category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategory(String category) {
|
||||||
|
this.category = category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSynopsis() {
|
||||||
|
return synopsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSynopsis(String synopsis) {
|
||||||
|
this.synopsis = synopsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getinventory() {
|
||||||
|
return inventory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setinventory(int inventory) {
|
||||||
|
this.inventory = inventory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Book(String id, String bookname, String author, String category) {
|
||||||
|
this.id = id;
|
||||||
|
this.bookname = bookname;
|
||||||
|
this.author = author;
|
||||||
|
this.category = category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Book() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Book(String ISBN,String bookname, String author, String press, String publicationtime, String category,
|
||||||
|
String synopsis, int inventory,int page) {
|
||||||
|
this.ISBN = ISBN;
|
||||||
|
this.bookname = bookname;
|
||||||
|
this.author = author;
|
||||||
|
this.press = press;
|
||||||
|
this.publicationtime = publicationtime;
|
||||||
|
this.category = category;
|
||||||
|
this.synopsis = synopsis;
|
||||||
|
this.inventory = inventory;
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Book(String bookname, String author, int inventory) {
|
||||||
|
this.bookname = bookname;
|
||||||
|
this.author = author;
|
||||||
|
this.inventory = inventory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Book(String id, String bookname, String author, int inventory,int version) {
|
||||||
|
this.id = id;
|
||||||
|
this.bookname = bookname;
|
||||||
|
this.author = author;
|
||||||
|
this.inventory = inventory;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.BaseAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
import java.lang.reflect.Array;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BookGridAdapter extends BaseAdapter {
|
||||||
|
private Context mcontext;
|
||||||
|
private ArrayList<Book> mBookList;
|
||||||
|
public BookGridAdapter(Context context,ArrayList<Book> book_list){
|
||||||
|
mcontext = context;
|
||||||
|
mBookList = book_list;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int getCount() {
|
||||||
|
return mBookList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getItem(int position) {
|
||||||
|
return mBookList.get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getItemId(int position) {
|
||||||
|
return position;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
|
ViewHolder holder;
|
||||||
|
if (convertView == null){
|
||||||
|
holder = new ViewHolder();
|
||||||
|
convertView = LayoutInflater.from(mcontext).inflate(R.layout.sq_bookgrid,null);
|
||||||
|
holder.booklist_bookname = convertView.findViewById(R.id.bookname);
|
||||||
|
holder.booklist_author = convertView.findViewById(R.id.author);
|
||||||
|
holder.booklist_inventory = convertView.findViewById(R.id.price);
|
||||||
|
convertView.setTag(holder);
|
||||||
|
}else {
|
||||||
|
holder = (ViewHolder)convertView.getTag();
|
||||||
|
}
|
||||||
|
Book book = mBookList.get(position);
|
||||||
|
holder.booklist_bookname.setText(book.getBookname());
|
||||||
|
holder.booklist_author.setText("主编/作者:" + book.getAuthor());
|
||||||
|
holder.booklist_inventory.setText("馆存:" + book.getinventory()+" 本");
|
||||||
|
return convertView;
|
||||||
|
}
|
||||||
|
public final class ViewHolder {
|
||||||
|
public TextView booklist_bookname;
|
||||||
|
public TextView booklist_author;
|
||||||
|
public TextView booklist_inventory;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.BaseAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BookListAdapter extends BaseAdapter {
|
||||||
|
private Context mcontext;//声明一个上下文对象
|
||||||
|
private ArrayList<Book> mBookList;//声明一个用户信息队列
|
||||||
|
//用户适配器的构造函数,传入上下文与用户队列
|
||||||
|
public BookListAdapter(Context context, ArrayList<Book> book_list){
|
||||||
|
mcontext = context;
|
||||||
|
mBookList = book_list;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int getCount() {
|
||||||
|
return mBookList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getItem(int position) {
|
||||||
|
return mBookList.get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getItemId(int position) {
|
||||||
|
return position;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
|
ViewHolder holder;
|
||||||
|
if (convertView == null){
|
||||||
|
holder = new ViewHolder();
|
||||||
|
convertView = LayoutInflater.from(mcontext).inflate(R.layout.sq_booklist,null);
|
||||||
|
holder.booklist_bookname = convertView.findViewById(R.id.booklist_bookname);
|
||||||
|
holder.booklist_author = convertView.findViewById(R.id.booklist_author);
|
||||||
|
holder.booklist_category = convertView.findViewById(R.id.booklist_category);
|
||||||
|
//将视图持有者保存到转换视图当中
|
||||||
|
convertView.setTag(holder);
|
||||||
|
}else {//转换视图非空
|
||||||
|
//从转换视图中获取之前保存的视图持有者
|
||||||
|
holder = (ViewHolder)convertView.getTag();
|
||||||
|
}
|
||||||
|
Book book = mBookList.get(position);
|
||||||
|
holder.booklist_bookname.setText("《"+book.getBookname()+"》");
|
||||||
|
holder.booklist_author.setText(book.getAuthor());
|
||||||
|
holder.booklist_category.setText(book.getCategory());
|
||||||
|
return convertView;
|
||||||
|
}
|
||||||
|
//定义一个试图持有者,以便重用列表项的试图资源
|
||||||
|
public final class ViewHolder {
|
||||||
|
public TextView booklist_bookname;
|
||||||
|
public TextView booklist_author;
|
||||||
|
public TextView booklist_category;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
public class Borrow {
|
||||||
|
private String boid;
|
||||||
|
private String botime;
|
||||||
|
private String bookid;
|
||||||
|
private String userid;
|
||||||
|
private int bostate;
|
||||||
|
private String backtime;
|
||||||
|
private String reviewer;
|
||||||
|
|
||||||
|
public String getBacktime() {
|
||||||
|
return backtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBacktime(String backtime) {
|
||||||
|
this.backtime = backtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReviewer() {
|
||||||
|
return reviewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReviewer(String reviewer) {
|
||||||
|
this.reviewer = reviewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBoid() {
|
||||||
|
return boid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBoid(String boid) {
|
||||||
|
this.boid = boid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBotime() {
|
||||||
|
return botime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBotime(String botime) {
|
||||||
|
this.botime = botime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBookid() {
|
||||||
|
return bookid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBookid(String bookid) {
|
||||||
|
this.bookid = bookid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserid() {
|
||||||
|
return userid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserid(String userid) {
|
||||||
|
this.userid = userid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBostate() {
|
||||||
|
return bostate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBostate(int bostate) {
|
||||||
|
this.bostate = bostate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Borrow(String botime, String bookid, int bostate,String backtime,String reviewer) {
|
||||||
|
this.botime = botime;
|
||||||
|
this.bookid = bookid;
|
||||||
|
this.bostate = bostate;
|
||||||
|
this.backtime = backtime;
|
||||||
|
this.reviewer = reviewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Borrow() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Borrow(String boid, String botime, String bookid, String userid, int bostate, String backtime, String reviewer) {
|
||||||
|
this.boid = boid;
|
||||||
|
this.botime = botime;
|
||||||
|
this.bookid = bookid;
|
||||||
|
this.userid = userid;
|
||||||
|
this.bostate = bostate;
|
||||||
|
this.backtime = backtime;
|
||||||
|
this.reviewer = reviewer;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,86 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.text.SpannableString;
|
||||||
|
import android.text.Spanned;
|
||||||
|
import android.text.style.ForegroundColorSpan;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.BaseAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BorrowListAdapter extends BaseAdapter {
|
||||||
|
private Context mcontext;
|
||||||
|
private ArrayList<Borrow> mBorrowList;
|
||||||
|
private BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
private ArrayList<Book> bookArrayList;
|
||||||
|
public BorrowListAdapter(Context context,ArrayList<Borrow> borrow_list){
|
||||||
|
mcontext = context;
|
||||||
|
mBorrowList = borrow_list;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int getCount() {
|
||||||
|
return mBorrowList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getItem(int position) {
|
||||||
|
return mBorrowList.get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getItemId(int position) {
|
||||||
|
return position;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
|
ViewHolder holder;
|
||||||
|
if (convertView == null){
|
||||||
|
holder = new ViewHolder();
|
||||||
|
convertView = LayoutInflater.from(mcontext).inflate(R.layout.borrowlist,null);
|
||||||
|
holder.borrow_bookname = convertView.findViewById(R.id.borrow_bookname);
|
||||||
|
holder.borrow_time = convertView.findViewById(R.id.borrow_time);
|
||||||
|
holder.borrow_state = convertView.findViewById(R.id.borrow_state);
|
||||||
|
holder.backtime = convertView.findViewById(R.id.backtime);
|
||||||
|
holder.reviewer = convertView.findViewById(R.id.reviewer);
|
||||||
|
convertView.setTag(holder);
|
||||||
|
}else {
|
||||||
|
holder = (ViewHolder)convertView.getTag();
|
||||||
|
}
|
||||||
|
final DBHelper dbHelper= new DBHelper(mcontext,"bms",null,1);
|
||||||
|
Borrow borrow = mBorrowList.get(position);
|
||||||
|
String bid = borrow.getBookid();
|
||||||
|
bookArrayList = bookTableHelper.BookDetails(dbHelper,bid);
|
||||||
|
holder.borrow_bookname.setText(bookArrayList.get(0).getBookname());
|
||||||
|
holder.borrow_time.setText("借阅日期:" + borrow.getBotime());
|
||||||
|
if (borrow.getBostate() == 0){
|
||||||
|
String needreturn = "未还";
|
||||||
|
holder.borrow_state.setText(needreturn);
|
||||||
|
holder.backtime.setText("还书日期:--");
|
||||||
|
holder.reviewer.setText("审核人:--");
|
||||||
|
}else {
|
||||||
|
String needreturn = "已还";
|
||||||
|
SpannableString spannableString = new SpannableString(needreturn);
|
||||||
|
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#404146")),0,spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
holder.borrow_state.setText(spannableString);
|
||||||
|
holder.backtime.setText("还书日期:"+borrow.getBacktime());
|
||||||
|
holder.reviewer.setText("审核人:"+borrow.getReviewer());
|
||||||
|
}
|
||||||
|
return convertView;
|
||||||
|
}
|
||||||
|
public final class ViewHolder{
|
||||||
|
public TextView borrow_bookname;
|
||||||
|
public TextView borrow_time;
|
||||||
|
public TextView borrow_state;
|
||||||
|
public TextView backtime;
|
||||||
|
public TextView reviewer;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,57 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
public class CustomEditTextDialog extends Dialog {
|
||||||
|
Context mContext;
|
||||||
|
private TextView btnSure;
|
||||||
|
private TextView btnCancle;
|
||||||
|
private TextView title;
|
||||||
|
private EditText editText;
|
||||||
|
|
||||||
|
public CustomEditTextDialog(@NonNull Context context) {
|
||||||
|
super(context, R.style.Dialog_Msg);
|
||||||
|
this.mContext = context;
|
||||||
|
initView();
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化
|
||||||
|
public void initView() {
|
||||||
|
View view = LayoutInflater.from(mContext).inflate(R.layout.edit_dialog, null);
|
||||||
|
title = (TextView) view.findViewById(R.id.title);
|
||||||
|
editText = (EditText) view.findViewById(R.id.edittext);
|
||||||
|
btnSure = (TextView) view.findViewById(R.id.dialog_confirm_sure);
|
||||||
|
btnCancle = (TextView) view.findViewById(R.id.dialog_confirm_cancle);
|
||||||
|
super.setContentView(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public CustomEditTextDialog setTile(String s) {
|
||||||
|
title.setText(s);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取当前输入框对象
|
||||||
|
public View getEditText() {
|
||||||
|
return editText;
|
||||||
|
}
|
||||||
|
|
||||||
|
//确定键监听器
|
||||||
|
public void setOnSureListener(View.OnClickListener listener) {
|
||||||
|
btnSure.setOnClickListener(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
//取消键监听器
|
||||||
|
public void setOnCanlceListener(View.OnClickListener listener) {
|
||||||
|
btnCancle.setOnClickListener(listener);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
public class CustomSpinnerDialog extends Dialog {
|
||||||
|
Context mContext;
|
||||||
|
private TextView btnSure;
|
||||||
|
private TextView btnCancle;
|
||||||
|
private TextView title;
|
||||||
|
private Spinner spinner;
|
||||||
|
|
||||||
|
public CustomSpinnerDialog(@NonNull Context context) {
|
||||||
|
super(context, R.style.Dialog_Msg);
|
||||||
|
this.mContext = context;
|
||||||
|
initView();
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化
|
||||||
|
public void initView() {
|
||||||
|
View view = LayoutInflater.from(mContext).inflate(R.layout.spinner_dialog, null);
|
||||||
|
title = (TextView) view.findViewById(R.id.title);
|
||||||
|
spinner = (Spinner) view.findViewById(R.id.spinner);
|
||||||
|
btnSure = (TextView) view.findViewById(R.id.dialog_confirm_sure);
|
||||||
|
btnCancle = (TextView) view.findViewById(R.id.dialog_confirm_cancle);
|
||||||
|
super.setContentView(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public CustomSpinnerDialog setTile(String s) {
|
||||||
|
title.setText(s);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取当前输入框对象
|
||||||
|
public View getSpinnerItem() {
|
||||||
|
return spinner;
|
||||||
|
}
|
||||||
|
|
||||||
|
//确定键监听器
|
||||||
|
public void setOnSureListener(View.OnClickListener listener) {
|
||||||
|
btnSure.setOnClickListener(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
//取消键监听器
|
||||||
|
public void setOnCanlceListener(View.OnClickListener listener) {
|
||||||
|
btnCancle.setOnClickListener(listener);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
public class GetTime {
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
int year = c.get(Calendar.YEAR);
|
||||||
|
int month = c.get(Calendar.MONTH) + 1;
|
||||||
|
int date = c.get(Calendar.DATE);
|
||||||
|
int hour = c.get(Calendar.HOUR_OF_DAY);
|
||||||
|
int minute = c.get(Calendar.MINUTE);
|
||||||
|
int second = c.get(Calendar.SECOND);
|
||||||
|
String time;
|
||||||
|
public String BorrowTime(){
|
||||||
|
return time = year+"-"+month+"-"+date;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
public class SqTipsDialog extends Dialog {
|
||||||
|
Context mContext;
|
||||||
|
private TextView btnSure;
|
||||||
|
private TextView btnCancle;
|
||||||
|
private TextView title;
|
||||||
|
private TextView tips;
|
||||||
|
|
||||||
|
public SqTipsDialog(@NonNull Context context) {
|
||||||
|
super(context, R.style.Dialog_Msg);
|
||||||
|
this.mContext = context;
|
||||||
|
initView();
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化
|
||||||
|
public void initView() {
|
||||||
|
View view = LayoutInflater.from(mContext).inflate(R.layout.sq_dialog_tips, null);
|
||||||
|
title = (TextView) view.findViewById(R.id.title);
|
||||||
|
tips = (TextView) view.findViewById(R.id.tips);
|
||||||
|
btnSure = (TextView) view.findViewById(R.id.dialog_confirm_sure);
|
||||||
|
btnCancle = (TextView) view.findViewById(R.id.dialog_confirm_cancle);
|
||||||
|
super.setContentView(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SqTipsDialog setSurebtnVisible(boolean b){
|
||||||
|
if (b == false){
|
||||||
|
btnSure.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SqTipsDialog setCancelbtnVisible(boolean b){
|
||||||
|
if (b == false){
|
||||||
|
btnCancle.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SqTipsDialog setTile(String s) {
|
||||||
|
title.setText(s);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public SqTipsDialog setMsg(String s) {
|
||||||
|
tips.setText(s);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//确定键监听器
|
||||||
|
public void setOnSureListener(View.OnClickListener listener) {
|
||||||
|
btnSure.setOnClickListener(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
//取消键监听器
|
||||||
|
public void setOnCanlceListener(View.OnClickListener listener) {
|
||||||
|
btnCancle.setOnClickListener(listener);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
public class StringTrans {
|
||||||
|
String temp1 = null;
|
||||||
|
String temp2 = null;
|
||||||
|
public String StringTrans(String o_str){
|
||||||
|
if (o_str.contains("//")){
|
||||||
|
temp1 = o_str.replace("//",",");
|
||||||
|
}else {
|
||||||
|
temp1 = o_str;
|
||||||
|
}
|
||||||
|
temp2 = temp1.replace("/","");
|
||||||
|
return temp2;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
public class User {
|
||||||
|
private String id;
|
||||||
|
private String username;
|
||||||
|
private String password;
|
||||||
|
private String passlock;
|
||||||
|
private String passkey;
|
||||||
|
private String role;
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUsername() {
|
||||||
|
return username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsername(String username) {
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPasslock() {
|
||||||
|
return passlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPasslock(String passlock) {
|
||||||
|
this.passlock = passlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPasskey() {
|
||||||
|
return passkey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPasskey(String passkey) {
|
||||||
|
this.passkey = passkey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRole() {
|
||||||
|
return role;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRole(String role) {
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
|
||||||
|
public User(String id, String username, String password, String passlock, String passkey, String role) {
|
||||||
|
this.id = id;
|
||||||
|
this.username = username;
|
||||||
|
this.password = password;
|
||||||
|
this.passlock = passlock;
|
||||||
|
this.passkey = passkey;
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
public User(String id, String username, String password,String role) {
|
||||||
|
this.id = id;
|
||||||
|
this.username = username;
|
||||||
|
this.password = password;
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
public User(String id, String username,String role) {
|
||||||
|
this.id = id;
|
||||||
|
this.username = username;
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
public User(String id, String username, String passlock, String passkey, String role) {
|
||||||
|
this.id = id;
|
||||||
|
this.username = username;
|
||||||
|
this.passlock = passlock;
|
||||||
|
this.passkey = passkey;
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.BaseAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class UserListAdapter extends BaseAdapter {
|
||||||
|
private Context mcontext;//声明一个上下文对象
|
||||||
|
private ArrayList<User> mUserList;//声明一个用户信息队列
|
||||||
|
//用户适配器的构造函数,传入上下文与用户队列
|
||||||
|
public UserListAdapter(Context context,ArrayList<User> user_list){
|
||||||
|
mcontext = context;
|
||||||
|
mUserList = user_list;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int getCount() {
|
||||||
|
return mUserList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getItem(int position) {
|
||||||
|
return mUserList.get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getItemId(int position) {
|
||||||
|
return position;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
|
ViewHolder holder;
|
||||||
|
if (convertView == null){
|
||||||
|
holder = new ViewHolder();
|
||||||
|
convertView = LayoutInflater.from(mcontext).inflate(R.layout.sq_userlist,null);
|
||||||
|
holder.userlist_id = convertView.findViewById(R.id.userlist_id);
|
||||||
|
holder.userlist_username = convertView.findViewById(R.id.userlist_username);
|
||||||
|
holder.userlist_role = convertView.findViewById(R.id.userlist_role);
|
||||||
|
//将视图持有者保存到转换视图当中
|
||||||
|
convertView.setTag(holder);
|
||||||
|
}else {//转换视图非空
|
||||||
|
//从转换视图中获取之前保存的视图持有者
|
||||||
|
holder = (ViewHolder)convertView.getTag();
|
||||||
|
}
|
||||||
|
User user = mUserList.get(position);
|
||||||
|
holder.userlist_id.setText(user.getId());
|
||||||
|
holder.userlist_username.setText(user.getUsername());
|
||||||
|
holder.userlist_role.setText(user.getRole());
|
||||||
|
return convertView;
|
||||||
|
}
|
||||||
|
//定义一个试图持有者,以便重用列表项的试图资源
|
||||||
|
public final class ViewHolder {
|
||||||
|
public TextView userlist_id;
|
||||||
|
public TextView userlist_username;
|
||||||
|
public TextView userlist_role;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,323 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __MODEL's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.Book {
|
||||||
|
- ISBN : String
|
||||||
|
- author : String
|
||||||
|
- bookname : String
|
||||||
|
- category : String
|
||||||
|
- id : String
|
||||||
|
- inventory : int
|
||||||
|
- page : int
|
||||||
|
- press : String
|
||||||
|
- publicationtime : String
|
||||||
|
- synopsis : String
|
||||||
|
+ Book()
|
||||||
|
+ Book()
|
||||||
|
+ Book()
|
||||||
|
+ Book()
|
||||||
|
+ Book()
|
||||||
|
+ getAuthor()
|
||||||
|
+ getBookname()
|
||||||
|
+ getCategory()
|
||||||
|
+ getISBN()
|
||||||
|
+ getId()
|
||||||
|
+ getPage()
|
||||||
|
+ getPress()
|
||||||
|
+ getPublicationtime()
|
||||||
|
+ getSynopsis()
|
||||||
|
+ getinventory()
|
||||||
|
+ setAuthor()
|
||||||
|
+ setBookname()
|
||||||
|
+ setCategory()
|
||||||
|
+ setISBN()
|
||||||
|
+ setId()
|
||||||
|
+ setPage()
|
||||||
|
+ setPress()
|
||||||
|
+ setPublicationtime()
|
||||||
|
+ setSynopsis()
|
||||||
|
+ setinventory()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.BookGridAdapter {
|
||||||
|
- mBookList : ArrayList<Book>
|
||||||
|
- mcontext : Context
|
||||||
|
+ BookGridAdapter()
|
||||||
|
+ getCount()
|
||||||
|
+ getItem()
|
||||||
|
+ getItemId()
|
||||||
|
+ getView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.BookListAdapter {
|
||||||
|
- mBookList : ArrayList<Book>
|
||||||
|
- mcontext : Context
|
||||||
|
+ BookListAdapter()
|
||||||
|
+ getCount()
|
||||||
|
+ getItem()
|
||||||
|
+ getItemId()
|
||||||
|
+ getView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.Borrow {
|
||||||
|
- backtime : String
|
||||||
|
- boid : String
|
||||||
|
- bookid : String
|
||||||
|
- bostate : int
|
||||||
|
- botime : String
|
||||||
|
- reviewer : String
|
||||||
|
- userid : String
|
||||||
|
+ Borrow()
|
||||||
|
+ Borrow()
|
||||||
|
+ Borrow()
|
||||||
|
+ getBacktime()
|
||||||
|
+ getBoid()
|
||||||
|
+ getBookid()
|
||||||
|
+ getBostate()
|
||||||
|
+ getBotime()
|
||||||
|
+ getReviewer()
|
||||||
|
+ getUserid()
|
||||||
|
+ setBacktime()
|
||||||
|
+ setBoid()
|
||||||
|
+ setBookid()
|
||||||
|
+ setBostate()
|
||||||
|
+ setBotime()
|
||||||
|
+ setReviewer()
|
||||||
|
+ setUserid()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.BorrowListAdapter {
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- mBorrowList : ArrayList<Borrow>
|
||||||
|
- mcontext : Context
|
||||||
|
+ BorrowListAdapter()
|
||||||
|
+ getCount()
|
||||||
|
+ getItem()
|
||||||
|
+ getItemId()
|
||||||
|
+ getView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.BorrowManageListAdapter {
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- mBorrowList : ArrayList<Borrow>
|
||||||
|
- mcontext : Context
|
||||||
|
+ BorrowManageListAdapter()
|
||||||
|
+ getCount()
|
||||||
|
+ getItem()
|
||||||
|
+ getItemId()
|
||||||
|
+ getView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.CustomEditTextDialog {
|
||||||
|
~ mContext : Context
|
||||||
|
- btnCancle : TextView
|
||||||
|
- btnSure : TextView
|
||||||
|
- editText : EditText
|
||||||
|
- title : TextView
|
||||||
|
+ CustomEditTextDialog()
|
||||||
|
+ getEditText()
|
||||||
|
+ initView()
|
||||||
|
+ setOnCanlceListener()
|
||||||
|
+ setOnSureListener()
|
||||||
|
+ setTile()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.CustomSpinnerDialog {
|
||||||
|
~ mContext : Context
|
||||||
|
- btnCancle : TextView
|
||||||
|
- btnSure : TextView
|
||||||
|
- spinner : Spinner
|
||||||
|
- title : TextView
|
||||||
|
+ CustomSpinnerDialog()
|
||||||
|
+ getSpinnerItem()
|
||||||
|
+ initView()
|
||||||
|
+ setOnCanlceListener()
|
||||||
|
+ setOnSureListener()
|
||||||
|
+ setTile()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.GetTime {
|
||||||
|
~ c : Calendar
|
||||||
|
~ date : int
|
||||||
|
~ hour : int
|
||||||
|
~ minute : int
|
||||||
|
~ month : int
|
||||||
|
~ second : int
|
||||||
|
~ time : String
|
||||||
|
~ year : int
|
||||||
|
+ BorrowTime()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.SqTipsDialog {
|
||||||
|
~ mContext : Context
|
||||||
|
- btnCancle : TextView
|
||||||
|
- btnSure : TextView
|
||||||
|
- tips : TextView
|
||||||
|
- title : TextView
|
||||||
|
+ SqTipsDialog()
|
||||||
|
+ initView()
|
||||||
|
+ setCancelbtnVisible()
|
||||||
|
+ setMsg()
|
||||||
|
+ setOnCanlceListener()
|
||||||
|
+ setOnSureListener()
|
||||||
|
+ setSurebtnVisible()
|
||||||
|
+ setTile()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.StringTrans {
|
||||||
|
~ temp1 : String
|
||||||
|
~ temp2 : String
|
||||||
|
+ StringTrans()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.User {
|
||||||
|
- id : String
|
||||||
|
- passkey : String
|
||||||
|
- passlock : String
|
||||||
|
- password : String
|
||||||
|
- role : String
|
||||||
|
- username : String
|
||||||
|
+ User()
|
||||||
|
+ User()
|
||||||
|
+ User()
|
||||||
|
+ User()
|
||||||
|
+ getId()
|
||||||
|
+ getPasskey()
|
||||||
|
+ getPasslock()
|
||||||
|
+ getPassword()
|
||||||
|
+ getRole()
|
||||||
|
+ getUsername()
|
||||||
|
+ setId()
|
||||||
|
+ setPasskey()
|
||||||
|
+ setPasslock()
|
||||||
|
+ setPassword()
|
||||||
|
+ setRole()
|
||||||
|
+ setUsername()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.UserListAdapter {
|
||||||
|
- mUserList : ArrayList<User>
|
||||||
|
- mcontext : Context
|
||||||
|
+ UserListAdapter()
|
||||||
|
+ getCount()
|
||||||
|
+ getItem()
|
||||||
|
+ getItemId()
|
||||||
|
+ getView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace model {
|
||||||
|
class com.zhang.bms.model.simpleArrayAdapter {
|
||||||
|
+ getCount()
|
||||||
|
+ simpleArrayAdapter()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
com.zhang.bms.model.BookGridAdapter -up-|> android.widget.BaseAdapter
|
||||||
|
com.zhang.bms.model.BookGridAdapter +-down- com.zhang.bms.model.BookGridAdapter.ViewHolder
|
||||||
|
com.zhang.bms.model.BookListAdapter -up-|> android.widget.BaseAdapter
|
||||||
|
com.zhang.bms.model.BookListAdapter +-down- com.zhang.bms.model.BookListAdapter.ViewHolder
|
||||||
|
com.zhang.bms.model.BorrowListAdapter -up-|> android.widget.BaseAdapter
|
||||||
|
com.zhang.bms.model.BorrowListAdapter o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.model.BorrowListAdapter +-down- com.zhang.bms.model.BorrowListAdapter.ViewHolder
|
||||||
|
com.zhang.bms.model.BorrowManageListAdapter -up-|> android.widget.BaseAdapter
|
||||||
|
com.zhang.bms.model.BorrowManageListAdapter o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.model.BorrowManageListAdapter +-down- com.zhang.bms.model.BorrowManageListAdapter.ViewHolder
|
||||||
|
com.zhang.bms.model.CustomEditTextDialog -up-|> android.app.Dialog
|
||||||
|
com.zhang.bms.model.CustomSpinnerDialog -up-|> android.app.Dialog
|
||||||
|
com.zhang.bms.model.SqTipsDialog -up-|> android.app.Dialog
|
||||||
|
com.zhang.bms.model.UserListAdapter -up-|> android.widget.BaseAdapter
|
||||||
|
com.zhang.bms.model.UserListAdapter +-down- com.zhang.bms.model.UserListAdapter.ViewHolder
|
||||||
|
com.zhang.bms.model.simpleArrayAdapter -up-|> android.widget.ArrayAdapter
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.zhang.bms.model;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class simpleArrayAdapter<T> extends ArrayAdapter {
|
||||||
|
//构造方法
|
||||||
|
public simpleArrayAdapter(Context context, int resource, List<T> objects) {
|
||||||
|
super(context, resource, objects);
|
||||||
|
}
|
||||||
|
//复写这个方法,使返回的数据没有最后一项
|
||||||
|
@Override
|
||||||
|
public int getCount() {
|
||||||
|
// don't display last item. It is used as hint.
|
||||||
|
int count = super.getCount();
|
||||||
|
return count > 0 ? count - 1 : count;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,128 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class AddBookActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView back;
|
||||||
|
private Button add;
|
||||||
|
private EditText ISBN;
|
||||||
|
private EditText bookname;
|
||||||
|
private EditText author;
|
||||||
|
private EditText press;
|
||||||
|
private EditText publicationtime;
|
||||||
|
private Spinner category;
|
||||||
|
private EditText synopsis;
|
||||||
|
private EditText inventory;
|
||||||
|
private EditText page;
|
||||||
|
final DBHelper dbHelper= new DBHelper(AddBookActivity.this,"bms",null,1);
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_add_book);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
add = findViewById(R.id.addbook_btn_add);
|
||||||
|
add.setOnClickListener(this);
|
||||||
|
ISBN = findViewById(R.id.addbook_ISBN);
|
||||||
|
bookname = findViewById(R.id.addbook_bookname);
|
||||||
|
author = findViewById(R.id.addbook_author);
|
||||||
|
press = findViewById(R.id.addbook_press);
|
||||||
|
publicationtime = findViewById(R.id.addbook_publicationtime);
|
||||||
|
category = findViewById(R.id.addbook_category);
|
||||||
|
synopsis = findViewById(R.id.addbook_synopsis);
|
||||||
|
inventory = findViewById(R.id.addbook_price);
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
page = findViewById(R.id.addbook_page);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.addbook_btn_add:
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setTitle("提示");
|
||||||
|
sqTipsDialog.setCancelbtnVisible(false);
|
||||||
|
String str_ISBN = ISBN.getText().toString();
|
||||||
|
String str_bookname = bookname.getText().toString();
|
||||||
|
String str_author = author.getText().toString();
|
||||||
|
String str_press = press.getText().toString();
|
||||||
|
String str_publicationtime = publicationtime.getText().toString();
|
||||||
|
String str_category = category.getSelectedItem().toString();
|
||||||
|
String str_synopsis = synopsis.getText().toString();
|
||||||
|
int str_inventory = Integer.parseInt(inventory.getText().toString());
|
||||||
|
int str_page = Integer.parseInt(page.getText().toString());
|
||||||
|
if (!str_bookname.isEmpty() && !str_author.isEmpty() && !str_press.isEmpty() &&
|
||||||
|
!str_publicationtime.isEmpty() && !str_category.isEmpty() && !str_synopsis.isEmpty() &&
|
||||||
|
!inventory.getText().toString().isEmpty() && !page.getText().toString().isEmpty()){
|
||||||
|
Book book = new Book();
|
||||||
|
book.setISBN(str_ISBN);
|
||||||
|
book.setBookname(str_bookname);
|
||||||
|
book.setAuthor(str_author);
|
||||||
|
book.setPress(str_press);
|
||||||
|
book.setPublicationtime(str_publicationtime);
|
||||||
|
book.setCategory(str_category);
|
||||||
|
book.setSynopsis(str_synopsis);
|
||||||
|
book.setinventory(str_inventory);
|
||||||
|
book.setPage(str_page);
|
||||||
|
BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
boolean AddFlag = bookTableHelper.AddBook(dbHelper,book);
|
||||||
|
if (AddFlag == true){
|
||||||
|
sqTipsDialog.setMsg("插入成功!");
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
Intent back = new Intent(AddBookActivity.this,ManageIndexActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("插入失败!");
|
||||||
|
sqTipsDialog.setSurebtnVisible(false);
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("图书信息不完整!");
|
||||||
|
sqTipsDialog.setSurebtnVisible(false);
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent = new Intent(AddBookActivity.this,BookManageActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(AddBookActivity.this,BookManageActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,175 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.BorrowTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.Borrow;
|
||||||
|
import com.zhang.bms.model.GetTime;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BookActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private TextView page;
|
||||||
|
private TextView bookname;
|
||||||
|
private TextView author;
|
||||||
|
private TextView category;
|
||||||
|
private TextView inventory;
|
||||||
|
private TextView synopsis;
|
||||||
|
private TextView press;
|
||||||
|
private TextView publicationtime;
|
||||||
|
private ImageView back;
|
||||||
|
private Button collect;
|
||||||
|
private Button collected;
|
||||||
|
private Button borrow;
|
||||||
|
private Button borrownull;
|
||||||
|
private String bid;
|
||||||
|
private String uid;
|
||||||
|
private String collections;
|
||||||
|
final DBHelper dbHelper= new DBHelper(this,"bms",null,1);
|
||||||
|
BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
BorrowTableHelper borrowTableHelper = new BorrowTableHelper();
|
||||||
|
private ArrayList<Book> bookArrayList;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_book);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
uid = sharedPreferences.getString("uid","-1");
|
||||||
|
Intent intent = getIntent();
|
||||||
|
bid = intent.getStringExtra("bid");
|
||||||
|
|
||||||
|
collections = userTableHelper.FindCollectionBooks(dbHelper,uid);
|
||||||
|
if (collections.contains("/"+bid+"/")){
|
||||||
|
collect.setVisibility(View.GONE);
|
||||||
|
collected.setVisibility(View.VISIBLE);
|
||||||
|
}else {
|
||||||
|
collected.setVisibility(View.GONE);
|
||||||
|
collect.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
bookArrayList = bookTableHelper.BookDetails(dbHelper,bid);
|
||||||
|
bookname.setText(bookArrayList.get(0).getBookname());
|
||||||
|
author.setText(bookArrayList.get(0).getAuthor());
|
||||||
|
category.setText(bookArrayList.get(0).getCategory());
|
||||||
|
inventory.setText("馆存:"+bookArrayList.get(0).getinventory()+"");
|
||||||
|
synopsis.setText("\t\t\t\t" + bookArrayList.get(0).getSynopsis());
|
||||||
|
press.setText(bookArrayList.get(0).getPress());
|
||||||
|
publicationtime.setText(bookArrayList.get(0).getPublicationtime());
|
||||||
|
page.setText(bookArrayList.get(0).getPage()+" 页");
|
||||||
|
if (bookArrayList.get(0).getinventory() != (0)){
|
||||||
|
borrow.setVisibility(View.VISIBLE);
|
||||||
|
borrownull.setVisibility(View.GONE);
|
||||||
|
}else {
|
||||||
|
borrownull.setVisibility(View.VISIBLE);
|
||||||
|
borrow.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
bookname = findViewById(R.id.book_bookname);
|
||||||
|
author = findViewById(R.id.book_author);
|
||||||
|
category = findViewById(R.id.book_category);
|
||||||
|
inventory = findViewById(R.id.book_price);
|
||||||
|
synopsis = findViewById(R.id.book_synopsis);
|
||||||
|
press = findViewById(R.id.book_press);
|
||||||
|
publicationtime = findViewById(R.id.book_publicationtime);
|
||||||
|
page = findViewById(R.id.book_page);
|
||||||
|
collect = findViewById(R.id.collect);
|
||||||
|
collect.setOnClickListener(this);
|
||||||
|
collected = findViewById(R.id.collected);
|
||||||
|
collected.setOnClickListener(this);
|
||||||
|
borrow = findViewById(R.id.borrow);
|
||||||
|
borrow.setOnClickListener(this);
|
||||||
|
borrownull = findViewById(R.id.borrownull);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.borrow:
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setTile("提示").setMsg("是否确定借阅此书。书本借阅后需在一个月之内归还。")
|
||||||
|
.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
int new_inventory = bookArrayList.get(0).getinventory() - 1;
|
||||||
|
bookTableHelper.BorrowBook(dbHelper,bid,new_inventory);
|
||||||
|
Borrow borrow = new Borrow();
|
||||||
|
borrow.setBookid(bid);
|
||||||
|
borrow.setUserid(uid);
|
||||||
|
borrow.setBostate(0);
|
||||||
|
GetTime getTime = new GetTime();
|
||||||
|
borrow.setBotime(getTime.BorrowTime());
|
||||||
|
borrowTableHelper.AddBorrow(dbHelper,borrow);
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
Intent intent = new Intent(BookActivity.this,BorrowSuccessActivity.class);
|
||||||
|
intent.putExtra("bid",bid);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.show();
|
||||||
|
break;
|
||||||
|
case R.id.collected:
|
||||||
|
String uncollection = "/"+bid+"/";
|
||||||
|
String new_collection = collections.replace(uncollection,"");
|
||||||
|
userTableHelper.CollectBook(dbHelper,uid,new_collection);
|
||||||
|
collected.setVisibility(View.GONE);
|
||||||
|
collect.setVisibility(View.VISIBLE);
|
||||||
|
Toast.makeText(BookActivity.this,"取消收藏成功",Toast.LENGTH_SHORT).show();
|
||||||
|
break;
|
||||||
|
case R.id.collect:
|
||||||
|
String collection = "/"+bid+"/";
|
||||||
|
userTableHelper.CollectBook(dbHelper,uid,collections+collection);
|
||||||
|
collect.setVisibility(View.GONE);
|
||||||
|
collected.setVisibility(View.VISIBLE);
|
||||||
|
Toast.makeText(BookActivity.this,"收藏成功",Toast.LENGTH_SHORT).show();
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Back();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void Back(){
|
||||||
|
Intent intent = getIntent();
|
||||||
|
String code = intent.getStringExtra("startActivityCode");
|
||||||
|
if (code.equals("favorite")){
|
||||||
|
Intent back = new Intent(this,FavoriteActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
}else {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Back();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,101 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.ListView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.BookListAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BookManageActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private LinearLayout back;
|
||||||
|
private LinearLayout um;
|
||||||
|
private LinearLayout bom;
|
||||||
|
private ArrayList<Book> booklist;
|
||||||
|
private ListView listView;
|
||||||
|
private ImageView add;
|
||||||
|
final DBHelper dbHelper= new DBHelper(BookManageActivity.this,"bms",null,1);
|
||||||
|
private BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_book_manage);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
InitBookList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void InitView(){
|
||||||
|
listView = findViewById(R.id.booklist_listview);
|
||||||
|
add = findViewById(R.id.btn_addbook);
|
||||||
|
add.setOnClickListener(this);
|
||||||
|
back = findViewById(R.id.back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
um = findViewById(R.id.goto_um);
|
||||||
|
um.setOnClickListener(this);
|
||||||
|
bom = findViewById(R.id.goto_bom);
|
||||||
|
bom.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitBookList(){
|
||||||
|
booklist = bookTableHelper.BookList(dbHelper);
|
||||||
|
BookListAdapter adapter = new BookListAdapter(this,booklist);
|
||||||
|
ListView book = findViewById(R.id.booklist_listview);
|
||||||
|
book.setAdapter(adapter);
|
||||||
|
book.setOnItemClickListener(new BookOnClickListener());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.goto_bom:
|
||||||
|
Intent goto_bom = new Intent(this,BorrowManageActivity.class);
|
||||||
|
startActivity(goto_bom);
|
||||||
|
break;
|
||||||
|
case R.id.goto_um:
|
||||||
|
Intent goto_um = new Intent(this,UserManageActivity.class);
|
||||||
|
startActivity(goto_um);
|
||||||
|
break;
|
||||||
|
case R.id.back:
|
||||||
|
Intent back = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
break;
|
||||||
|
case R.id.btn_addbook:
|
||||||
|
Intent goto_ABA = new Intent(BookManageActivity.this,AddBookActivity.class);
|
||||||
|
startActivity(goto_ABA);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class BookOnClickListener implements AdapterView.OnItemClickListener{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
String bid = booklist.get(position).getId();
|
||||||
|
Intent intent = new Intent(BookManageActivity.this,ManageBookDetailsActivity.class);
|
||||||
|
intent.putExtra("bid",bid);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
// super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent goto_MIA = new Intent(BookManageActivity.this,ManageIndexActivity.class);
|
||||||
|
startActivity(goto_MIA);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,121 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.ListView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.BorrowTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.model.Borrow;
|
||||||
|
import com.zhang.bms.model.BorrowListAdapter;
|
||||||
|
import com.zhang.bms.model.BorrowManageListAdapter;
|
||||||
|
import com.zhang.bms.model.GetTime;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class BorrowManageActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ListView list;
|
||||||
|
private LinearLayout back;
|
||||||
|
private LinearLayout um;
|
||||||
|
private LinearLayout bm;
|
||||||
|
final DBHelper dbHelper= new DBHelper(this,"bms",null,1);
|
||||||
|
private BorrowTableHelper borrowTableHelper = new BorrowTableHelper();
|
||||||
|
private BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
private ArrayList<Borrow> arrayList;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_borrow_manage);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
InitList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
list = findViewById(R.id.borrowmanage_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitList(){
|
||||||
|
arrayList = borrowTableHelper.AllBorrow(dbHelper);
|
||||||
|
BorrowManageListAdapter adapter = new BorrowManageListAdapter(this,arrayList);
|
||||||
|
ListView book = findViewById(R.id.borrowmanage_list);
|
||||||
|
book.setAdapter(adapter);
|
||||||
|
book.setOnItemClickListener(new BackBook());
|
||||||
|
back = findViewById(R.id.back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
um = findViewById(R.id.goto_um);
|
||||||
|
um.setOnClickListener(this);
|
||||||
|
bm = findViewById(R.id.goto_bm);
|
||||||
|
bm.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
private class BackBook implements AdapterView.OnItemClickListener{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
final String boid = arrayList.get(position).getBoid();
|
||||||
|
final String bid = arrayList.get(position).getBookid();
|
||||||
|
int state = arrayList.get(position).getBostate();
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(BorrowManageActivity.this);
|
||||||
|
if (state == 0){
|
||||||
|
sqTipsDialog.setTile("提示").setMsg("请确认用户是否还书。")
|
||||||
|
.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
String reviewer = sharedPreferences.getString("username","-1");
|
||||||
|
GetTime getTime = new GetTime();
|
||||||
|
String backtime = getTime.BorrowTime();
|
||||||
|
borrowTableHelper.ReturnBook(dbHelper,boid,backtime,reviewer);
|
||||||
|
int inventory = bookTableHelper.FindInventory(dbHelper,bid) + 1;
|
||||||
|
bookTableHelper.BorrowBook(dbHelper,bid,inventory);
|
||||||
|
Intent intent = new Intent(BorrowManageActivity.this,ReturnSuccessActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.back:
|
||||||
|
Intent back = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
break;
|
||||||
|
case R.id.goto_um:
|
||||||
|
Intent goto_um = new Intent(this,UserManageActivity.class);
|
||||||
|
startActivity(goto_um);
|
||||||
|
break;
|
||||||
|
case R.id.goto_bm:
|
||||||
|
Intent goto_bm = new Intent(this,BookManageActivity.class);
|
||||||
|
startActivity(goto_bm);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
//super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(this,ManageIndexActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
public class BorrowSuccessActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private String bid;
|
||||||
|
private String code;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_borrow_success);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
Intent intent = getIntent();
|
||||||
|
bid = intent.getStringExtra("bid");
|
||||||
|
code = intent.getStringExtra("startActivityCode");
|
||||||
|
InitView();
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(this,ShowBooksActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,104 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
|
||||||
|
public class ChangePasswordActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView back;
|
||||||
|
private Button commit;
|
||||||
|
private EditText original_pass;
|
||||||
|
private EditText new_pass;
|
||||||
|
private EditText new_pass2;
|
||||||
|
private TextView forget;
|
||||||
|
final DBHelper dbHelper = new DBHelper(ChangePasswordActivity.this,"bms",null,1);
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_change_password);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
commit = findViewById(R.id.btn_commit);
|
||||||
|
commit.setOnClickListener(this);
|
||||||
|
original_pass = findViewById(R.id.original_pass);
|
||||||
|
new_pass = findViewById(R.id.new_pass);
|
||||||
|
new_pass2 = findViewById(R.id.new_pass2);
|
||||||
|
forget = findViewById(R.id.forget_password);
|
||||||
|
forget.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.forget_password:
|
||||||
|
Intent intent2 = new Intent(ChangePasswordActivity.this,ForgetPassActivity.class);
|
||||||
|
startActivity(intent2);
|
||||||
|
break;
|
||||||
|
case R.id.btn_commit:
|
||||||
|
String opass = original_pass.getText().toString();
|
||||||
|
String npass = new_pass.getText().toString();
|
||||||
|
String npass2 = new_pass2.getText().toString();
|
||||||
|
if (npass.equals(npass2)){
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
final SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
String username = sharedPreferences.getString("username","-1");
|
||||||
|
boolean able_change = userTableHelper.Login(dbHelper,username,opass);
|
||||||
|
if (able_change == true){
|
||||||
|
userTableHelper.ChangePass(dbHelper,username,npass);
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("修改成功").setMessage("密码修改成功!\n请重新登录。");
|
||||||
|
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
editor.clear();
|
||||||
|
editor.commit();
|
||||||
|
Intent intent1 = new Intent(ChangePasswordActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder.show();
|
||||||
|
}else {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("修改失败").setMessage("原密码不正确。");
|
||||||
|
builder.show();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("修改失败").setMessage("两次输入的新密码不一致。");
|
||||||
|
builder.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent = new Intent(ChangePasswordActivity.this,PersonalCenterActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(ChangePasswordActivity.this,PersonalCenterActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
public class Change_synopsisActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView back;
|
||||||
|
private EditText synopsis;
|
||||||
|
private TextView save;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_change_synopsis);
|
||||||
|
//状态栏
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
Intent intent = getIntent();
|
||||||
|
String o_synopsis = intent.getStringExtra("o_synopsis");
|
||||||
|
synopsis.setText(o_synopsis);
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
synopsis = findViewById(R.id.synopsis);
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
save = findViewById(R.id.save);
|
||||||
|
save.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.save:
|
||||||
|
String n_synopis = synopsis.getText().toString();
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.putExtra("n_synopsis",n_synopis);
|
||||||
|
setResult(1,intent);
|
||||||
|
finish();
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
finish();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,97 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.GridView;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.BookGridAdapter;
|
||||||
|
import com.zhang.bms.model.StringTrans;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class FavoriteActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView isnull;
|
||||||
|
private ImageView back;
|
||||||
|
private GridView list;
|
||||||
|
final DBHelper dbHelper= new DBHelper(this,"bms",null,1);
|
||||||
|
private BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
private ArrayList<Book> bookArrayList;
|
||||||
|
private String uid;
|
||||||
|
private String collections;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_favorite);
|
||||||
|
//状态栏
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
uid = sharedPreferences.getString("uid","-1");
|
||||||
|
collections = userTableHelper.FindCollectionBooks(dbHelper,uid);
|
||||||
|
InitList();
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
list = findViewById(R.id.collectionlist);
|
||||||
|
isnull = findViewById(R.id.isnull);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent back = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void InitList(){
|
||||||
|
StringTrans stringTrans = new StringTrans();
|
||||||
|
String searcher="";
|
||||||
|
if (!collections.equals("")){
|
||||||
|
isnull.setVisibility(View.INVISIBLE);
|
||||||
|
searcher = stringTrans.StringTrans(collections);
|
||||||
|
}
|
||||||
|
bookArrayList = bookTableHelper.SearchCollection(dbHelper,searcher);
|
||||||
|
BookGridAdapter adapter = new BookGridAdapter(this,bookArrayList);
|
||||||
|
GridView book = findViewById(R.id.collectionlist);
|
||||||
|
book.setAdapter(adapter);
|
||||||
|
book.setOnItemClickListener(new BookOnClickListener());
|
||||||
|
}
|
||||||
|
private class BookOnClickListener implements AdapterView.OnItemClickListener{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
String bid = bookArrayList.get(position).getId();
|
||||||
|
Intent intent = new Intent(FavoriteActivity.this,BookActivity.class);
|
||||||
|
intent.putExtra("bid",bid);
|
||||||
|
intent.putExtra("startActivityCode","favorite");
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,131 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
public class ForgetPassActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private TextView passlock;
|
||||||
|
private EditText passkey;
|
||||||
|
private EditText newpass;
|
||||||
|
private EditText renewpass;
|
||||||
|
private ImageView back;
|
||||||
|
private Button commit;
|
||||||
|
final DBHelper dbHelper = new DBHelper(ForgetPassActivity.this,"bms",null,1);
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
private String update_username;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_forget_pass);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
Intent get_username = getIntent();
|
||||||
|
String o_username = get_username.getStringExtra("o_username");
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
String username = sharedPreferences.getString("username","-1");
|
||||||
|
if (username.equals("-1")){
|
||||||
|
update_username = o_username;
|
||||||
|
}else {
|
||||||
|
update_username = username;
|
||||||
|
}
|
||||||
|
String str_passlock = userTableHelper.FindPassLock(dbHelper,update_username);
|
||||||
|
if (!str_passlock.equals("-1") && !str_passlock.equals("请选择密保问题(非必选)")){
|
||||||
|
passlock.setText(str_passlock);
|
||||||
|
}else{
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setCancelable(false);
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
finish();
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
finish();
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.setTile("提示")
|
||||||
|
.setMsg("用户不存在或未设置密保问题,请联系管理员修改密码。")
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.iv_back:
|
||||||
|
ForgetPassActivity.this.finish();
|
||||||
|
break;
|
||||||
|
case R.id.btn_commit:
|
||||||
|
String str_passlock = passlock.getText().toString();
|
||||||
|
String str_passkey = passkey.getText().toString();
|
||||||
|
String str_pass = newpass.getText().toString();
|
||||||
|
String str_pass2 = renewpass.getText().toString();
|
||||||
|
if (str_pass.equals(str_pass2)){
|
||||||
|
boolean result = userTableHelper.PassLock(dbHelper,update_username,str_passlock,str_passkey);
|
||||||
|
if (result == true){
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
final SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
userTableHelper.ChangePass(dbHelper,update_username,str_pass);
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("修改成功").setMessage("密码修改成功!\n请重新登录。");
|
||||||
|
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
editor.clear();
|
||||||
|
editor.commit();
|
||||||
|
Intent intent1 = new Intent(ForgetPassActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder.show();
|
||||||
|
}else {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("修改失败").setMessage("密保答案不正确。");
|
||||||
|
builder.show();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("修改失败").setMessage("两次输入的新密码不一致。");
|
||||||
|
builder.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
passlock = findViewById(R.id.passlock);
|
||||||
|
passkey = findViewById(R.id.passkey);
|
||||||
|
newpass = findViewById(R.id.new_pass);
|
||||||
|
renewpass = findViewById(R.id.new_pass2);
|
||||||
|
commit = findViewById(R.id.btn_commit);
|
||||||
|
commit.setOnClickListener(this);
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
public class InputUsernameActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView back;
|
||||||
|
private EditText username;
|
||||||
|
private Button commit;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_input_username);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
username = findViewById(R.id.username);
|
||||||
|
commit = findViewById(R.id.btn_commit);
|
||||||
|
commit.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.btn_commit:
|
||||||
|
String str_username = username.getText().toString();
|
||||||
|
if (!str_username.isEmpty()){
|
||||||
|
Intent goto_update = new Intent(this,ForgetPassActivity.class);
|
||||||
|
goto_update.putExtra("o_username",str_username);
|
||||||
|
startActivity(goto_update);
|
||||||
|
}else {
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setCancelable(true);
|
||||||
|
sqTipsDialog.setCancelbtnVisible(false)
|
||||||
|
.setSurebtnVisible(false)
|
||||||
|
.setTile("提示")
|
||||||
|
.setMsg("请填写需要申诉的账号用户名。")
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent = new Intent(InputUsernameActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(InputUsernameActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,161 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.Window;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
import com.zhang.bms.model.User;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private Button login;
|
||||||
|
private TextView forget;
|
||||||
|
private EditText username;
|
||||||
|
private EditText password;
|
||||||
|
private CheckBox save;
|
||||||
|
private TextView goto_regist;
|
||||||
|
private ArrayList<User> userArrayList;
|
||||||
|
final DBHelper dbHelper = new DBHelper(LoginActivity.this,"bms",null,1);
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_login);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
InitAccount();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
login = findViewById(R.id.login_btn_login);
|
||||||
|
login.setOnClickListener(this);
|
||||||
|
username = findViewById(R.id.login_username);
|
||||||
|
password = findViewById(R.id.login_password);
|
||||||
|
save = findViewById(R.id.login_saveup);
|
||||||
|
goto_regist = findViewById(R.id.login_to_regist);
|
||||||
|
goto_regist.setOnClickListener(this);
|
||||||
|
forget = findViewById(R.id.forget_password);
|
||||||
|
forget.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.forget_password:
|
||||||
|
Intent intent2 = new Intent(LoginActivity.this,InputUsernameActivity.class);
|
||||||
|
startActivity(intent2);
|
||||||
|
break;
|
||||||
|
case R.id.login_btn_login:
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setSurebtnVisible(false);
|
||||||
|
sqTipsDialog.setCancelbtnVisible(false);
|
||||||
|
String str_username = username.getText().toString();
|
||||||
|
String str_password = password.getText().toString();
|
||||||
|
if (!str_username.isEmpty() && !str_password.isEmpty()){
|
||||||
|
if (str_username.equals("admin") && str_password.equals("123456")){
|
||||||
|
SaveUP("admin","123456");
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.putString("role","MANAGERS");
|
||||||
|
editor.commit();
|
||||||
|
Toast.makeText(LoginActivity.this,"欢迎您!管理员!",Toast.LENGTH_SHORT).show();
|
||||||
|
Intent goto_ManagePage = new Intent(LoginActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(goto_ManagePage);
|
||||||
|
}else {
|
||||||
|
boolean loginResult = userTableHelper.Login(dbHelper,str_username,str_password);
|
||||||
|
if (loginResult == true){
|
||||||
|
userArrayList = userTableHelper.UserList(dbHelper,str_username);
|
||||||
|
String user_role = userArrayList.get(0).getRole();
|
||||||
|
String user_uid = userArrayList.get(0).getId();
|
||||||
|
String user_passlock = userArrayList.get(0).getPasslock();
|
||||||
|
SaveUP(str_username,str_password,user_uid,user_role,user_passlock);
|
||||||
|
Toast.makeText(LoginActivity.this,"登录成功!",Toast.LENGTH_SHORT).show();
|
||||||
|
if (user_role.equals("MANAGERS")){
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.putString("role","MANAGERS");
|
||||||
|
editor.commit();
|
||||||
|
Intent goto1 = new Intent(LoginActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(goto1);
|
||||||
|
}else {
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.putString("role","USER");
|
||||||
|
editor.commit();
|
||||||
|
Intent goto2 = new Intent(LoginActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(goto2);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("登录失败!用户名不存在或密码错误!");
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("请填写用户名或密码!");
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.login_to_regist:
|
||||||
|
Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SaveUP(String username,String password){
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.putString("username",username);
|
||||||
|
editor.putString("password",password);
|
||||||
|
editor.commit();
|
||||||
|
if (save.isChecked()){
|
||||||
|
editor.putBoolean("savestate",true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void SaveUP(String username,String password,String uid,String role,String passlock){
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.putString("username",username);
|
||||||
|
editor.putString("password",password);
|
||||||
|
editor.putString("uid",uid);
|
||||||
|
editor.putString("role",role);
|
||||||
|
editor.putString("passlock",passlock);
|
||||||
|
editor.commit();
|
||||||
|
if (save.isChecked()){
|
||||||
|
editor.putBoolean("savestate",true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitAccount(){
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
String save_username = sharedPreferences.getString("username","null");
|
||||||
|
String save_password = sharedPreferences.getString("password","null");
|
||||||
|
boolean savestate = sharedPreferences.getBoolean("savestate",false);
|
||||||
|
if (savestate == true){
|
||||||
|
username.setText(save_username);
|
||||||
|
password.setText(save_password);
|
||||||
|
save.setChecked(true);
|
||||||
|
}else {
|
||||||
|
save.setChecked(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,187 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class ManageIndexActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private Button add_default;
|
||||||
|
private ImageView iv_back;
|
||||||
|
private LinearLayout back;
|
||||||
|
private LinearLayout bm;
|
||||||
|
private LinearLayout um;
|
||||||
|
private LinearLayout bom;
|
||||||
|
final DBHelper dbHelper= new DBHelper(ManageIndexActivity.this,"bms",null,1);
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_manage_index);
|
||||||
|
//状态栏文字改为黑色
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
//判断创建初始数据按钮是否可点击
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("system",MODE_PRIVATE);
|
||||||
|
boolean default_data = sharedPreferences.getBoolean("default_data",false);
|
||||||
|
if (default_data == true){
|
||||||
|
add_default.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//初始化控件
|
||||||
|
public void InitView(){
|
||||||
|
back = findViewById(R.id.back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
iv_back = findViewById(R.id.iv_back);
|
||||||
|
iv_back.setOnClickListener(this);
|
||||||
|
bm = findViewById(R.id.goto_bm);
|
||||||
|
bm.setOnClickListener(this);
|
||||||
|
um = findViewById(R.id.goto_um);
|
||||||
|
um.setOnClickListener(this);
|
||||||
|
bom = findViewById(R.id.goto_bom);
|
||||||
|
bom.setOnClickListener(this);
|
||||||
|
add_default = findViewById(R.id.add_default_data);
|
||||||
|
add_default.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
//点击事件
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.goto_bom:
|
||||||
|
Intent goto_Bom = new Intent(this,BorrowManageActivity.class);
|
||||||
|
startActivity(goto_Bom);
|
||||||
|
break;
|
||||||
|
case R.id.add_default_data:
|
||||||
|
String b1_ISBN = this.getString(R.string.dt_1_ISBN);
|
||||||
|
String b1_bn = this.getString(R.string.dt_1_bookname);
|
||||||
|
String b1_a = this.getString(R.string.dt_1_author);
|
||||||
|
String b1_ca = this.getString(R.string.dt_1_catogory);
|
||||||
|
String b1_p = this.getString(R.string.dt_1_press);
|
||||||
|
String b1_pt = this.getString(R.string.dt_1_publicationtime);
|
||||||
|
int b1_page = Integer.parseInt(this.getString(R.string.dt_1_page));
|
||||||
|
String b1_s = this.getString(R.string.dt_1_synopsis);
|
||||||
|
int b1_in = Integer.parseInt(this.getString(R.string.dt_1_inventory));
|
||||||
|
|
||||||
|
String b2_ISBN = this.getString(R.string.dt_2_ISBN);
|
||||||
|
String b2_bn = this.getString(R.string.dt_2_bookname);
|
||||||
|
String b2_a = this.getString(R.string.dt_2_author);
|
||||||
|
String b2_ca = this.getString(R.string.dt_2_catogory);
|
||||||
|
String b2_p = this.getString(R.string.dt_2_press);
|
||||||
|
String b2_pt = this.getString(R.string.dt_2_publicationtime);
|
||||||
|
int b2_page = Integer.parseInt(this.getString(R.string.dt_2_page));
|
||||||
|
String b2_s = this.getString(R.string.dt_2_synopsis);
|
||||||
|
int b2_in = Integer.parseInt(this.getString(R.string.dt_2_inventory));
|
||||||
|
|
||||||
|
String b3_ISBN = this.getString(R.string.dt_3_ISBN);
|
||||||
|
String b3_bn = this.getString(R.string.dt_3_bookname);
|
||||||
|
String b3_a = this.getString(R.string.dt_3_author);
|
||||||
|
String b3_ca = this.getString(R.string.dt_3_catogory);
|
||||||
|
String b3_p = this.getString(R.string.dt_3_press);
|
||||||
|
String b3_pt = this.getString(R.string.dt_3_publicationtime);
|
||||||
|
int b3_page = Integer.parseInt(this.getString(R.string.dt_3_page));
|
||||||
|
String b3_s = this.getString(R.string.dt_3_synopsis);
|
||||||
|
int b3_in = Integer.parseInt(this.getString(R.string.dt_3_inventory));
|
||||||
|
|
||||||
|
BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
|
||||||
|
Book book1 = new Book();
|
||||||
|
book1.setBookname(b1_bn);
|
||||||
|
book1.setAuthor(b1_a);
|
||||||
|
book1.setPress(b1_p);
|
||||||
|
book1.setPublicationtime(b1_pt);
|
||||||
|
book1.setCategory(b1_ca);
|
||||||
|
book1.setSynopsis(b1_s);
|
||||||
|
book1.setinventory(b1_in);
|
||||||
|
book1.setISBN(b1_ISBN);
|
||||||
|
book1.setPage(b1_page);
|
||||||
|
boolean AddFlag1 = bookTableHelper.AddBook(dbHelper,book1);
|
||||||
|
|
||||||
|
Book book2 = new Book();
|
||||||
|
book2.setBookname(b2_bn);
|
||||||
|
book2.setAuthor(b2_a);
|
||||||
|
book2.setPress(b2_p);
|
||||||
|
book2.setPublicationtime(b2_pt);
|
||||||
|
book2.setCategory(b2_ca);
|
||||||
|
book2.setSynopsis(b2_s);
|
||||||
|
book2.setinventory(b2_in);
|
||||||
|
book2.setISBN(b2_ISBN);
|
||||||
|
book2.setPage(b2_page);
|
||||||
|
boolean AddFlag2 = bookTableHelper.AddBook(dbHelper,book2);
|
||||||
|
|
||||||
|
Book book3 = new Book();
|
||||||
|
book3.setBookname(b3_bn);
|
||||||
|
book3.setAuthor(b3_a);
|
||||||
|
book3.setPress(b3_p);
|
||||||
|
book3.setPublicationtime(b3_pt);
|
||||||
|
book3.setCategory(b3_ca);
|
||||||
|
book3.setSynopsis(b3_s);
|
||||||
|
book3.setinventory(b3_in);
|
||||||
|
book3.setISBN(b3_ISBN);
|
||||||
|
book3.setPage(b3_page);
|
||||||
|
boolean AddFlag3 = bookTableHelper.AddBook(dbHelper,book3);
|
||||||
|
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setTitle("提示");
|
||||||
|
sqTipsDialog.setCancelbtnVisible(false);
|
||||||
|
if (AddFlag1 == true && AddFlag2 == true && AddFlag3 == true){
|
||||||
|
sqTipsDialog.setMsg("插入成功!");
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("system",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.putBoolean("default_data",true);
|
||||||
|
editor.commit();
|
||||||
|
Intent back = new Intent(ManageIndexActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("插入失败!");
|
||||||
|
sqTipsDialog.setSurebtnVisible(false);
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent ivback = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(ivback);
|
||||||
|
break;
|
||||||
|
case R.id.back:
|
||||||
|
Intent back = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
break;
|
||||||
|
case R.id.goto_bm:
|
||||||
|
Intent goto_BMA = new Intent(this,BookManageActivity.class);
|
||||||
|
startActivity(goto_BMA);
|
||||||
|
break;
|
||||||
|
case R.id.goto_um:
|
||||||
|
Intent goto_UMA = new Intent(ManageIndexActivity.this,UserManageActivity.class);
|
||||||
|
startActivity(goto_UMA);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
//super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent back = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,221 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.RelativeLayout;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.CustomEditTextDialog;
|
||||||
|
import com.zhang.bms.model.CustomSpinnerDialog;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
import com.zhang.bms.model.User;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class ManageUserDetailsActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView back;
|
||||||
|
private TextView username;
|
||||||
|
private TextView id;
|
||||||
|
private TextView passlock;
|
||||||
|
private TextView passkey;
|
||||||
|
private TextView role;
|
||||||
|
private Button uppass;
|
||||||
|
private Button save;
|
||||||
|
private Button delete;
|
||||||
|
private RelativeLayout uprole;
|
||||||
|
private TextView newpass_tips;
|
||||||
|
private TextView newrole_tips;
|
||||||
|
private String uid;
|
||||||
|
final DBHelper dbHelper= new DBHelper(ManageUserDetailsActivity.this,"bms",null,1);
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
private ArrayList<User> userArrayList;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_manage_user_details);
|
||||||
|
InitView();
|
||||||
|
Intent intent = getIntent();
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
uid = intent.getStringExtra("uid");
|
||||||
|
userArrayList = userTableHelper.UserDetails(dbHelper,uid);
|
||||||
|
username.setText(userArrayList.get(0).getUsername());
|
||||||
|
id.setText(userArrayList.get(0).getId());
|
||||||
|
if (userArrayList.get(0).getPasslock().isEmpty() || userArrayList.get(0).getPasslock().equals("请选择密保问题(非必选)")){
|
||||||
|
passlock.setText("未设置");
|
||||||
|
passkey.setText("未设置");
|
||||||
|
}else {
|
||||||
|
passlock.setText(userArrayList.get(0).getPasslock());
|
||||||
|
passkey.setText(userArrayList.get(0).getPasskey());
|
||||||
|
}
|
||||||
|
role.setText(userArrayList.get(0).getRole());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
username = findViewById(R.id.userdetails_username);
|
||||||
|
id = findViewById(R.id.userdetails_id);
|
||||||
|
passlock = findViewById(R.id.userdetails_passlock);
|
||||||
|
passkey = findViewById(R.id.userdetails_passkey);
|
||||||
|
role = findViewById(R.id.userdetails_role);
|
||||||
|
uppass = findViewById(R.id.userdetails_btn_updatepassword);
|
||||||
|
uppass.setOnClickListener(this);
|
||||||
|
newpass_tips = findViewById(R.id.tv_newpass);
|
||||||
|
newrole_tips = findViewById(R.id.tv_newrole);
|
||||||
|
save = findViewById(R.id.userdetails_btn_save);
|
||||||
|
save.setOnClickListener(this);
|
||||||
|
delete = findViewById(R.id.userdetails_btn_delete);
|
||||||
|
delete.setOnClickListener(this);
|
||||||
|
uprole = findViewById(R.id.userdetails_btn_updaterole);
|
||||||
|
uprole.setOnClickListener(this);
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.userdetails_btn_updatepassword:
|
||||||
|
UpdatePasswordDialog();
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent = new Intent(ManageUserDetailsActivity.this,UserManageActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
case R.id.userdetails_btn_save:
|
||||||
|
final Intent back = new Intent(ManageUserDetailsActivity.this,UserManageActivity.class);
|
||||||
|
if (!newpass_tips.getText().equals("") || !newrole_tips.getText().toString().equals("")){
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setTitle("提示");
|
||||||
|
sqTipsDialog.setMsg("您正在试图更改该用户的信息,是否保存更改?")
|
||||||
|
.setCancelable(false);
|
||||||
|
sqTipsDialog.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
startActivity(back);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (!newpass_tips.getText().toString().equals("")){
|
||||||
|
String newpass = newpass_tips.getText().toString().replace("该用户的新密码将被重置为:","");
|
||||||
|
userTableHelper.UpdatePassword(dbHelper,newpass,uid);
|
||||||
|
}
|
||||||
|
String newrole = newrole_tips.getText().toString();
|
||||||
|
if (!newrole.equals("")){
|
||||||
|
userTableHelper.UpdateRole(dbHelper,newrole_tips.getText().toString().replace("该用户的用户组将被重置为:",""),uid);
|
||||||
|
}
|
||||||
|
Toast.makeText(ManageUserDetailsActivity.this,"修改成功!",Toast.LENGTH_SHORT).show();
|
||||||
|
startActivity(back);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}else {
|
||||||
|
startActivity(back);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.userdetails_btn_delete:
|
||||||
|
final Intent back2 = new Intent(ManageUserDetailsActivity.this,UserManageActivity.class);
|
||||||
|
AlertDialog.Builder builder3 = new AlertDialog.Builder(ManageUserDetailsActivity.this);
|
||||||
|
builder3.setTitle("提示")
|
||||||
|
.setMessage("确认删除该用户?此操作不可逆!")
|
||||||
|
.setCancelable(false)
|
||||||
|
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder3.setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
userTableHelper.DeleteUser(dbHelper,uid);
|
||||||
|
Toast.makeText(ManageUserDetailsActivity.this,"删除成功!",Toast.LENGTH_SHORT).show();
|
||||||
|
startActivity(back2);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder3.show();
|
||||||
|
break;
|
||||||
|
case R.id.userdetails_btn_updaterole:
|
||||||
|
UpdateRoleDialog();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdatePasswordDialog() {
|
||||||
|
final CustomEditTextDialog customDialog = new CustomEditTextDialog(this);
|
||||||
|
final EditText editText = (EditText) customDialog.getEditText();//方法在CustomDialog中实现
|
||||||
|
customDialog.setCancelable(false);
|
||||||
|
customDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
//判断是否填入字符串
|
||||||
|
if (editText.getText().toString().isEmpty()){//如果填入空字符串,则提示出不显示
|
||||||
|
newpass_tips.setText(editText.getText().toString());
|
||||||
|
}else {
|
||||||
|
newpass_tips.setText("该用户的新密码将被重置为:" + editText.getText().toString());
|
||||||
|
}
|
||||||
|
customDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
customDialog.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
customDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
customDialog.setTile("请输入新密码");
|
||||||
|
customDialog.show();
|
||||||
|
}
|
||||||
|
public void UpdateRoleDialog() {
|
||||||
|
final CustomSpinnerDialog customDialog = new CustomSpinnerDialog(this);
|
||||||
|
final Spinner spinner = (Spinner) customDialog.getSpinnerItem();//方法在CustomDialog中实现
|
||||||
|
String[] roleArray = {"USER","MANAGERS"};
|
||||||
|
ArrayAdapter<String> roleAdapter = new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,roleArray);
|
||||||
|
roleAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
|
||||||
|
spinner.setAdapter(roleAdapter);
|
||||||
|
spinner.setSelection(0);
|
||||||
|
customDialog.setCancelable(false);
|
||||||
|
customDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (!spinner.getSelectedItem().equals(userArrayList.get(0).getRole())){
|
||||||
|
newrole_tips.setText("该用户的用户组将被重置为:" + spinner.getSelectedItem().toString());
|
||||||
|
}else {
|
||||||
|
newrole_tips.setText("");
|
||||||
|
}
|
||||||
|
customDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
customDialog.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
customDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
customDialog.setTile("请选择用户组");
|
||||||
|
customDialog.show();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(ManageUserDetailsActivity.this,UserManageActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,128 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.RelativeLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
|
||||||
|
public class PersonalCenterActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private LinearLayout favorite;
|
||||||
|
private LinearLayout book;
|
||||||
|
private LinearLayout borrow;
|
||||||
|
private RelativeLayout exit;
|
||||||
|
private RelativeLayout change;
|
||||||
|
private RelativeLayout manage;
|
||||||
|
private TextView nologin;
|
||||||
|
private TextView username;
|
||||||
|
private TextView role;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_personal_center);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
//根据当前登录用户的用户组来决定”管理中心“按钮是否可见
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
if (sharedPreferences.getString("role","-1").equals("USER")){
|
||||||
|
manage.setVisibility(View.GONE);
|
||||||
|
nologin.setVisibility(View.GONE);
|
||||||
|
role.setText("普通用户");
|
||||||
|
}else if (sharedPreferences.getString("role","-1").equals("MANAGERS")){
|
||||||
|
nologin.setVisibility(View.GONE);
|
||||||
|
role.setText("管理员");
|
||||||
|
}
|
||||||
|
username.setText(sharedPreferences.getString("username","null"));
|
||||||
|
if (username.getText().equals("admin")){
|
||||||
|
change.setVisibility(View.GONE);
|
||||||
|
role.setText("超级管理员");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
exit = findViewById(R.id.exit_account);
|
||||||
|
exit.setOnClickListener(this);
|
||||||
|
manage = findViewById(R.id.manage_index);
|
||||||
|
manage.setOnClickListener(this);
|
||||||
|
nologin = findViewById(R.id.tv_nologin);
|
||||||
|
username = findViewById(R.id.center_username);
|
||||||
|
role = findViewById(R.id.center_role);
|
||||||
|
change = findViewById(R.id.changepassword);
|
||||||
|
change.setOnClickListener(this);
|
||||||
|
book = findViewById(R.id.goto_book);
|
||||||
|
book.setOnClickListener(this);
|
||||||
|
favorite = findViewById(R.id.favorite);
|
||||||
|
favorite.setOnClickListener(this);
|
||||||
|
borrow = findViewById(R.id.borrow);
|
||||||
|
borrow.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.borrow:
|
||||||
|
Intent borrow = new Intent(this,ShowBorrowActivity.class);
|
||||||
|
startActivity(borrow);
|
||||||
|
break;
|
||||||
|
case R.id.favorite:
|
||||||
|
Intent favorite = new Intent(this,FavoriteActivity.class);
|
||||||
|
startActivity(favorite);
|
||||||
|
break;
|
||||||
|
case R.id.goto_book:
|
||||||
|
Intent goto_book = new Intent(PersonalCenterActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(goto_book);
|
||||||
|
break;
|
||||||
|
case R.id.changepassword:
|
||||||
|
Intent intent4 = new Intent(PersonalCenterActivity.this,ChangePasswordActivity.class);
|
||||||
|
startActivity(intent4);
|
||||||
|
break;
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent3 = new Intent(PersonalCenterActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(intent3);
|
||||||
|
break;
|
||||||
|
case R.id.manage_index:
|
||||||
|
Intent intent2 = new Intent(PersonalCenterActivity.this,ManageIndexActivity.class);
|
||||||
|
startActivity(intent2);
|
||||||
|
break;
|
||||||
|
case R.id.exit_account:
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setTitle("提示");
|
||||||
|
sqTipsDialog.setMsg("确认退出登录")
|
||||||
|
.setCancelable(true);
|
||||||
|
sqTipsDialog.setOnCanlceListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
sqTipsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.setOnSureListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.clear();
|
||||||
|
editor.commit();
|
||||||
|
Intent intent1 = new Intent(PersonalCenterActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,130 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.SqTipsDialog;
|
||||||
|
import com.zhang.bms.model.simpleArrayAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private Button register;
|
||||||
|
private EditText username;
|
||||||
|
private EditText password;
|
||||||
|
private EditText repassword;
|
||||||
|
private Spinner passlock;
|
||||||
|
private EditText passkey;
|
||||||
|
private TextView goto_login;
|
||||||
|
final DBHelper dbHelper = new DBHelper(RegisterActivity.this,"bms",null,1);
|
||||||
|
UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_register);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
List<String> data_list = new ArrayList<String>();
|
||||||
|
data_list.add("您目前的姓名是?");
|
||||||
|
data_list.add("您配偶的生日是?");
|
||||||
|
data_list.add("您的学号(或工号)是?");
|
||||||
|
data_list.add("您母亲的生日是?");
|
||||||
|
data_list.add("您高中班主任的名字是?");
|
||||||
|
data_list.add("您父亲的姓名是?");
|
||||||
|
data_list.add("您小学班主任的名字是?");
|
||||||
|
data_list.add("您父亲的生日是?");
|
||||||
|
data_list.add("您配偶的姓名是?");
|
||||||
|
data_list.add("您初中班主任的名字是?");
|
||||||
|
data_list.add("您最熟悉的童年好友名字是?");
|
||||||
|
data_list.add("您最熟悉的学校宿舍舍友名字是?");
|
||||||
|
data_list.add("对您影响最大的人名字是?");
|
||||||
|
data_list.add("请选择密保问题(非必选)");
|
||||||
|
simpleArrayAdapter<String> arrayAdapter = new simpleArrayAdapter<>(this,R.layout.support_simple_spinner_dropdown_item,data_list);
|
||||||
|
arrayAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
|
||||||
|
passlock.setAdapter(arrayAdapter);
|
||||||
|
passlock.setSelection(data_list.size()-1,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitView(){
|
||||||
|
register = findViewById(R.id.regist_btn_register);
|
||||||
|
register.setOnClickListener(this);
|
||||||
|
username = findViewById(R.id.regist_username);
|
||||||
|
password = findViewById(R.id.regist_password);
|
||||||
|
repassword = findViewById(R.id.regist_repassword);
|
||||||
|
passkey = findViewById(R.id.regist_key);
|
||||||
|
goto_login = findViewById(R.id.register_goto_login);
|
||||||
|
goto_login.setOnClickListener(this);
|
||||||
|
passlock = findViewById(R.id.spinner_passlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.regist_btn_register:
|
||||||
|
final SqTipsDialog sqTipsDialog = new SqTipsDialog(this);
|
||||||
|
sqTipsDialog.setCancelable(true);
|
||||||
|
sqTipsDialog.setCancelbtnVisible(false);
|
||||||
|
sqTipsDialog.setSurebtnVisible(false);
|
||||||
|
sqTipsDialog.setTile("提示");
|
||||||
|
if (!username.getText().toString().isEmpty() && !password.getText().toString().isEmpty()
|
||||||
|
&& !repassword.getText().toString().isEmpty()){
|
||||||
|
String str_password = password.getText().toString();
|
||||||
|
String str_repassword = repassword.getText().toString();
|
||||||
|
if (username.getText().toString().length()>=2){
|
||||||
|
if (str_password.equals(str_repassword)){
|
||||||
|
String str_username = username.getText().toString();
|
||||||
|
boolean usernamelock = userTableHelper.CheckUsername(dbHelper,str_username);
|
||||||
|
if (usernamelock == true){
|
||||||
|
String str_passlock = passlock.getSelectedItem().toString();
|
||||||
|
String str_passkey = passkey.getText().toString();
|
||||||
|
userTableHelper.Register(dbHelper,str_username,str_password,str_passlock,str_passkey,"USER","");
|
||||||
|
Toast.makeText(RegisterActivity.this,"注册成功",Toast.LENGTH_SHORT).show();
|
||||||
|
Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("用户名已存在!");
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("两次输入密码不一致");
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("用户名不得少于两个字符");
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sqTipsDialog.setMsg("信息填写不完整。");
|
||||||
|
sqTipsDialog.show();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case R.id.register_goto_login:
|
||||||
|
Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
//super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
|
||||||
|
public class ReturnSuccessActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView back;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_return_success);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent back = new Intent(this,BorrowManageActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(this,BorrowManageActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,102 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.SpannableString;
|
||||||
|
import android.text.SpannableStringBuilder;
|
||||||
|
import android.text.Spanned;
|
||||||
|
import android.text.style.ForegroundColorSpan;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.GridView;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.BookGridAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class SearchResultActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ArrayList<Book> bookArrayList;
|
||||||
|
private GridView gridView;
|
||||||
|
private String searcher;
|
||||||
|
private ImageView empty;
|
||||||
|
private TextView search_tips;
|
||||||
|
private ImageView back;
|
||||||
|
final DBHelper dbHelper= new DBHelper(this,"bms",null,1);
|
||||||
|
private BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_search_result);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
Intent intent = getIntent();
|
||||||
|
searcher = intent.getStringExtra("searcher");
|
||||||
|
if (!searcher.equals("")){
|
||||||
|
InitBookGrid();
|
||||||
|
}else {
|
||||||
|
empty.setImageResource(R.drawable.ill_nonedata);
|
||||||
|
empty.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
SpannableString spannableString = new SpannableString(searcher);
|
||||||
|
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#278b69")),0,spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
search_tips.append(spannableString);
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
gridView = findViewById(R.id.book_gridview);
|
||||||
|
search_tips = findViewById(R.id.search_tips);
|
||||||
|
empty = findViewById(R.id.empty_image);
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
private void InitBookGrid(){
|
||||||
|
bookArrayList = bookTableHelper.SearchBook(dbHelper,searcher);
|
||||||
|
BookGridAdapter adapter = new BookGridAdapter(this,bookArrayList);
|
||||||
|
GridView book = findViewById(R.id.book_gridview);
|
||||||
|
book.setAdapter(adapter);
|
||||||
|
book.setOnItemClickListener(new BookOnClickListener());
|
||||||
|
if (bookArrayList.isEmpty()){
|
||||||
|
empty.setImageResource(R.drawable.ill_nonedata);
|
||||||
|
empty.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent = new Intent(SearchResultActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private class BookOnClickListener implements AdapterView.OnItemClickListener{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
String bid = bookArrayList.get(position).getId();
|
||||||
|
Intent intent = new Intent(SearchResultActivity.this,BookActivity.class);
|
||||||
|
intent.putExtra("bid",bid);
|
||||||
|
intent.putExtra("startActivityCode","search");
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(SearchResultActivity.this,ShowBooksActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,90 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.GridView;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BookTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.model.Book;
|
||||||
|
import com.zhang.bms.model.BookGridAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class ShowBooksActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private LinearLayout me;
|
||||||
|
private ArrayList<Book> bookArrayList;
|
||||||
|
private GridView gridView;
|
||||||
|
private EditText search_edit;
|
||||||
|
private Button search_btn;
|
||||||
|
final DBHelper dbHelper= new DBHelper(this,"bms",null,1);
|
||||||
|
private BookTableHelper bookTableHelper = new BookTableHelper();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_show_books);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
InitBookGrid();
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
gridView = findViewById(R.id.book_gridview);
|
||||||
|
search_edit = findViewById(R.id.search_edit);
|
||||||
|
search_btn = findViewById(R.id.search_btn);
|
||||||
|
search_btn.setOnClickListener(this);
|
||||||
|
me = findViewById(R.id.goto_me);
|
||||||
|
me.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
private void InitBookGrid(){
|
||||||
|
bookArrayList = bookTableHelper.BookGrid(dbHelper);
|
||||||
|
BookGridAdapter adapter = new BookGridAdapter(this,bookArrayList);
|
||||||
|
GridView book = findViewById(R.id.book_gridview);
|
||||||
|
book.setAdapter(adapter);
|
||||||
|
book.setOnItemClickListener(new BookOnClickListener());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.goto_me:
|
||||||
|
Intent goto_me = new Intent(ShowBooksActivity.this,PersonalCenterActivity.class);
|
||||||
|
startActivity(goto_me);
|
||||||
|
break;
|
||||||
|
case R.id.search_btn:
|
||||||
|
String searcher = search_edit.getText().toString();
|
||||||
|
Intent s = new Intent(ShowBooksActivity.this,SearchResultActivity.class);
|
||||||
|
s.putExtra("searcher",searcher);
|
||||||
|
startActivity(s);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private class BookOnClickListener implements AdapterView.OnItemClickListener{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
String bid = bookArrayList.get(position).getId();
|
||||||
|
Intent intent = new Intent(ShowBooksActivity.this,BookActivity.class);
|
||||||
|
intent.putExtra("bid",bid);
|
||||||
|
intent.putExtra("startActivityCode","show");
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
//super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.GridView;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.ListView;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.BorrowTableHelper;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.model.BookGridAdapter;
|
||||||
|
import com.zhang.bms.model.Borrow;
|
||||||
|
import com.zhang.bms.model.BorrowListAdapter;
|
||||||
|
import com.zhang.bms.model.StringTrans;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class ShowBorrowActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private ImageView isnull;
|
||||||
|
private ImageView back;
|
||||||
|
private ListView listView;
|
||||||
|
final DBHelper dbHelper= new DBHelper(this,"bms",null,1);
|
||||||
|
private BorrowTableHelper borrowTableHelper = new BorrowTableHelper();
|
||||||
|
private String uid;
|
||||||
|
private ArrayList<Borrow> arrayList;
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_show_borrow);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE);
|
||||||
|
uid = sharedPreferences.getString("uid","-1");
|
||||||
|
InitView();
|
||||||
|
InitList();
|
||||||
|
}
|
||||||
|
private void InitView(){
|
||||||
|
listView = findViewById(R.id.borrow_list);
|
||||||
|
back = findViewById(R.id.iv_back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
isnull = findViewById(R.id.isnull);
|
||||||
|
}
|
||||||
|
private void InitList(){
|
||||||
|
arrayList = borrowTableHelper.ShowBorrow(dbHelper,uid);
|
||||||
|
if (!arrayList.isEmpty()){
|
||||||
|
isnull.setVisibility(View.INVISIBLE);
|
||||||
|
}
|
||||||
|
BorrowListAdapter adapter = new BorrowListAdapter(this,arrayList);
|
||||||
|
ListView book = findViewById(R.id.borrow_list);
|
||||||
|
book.setAdapter(adapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.iv_back:
|
||||||
|
Intent intent = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,94 @@
|
|||||||
|
package com.zhang.bms.ui;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.ListView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.zhang.bms.R;
|
||||||
|
import com.zhang.bms.control.DBHelper;
|
||||||
|
import com.zhang.bms.control.UserTableHelper;
|
||||||
|
import com.zhang.bms.model.User;
|
||||||
|
import com.zhang.bms.model.UserListAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class UserManageActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
private LinearLayout back;
|
||||||
|
private LinearLayout bm;
|
||||||
|
private LinearLayout bom;
|
||||||
|
private ArrayList<User> userlist;
|
||||||
|
private ListView listView;
|
||||||
|
final DBHelper dbHelper= new DBHelper(UserManageActivity.this,"bms",null,1);
|
||||||
|
private UserTableHelper userTableHelper = new UserTableHelper();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_user_manage);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
InitView();
|
||||||
|
InitUserList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void InitView(){
|
||||||
|
listView = findViewById(R.id.userlist_listview);
|
||||||
|
back = findViewById(R.id.back);
|
||||||
|
back.setOnClickListener(this);
|
||||||
|
bm = findViewById(R.id.goto_bm);
|
||||||
|
bm.setOnClickListener(this);
|
||||||
|
bom = findViewById(R.id.goto_bom);
|
||||||
|
bom.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitUserList(){
|
||||||
|
userlist = userTableHelper.UserList(dbHelper);
|
||||||
|
UserListAdapter adapter = new UserListAdapter(this,userlist);
|
||||||
|
ListView user = findViewById(R.id.userlist_listview);
|
||||||
|
user.setAdapter(adapter);
|
||||||
|
user.setOnItemClickListener(new UserOnClickListener());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
switch (v.getId()){
|
||||||
|
case R.id.goto_bom:
|
||||||
|
Intent goto_bom = new Intent(this,BorrowManageActivity.class);
|
||||||
|
startActivity(goto_bom);
|
||||||
|
break;
|
||||||
|
case R.id.goto_bm:
|
||||||
|
Intent goto_bm = new Intent(this,BookManageActivity.class);
|
||||||
|
startActivity(goto_bm);
|
||||||
|
break;
|
||||||
|
case R.id.back:
|
||||||
|
Intent back = new Intent(this,PersonalCenterActivity.class);
|
||||||
|
startActivity(back);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class UserOnClickListener implements AdapterView.OnItemClickListener {
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
String uid = userlist.get(position).getId();
|
||||||
|
Intent intent = new Intent(UserManageActivity.this,ManageUserDetailsActivity.class);
|
||||||
|
intent.putExtra("uid",uid);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
//super.onBackPressed();//注释掉这行,back键不退出activity
|
||||||
|
Intent intent = new Intent(UserManageActivity.this,ManageIndexActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,536 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title __UI's Class Diagram__\n
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.AddBookActivity {
|
||||||
|
- ISBN : EditText
|
||||||
|
- add : Button
|
||||||
|
- author : EditText
|
||||||
|
- back : ImageView
|
||||||
|
- bookname : EditText
|
||||||
|
- category : Spinner
|
||||||
|
- inventory : EditText
|
||||||
|
- page : EditText
|
||||||
|
- press : EditText
|
||||||
|
- publicationtime : EditText
|
||||||
|
- synopsis : EditText
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.BookActivity {
|
||||||
|
- author : TextView
|
||||||
|
- back : ImageView
|
||||||
|
- bid : String
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- bookname : TextView
|
||||||
|
- borrow : Button
|
||||||
|
- borrownull : Button
|
||||||
|
- category : TextView
|
||||||
|
- collect : Button
|
||||||
|
- collected : Button
|
||||||
|
- collections : String
|
||||||
|
- inventory : TextView
|
||||||
|
- page : TextView
|
||||||
|
- press : TextView
|
||||||
|
- publicationtime : TextView
|
||||||
|
- synopsis : TextView
|
||||||
|
- uid : String
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- Back()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.BookManageActivity {
|
||||||
|
- add : ImageView
|
||||||
|
- back : LinearLayout
|
||||||
|
- bom : LinearLayout
|
||||||
|
- booklist : ArrayList<Book>
|
||||||
|
- listView : ListView
|
||||||
|
- um : LinearLayout
|
||||||
|
+ InitView()
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitBookList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.BorrowManageActivity {
|
||||||
|
- arrayList : ArrayList<Borrow>
|
||||||
|
- back : LinearLayout
|
||||||
|
- bm : LinearLayout
|
||||||
|
- list : ListView
|
||||||
|
- um : LinearLayout
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitList()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.BorrowSuccessActivity {
|
||||||
|
- bid : String
|
||||||
|
- code : String
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ChangePasswordActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- commit : Button
|
||||||
|
- forget : TextView
|
||||||
|
- new_pass : EditText
|
||||||
|
- new_pass2 : EditText
|
||||||
|
- original_pass : EditText
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.Change_synopsisActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- save : TextView
|
||||||
|
- synopsis : EditText
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.FavoriteActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- collections : String
|
||||||
|
- isnull : ImageView
|
||||||
|
- list : GridView
|
||||||
|
- uid : String
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitList()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ForgetPassActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- commit : Button
|
||||||
|
- newpass : EditText
|
||||||
|
- passkey : EditText
|
||||||
|
- passlock : TextView
|
||||||
|
- renewpass : EditText
|
||||||
|
- update_username : String
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.InputUsernameActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- commit : Button
|
||||||
|
- username : EditText
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.LoginActivity {
|
||||||
|
- forget : TextView
|
||||||
|
- goto_regist : TextView
|
||||||
|
- login : Button
|
||||||
|
- password : EditText
|
||||||
|
- save : CheckBox
|
||||||
|
- userArrayList : ArrayList<User>
|
||||||
|
- username : EditText
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitAccount()
|
||||||
|
- InitView()
|
||||||
|
- SaveUP()
|
||||||
|
- SaveUP()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ManageBookDetailsActivity {
|
||||||
|
- ISBN : EditText
|
||||||
|
- author : EditText
|
||||||
|
- back : ImageView
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- bookname : EditText
|
||||||
|
- category : EditText
|
||||||
|
- change_synopsis : RelativeLayout
|
||||||
|
- delete : Button
|
||||||
|
- get_bid : String
|
||||||
|
- inventory : EditText
|
||||||
|
- o_ISBN : String
|
||||||
|
- o_author : String
|
||||||
|
- o_bookname : String
|
||||||
|
- o_category : String
|
||||||
|
- o_inventory : String
|
||||||
|
- o_page : String
|
||||||
|
- o_press : String
|
||||||
|
- o_publicationtime : String
|
||||||
|
- o_synopsis : String
|
||||||
|
- page : EditText
|
||||||
|
- press : EditText
|
||||||
|
- publicationtime : EditText
|
||||||
|
- save : Button
|
||||||
|
- synopsis : TextView
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onActivityResult()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ManageIndexActivity {
|
||||||
|
- add_default : Button
|
||||||
|
- back : LinearLayout
|
||||||
|
- bm : LinearLayout
|
||||||
|
- bom : LinearLayout
|
||||||
|
- iv_back : ImageView
|
||||||
|
- um : LinearLayout
|
||||||
|
+ InitView()
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ManageUserDetailsActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- delete : Button
|
||||||
|
- id : TextView
|
||||||
|
- newpass_tips : TextView
|
||||||
|
- newrole_tips : TextView
|
||||||
|
- passkey : TextView
|
||||||
|
- passlock : TextView
|
||||||
|
- role : TextView
|
||||||
|
- save : Button
|
||||||
|
- uid : String
|
||||||
|
- uppass : Button
|
||||||
|
- uprole : RelativeLayout
|
||||||
|
- userArrayList : ArrayList<User>
|
||||||
|
- username : TextView
|
||||||
|
+ UpdatePasswordDialog()
|
||||||
|
+ UpdateRoleDialog()
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.PersonalCenterActivity {
|
||||||
|
- book : LinearLayout
|
||||||
|
- borrow : LinearLayout
|
||||||
|
- change : RelativeLayout
|
||||||
|
- exit : RelativeLayout
|
||||||
|
- favorite : LinearLayout
|
||||||
|
- manage : RelativeLayout
|
||||||
|
- nologin : TextView
|
||||||
|
- role : TextView
|
||||||
|
- username : TextView
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.RegisterActivity {
|
||||||
|
- goto_login : TextView
|
||||||
|
- passkey : EditText
|
||||||
|
- passlock : Spinner
|
||||||
|
- password : EditText
|
||||||
|
- register : Button
|
||||||
|
- repassword : EditText
|
||||||
|
- username : EditText
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ReturnSuccessActivity {
|
||||||
|
- back : ImageView
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.SearchResultActivity {
|
||||||
|
- back : ImageView
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- empty : ImageView
|
||||||
|
- gridView : GridView
|
||||||
|
- search_tips : TextView
|
||||||
|
- searcher : String
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitBookGrid()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ShowBooksActivity {
|
||||||
|
- bookArrayList : ArrayList<Book>
|
||||||
|
- gridView : GridView
|
||||||
|
- me : LinearLayout
|
||||||
|
- search_btn : Button
|
||||||
|
- search_edit : EditText
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitBookGrid()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.ShowBorrowActivity {
|
||||||
|
- arrayList : ArrayList<Borrow>
|
||||||
|
- back : ImageView
|
||||||
|
- isnull : ImageView
|
||||||
|
- listView : ListView
|
||||||
|
- uid : String
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitList()
|
||||||
|
- InitView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace com.zhang.bms {
|
||||||
|
namespace ui {
|
||||||
|
class com.zhang.bms.ui.UserManageActivity {
|
||||||
|
- back : LinearLayout
|
||||||
|
- bm : LinearLayout
|
||||||
|
- bom : LinearLayout
|
||||||
|
- listView : ListView
|
||||||
|
- userlist : ArrayList<User>
|
||||||
|
+ InitView()
|
||||||
|
+ onBackPressed()
|
||||||
|
+ onClick()
|
||||||
|
# onCreate()
|
||||||
|
- InitUserList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
com.zhang.bms.ui.AddBookActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.AddBookActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.AddBookActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.BookActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.BookActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.BookActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.BookActivity o-- com.zhang.bms.control.BorrowTableHelper : borrowTableHelper
|
||||||
|
com.zhang.bms.ui.BookActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.BookActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.BookManageActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.BookManageActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.BookManageActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.BookManageActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.BookManageActivity +-down- com.zhang.bms.ui.BookManageActivity.BookOnClickListener
|
||||||
|
com.zhang.bms.ui.BookManageActivity.BookOnClickListener .up.|> android.widget.AdapterView.OnItemClickListener
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity o-- com.zhang.bms.control.BorrowTableHelper : borrowTableHelper
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity +-down- com.zhang.bms.ui.BorrowManageActivity.BackBook
|
||||||
|
com.zhang.bms.ui.BorrowManageActivity.BackBook .up.|> android.widget.AdapterView.OnItemClickListener
|
||||||
|
com.zhang.bms.ui.BorrowSuccessActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.BorrowSuccessActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ChangePasswordActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ChangePasswordActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ChangePasswordActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ChangePasswordActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.Change_synopsisActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.Change_synopsisActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.FavoriteActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.FavoriteActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.FavoriteActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.FavoriteActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.FavoriteActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.FavoriteActivity +-down- com.zhang.bms.ui.FavoriteActivity.BookOnClickListener
|
||||||
|
com.zhang.bms.ui.FavoriteActivity.BookOnClickListener .up.|> android.widget.AdapterView.OnItemClickListener
|
||||||
|
com.zhang.bms.ui.ForgetPassActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ForgetPassActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ForgetPassActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ForgetPassActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.InputUsernameActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.InputUsernameActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.LoginActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.LoginActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.LoginActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.LoginActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.ManageBookDetailsActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ManageBookDetailsActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ManageBookDetailsActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.ManageBookDetailsActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ManageIndexActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ManageIndexActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ManageIndexActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ManageUserDetailsActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ManageUserDetailsActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ManageUserDetailsActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ManageUserDetailsActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.PersonalCenterActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.PersonalCenterActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.RegisterActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.RegisterActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.RegisterActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.RegisterActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.ReturnSuccessActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ReturnSuccessActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.SearchResultActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.SearchResultActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.SearchResultActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.SearchResultActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.SearchResultActivity +-down- com.zhang.bms.ui.SearchResultActivity.BookOnClickListener
|
||||||
|
com.zhang.bms.ui.SearchResultActivity.BookOnClickListener .up.|> android.widget.AdapterView.OnItemClickListener
|
||||||
|
com.zhang.bms.ui.ShowBooksActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ShowBooksActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ShowBooksActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ShowBooksActivity o-- com.zhang.bms.control.BookTableHelper : bookTableHelper
|
||||||
|
com.zhang.bms.ui.ShowBooksActivity +-down- com.zhang.bms.ui.ShowBooksActivity.BookOnClickListener
|
||||||
|
com.zhang.bms.ui.ShowBooksActivity.BookOnClickListener .up.|> android.widget.AdapterView.OnItemClickListener
|
||||||
|
com.zhang.bms.ui.ShowBorrowActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.ShowBorrowActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.ShowBorrowActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.ShowBorrowActivity o-- com.zhang.bms.control.BorrowTableHelper : borrowTableHelper
|
||||||
|
com.zhang.bms.ui.UserManageActivity .up.|> android.view.View.OnClickListener
|
||||||
|
com.zhang.bms.ui.UserManageActivity -up-|> androidx.appcompat.app.AppCompatActivity
|
||||||
|
com.zhang.bms.ui.UserManageActivity o-- com.zhang.bms.control.DBHelper : dbHelper
|
||||||
|
com.zhang.bms.ui.UserManageActivity o-- com.zhang.bms.control.UserTableHelper : userTableHelper
|
||||||
|
com.zhang.bms.ui.UserManageActivity +-down- com.zhang.bms.ui.UserManageActivity.UserOnClickListener
|
||||||
|
com.zhang.bms.ui.UserManageActivity.UserOnClickListener .up.|> android.widget.AdapterView.OnItemClickListener
|
||||||
|
|
||||||
|
|
||||||
|
right footer
|
||||||
|
|
||||||
|
|
||||||
|
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
|
||||||
|
For more information about this tool, please contact philippe.mesmeur@gmail.com
|
||||||
|
endfooter
|
||||||
|
|
||||||
|
@enduml
|
After Width: | Height: | Size: 171 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 478 B |
After Width: | Height: | Size: 413 B |
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/colorwhite" /> <!-- 填充的颜色:这里设置背景透明 -->
|
||||||
|
<corners android:radius="8dp"/><!-- android:radius 弧形的半径 -->
|
||||||
|
</shape>
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/colorwhite" /> <!-- 填充的颜色:这里设置背景透明 -->
|
||||||
|
<corners android:radius="20dp"/><!-- android:radius 弧形的半径 -->
|
||||||
|
</shape>
|
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 9.6 KiB |
@ -0,0 +1,6 @@
|
|||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<item android:drawable="@drawable/btn_sq_dialog_cancel_press" android:state_pressed="false"/>
|
||||||
|
<item android:drawable="@drawable/btn_sq_dialog_cancel_normal" android:state_pressed="true"/>
|
||||||
|
|
||||||
|
</selector>
|
@ -0,0 +1,6 @@
|
|||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<item android:drawable="@drawable/btn_sq_dialog_cancel_normal" android:state_pressed="false"/>
|
||||||
|
<item android:drawable="@drawable/btn_sq_dialog_cancel_press" android:state_pressed="true"/>
|
||||||
|
|
||||||
|
</selector>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/colorwhite" /> <!-- 填充的颜色:这里设置背景透明 -->
|
||||||
|
<corners android:radius="10dp" /><!-- android:radius 弧形的半径 -->
|
||||||
|
<stroke
|
||||||
|
android:width="1dp"
|
||||||
|
android:color="@color/color_sq_dialog_xian"/>
|
||||||
|
</shape>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/color_sq_dialog_cancel_btn_press" /> <!-- 填充的颜色:这里设置背景透明 -->
|
||||||
|
<corners android:radius="10dp" /><!-- android:radius 弧形的半径 -->
|
||||||
|
<stroke
|
||||||
|
android:width="1dp"
|
||||||
|
android:color="@color/color_sq_dialog_xian"/>
|
||||||
|
</shape>
|