@ -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>
|