diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..603b140 --- /dev/null +++ b/.gitignore @@ -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 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..bb9c7ae --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +PENGPERSONAL \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..d3b1fde --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..a5f05cd --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6199cc2 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/modules.plantuml b/.idea/modules/modules.plantuml new file mode 100644 index 0000000..922d387 --- /dev/null +++ b/.idea/modules/modules.plantuml @@ -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 diff --git a/PENGPERSONAL.plantuml b/PENGPERSONAL.plantuml new file mode 100644 index 0000000..d2113c0 --- /dev/null +++ b/PENGPERSONAL.plantuml @@ -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 diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..91f3d2e --- /dev/null +++ b/app/build.gradle @@ -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' + +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -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 \ No newline at end of file diff --git a/app/src/androidTest/java/com/zhang/pengpersonal/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/zhang/pengpersonal/ExampleInstrumentedTest.java new file mode 100644 index 0000000..2a73b8a --- /dev/null +++ b/app/src/androidTest/java/com/zhang/pengpersonal/ExampleInstrumentedTest.java @@ -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 Testing documentation + */ +@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()); + } +} \ No newline at end of file diff --git a/app/src/androidTest/java/com/zhang/pengpersonal/pengpersonal.plantuml b/app/src/androidTest/java/com/zhang/pengpersonal/pengpersonal.plantuml new file mode 100644 index 0000000..fc8657d --- /dev/null +++ b/app/src/androidTest/java/com/zhang/pengpersonal/pengpersonal.plantuml @@ -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 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b46f8bd --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/zhang/pengpersonal/MainActivity.java b/app/src/main/java/com/zhang/pengpersonal/MainActivity.java new file mode 100644 index 0000000..bf47db9 --- /dev/null +++ b/app/src/main/java/com/zhang/pengpersonal/MainActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/zhang/pengpersonal/pengpersonal.plantuml b/app/src/main/java/com/zhang/pengpersonal/pengpersonal.plantuml new file mode 100644 index 0000000..0f67ff7 --- /dev/null +++ b/app/src/main/java/com/zhang/pengpersonal/pengpersonal.plantuml @@ -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 diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..4fc2444 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..a571e60 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..61da551 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..c41dd28 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..db5080a Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..6dba46d Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..da31a87 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..15ac681 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..b216f2d Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..f25a419 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..e96783c Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..4faecfa --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #6200EE + #3700B3 + #03DAC5 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..2ce9953 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + PENGPERSONAL + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..fac9291 --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/zhang/pengpersonal/ExampleUnitTest.java b/app/src/test/java/com/zhang/pengpersonal/ExampleUnitTest.java new file mode 100644 index 0000000..60d76a6 --- /dev/null +++ b/app/src/test/java/com/zhang/pengpersonal/ExampleUnitTest.java @@ -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 Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/app/src/test/java/com/zhang/pengpersonal/pengpersonal.plantuml b/app/src/test/java/com/zhang/pengpersonal/pengpersonal.plantuml new file mode 100644 index 0000000..0524f2f --- /dev/null +++ b/app/src/test/java/com/zhang/pengpersonal/pengpersonal.plantuml @@ -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 diff --git a/bms-__BMS_s_Class_Diagram____.png b/bms-__BMS_s_Class_Diagram____.png new file mode 100644 index 0000000..c793a0e Binary files /dev/null and b/bms-__BMS_s_Class_Diagram____.png differ diff --git a/bms/.gitignore b/bms/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/bms/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/bms/build.gradle b/bms/build.gradle new file mode 100644 index 0000000..f7ad7d4 --- /dev/null +++ b/bms/build.gradle @@ -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' + +} diff --git a/bms/proguard-rules.pro b/bms/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/bms/proguard-rules.pro @@ -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 \ No newline at end of file diff --git a/bms/src/androidTest/java/com/zhang/bms/ExampleInstrumentedTest.java b/bms/src/androidTest/java/com/zhang/bms/ExampleInstrumentedTest.java new file mode 100644 index 0000000..ef30273 --- /dev/null +++ b/bms/src/androidTest/java/com/zhang/bms/ExampleInstrumentedTest.java @@ -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 Testing documentation + */ +@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()); + } +} \ No newline at end of file diff --git a/bms/src/main/AndroidManifest.xml b/bms/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ddecf1c --- /dev/null +++ b/bms/src/main/AndroidManifest.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/ic_launcher-playstore.png b/bms/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000..0206a91 Binary files /dev/null and b/bms/src/main/ic_launcher-playstore.png differ diff --git a/bms/src/main/java/com/zhang/bms/MainActivity.java b/bms/src/main/java/com/zhang/bms/MainActivity.java new file mode 100644 index 0000000..5da5939 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/MainActivity.java @@ -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("正在跳转"); + } + } +} diff --git a/bms/src/main/java/com/zhang/bms/bms.plantuml b/bms/src/main/java/com/zhang/bms/bms.plantuml new file mode 100644 index 0000000..417d12f --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/bms.plantuml @@ -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 diff --git a/bms/src/main/java/com/zhang/bms/control/BookTableHelper.java b/bms/src/main/java/com/zhang/bms/control/BookTableHelper.java new file mode 100644 index 0000000..a93ec6b --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/control/BookTableHelper.java @@ -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 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 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 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 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 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 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 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 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 SearchCollection(DBHelper dbHelper,String searcher){ + SQLiteDatabase db = dbHelper.getWritableDatabase(); + Cursor cursor = db.rawQuery("select * from book where id in ("+searcher+")",null); + ArrayList 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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/control/BorrowTableHelper.java b/bms/src/main/java/com/zhang/bms/control/BorrowTableHelper.java new file mode 100644 index 0000000..b59e43c --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/control/BorrowTableHelper.java @@ -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 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 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 AllBorrow(DBHelper dbHelper){ + SQLiteDatabase db = dbHelper.getWritableDatabase(); + Cursor cursor = db.rawQuery("select * from borrow order by boid desc",null); + ArrayList 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(); + } +} diff --git a/bms/src/main/java/com/zhang/bms/control/DBHelper.java b/bms/src/main/java/com/zhang/bms/control/DBHelper.java new file mode 100644 index 0000000..a0d26e0 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/control/DBHelper.java @@ -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"); + } +} diff --git a/bms/src/main/java/com/zhang/bms/control/UserTableHelper.java b/bms/src/main/java/com/zhang/bms/control/UserTableHelper.java new file mode 100644 index 0000000..0ea5ee8 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/control/UserTableHelper.java @@ -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 UserList(DBHelper dbHelper){ + SQLiteDatabase db = dbHelper.getWritableDatabase(); + Cursor cursor = db.query("user",new String[]{"id","username","role"}, + null,null,null,null,"id desc"); + ArrayList 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 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 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 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 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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/control/control.plantuml b/bms/src/main/java/com/zhang/bms/control/control.plantuml new file mode 100644 index 0000000..186e873 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/control/control.plantuml @@ -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 diff --git a/bms/src/main/java/com/zhang/bms/model/Book.java b/bms/src/main/java/com/zhang/bms/model/Book.java new file mode 100644 index 0000000..cac3b23 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/Book.java @@ -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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/BookGridAdapter.java b/bms/src/main/java/com/zhang/bms/model/BookGridAdapter.java new file mode 100644 index 0000000..695fcc2 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/BookGridAdapter.java @@ -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 mBookList; + public BookGridAdapter(Context context,ArrayList 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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/BookListAdapter.java b/bms/src/main/java/com/zhang/bms/model/BookListAdapter.java new file mode 100644 index 0000000..33be6bb --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/BookListAdapter.java @@ -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 mBookList;//声明一个用户信息队列 + //用户适配器的构造函数,传入上下文与用户队列 + public BookListAdapter(Context context, ArrayList 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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/Borrow.java b/bms/src/main/java/com/zhang/bms/model/Borrow.java new file mode 100644 index 0000000..08172ea --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/Borrow.java @@ -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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/BorrowListAdapter.java b/bms/src/main/java/com/zhang/bms/model/BorrowListAdapter.java new file mode 100644 index 0000000..0947478 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/BorrowListAdapter.java @@ -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 mBorrowList; + private BookTableHelper bookTableHelper = new BookTableHelper(); + private ArrayList bookArrayList; + public BorrowListAdapter(Context context,ArrayList 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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/BorrowManageListAdapter.java b/bms/src/main/java/com/zhang/bms/model/BorrowManageListAdapter.java new file mode 100644 index 0000000..0a3cc9e --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/BorrowManageListAdapter.java @@ -0,0 +1,91 @@ +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 BorrowManageListAdapter extends BaseAdapter { + private Context mcontext; + private ArrayList mBorrowList; + private BookTableHelper bookTableHelper = new BookTableHelper(); + private ArrayList bookArrayList; + public BorrowManageListAdapter(Context context, ArrayList 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_manage,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.borrow_boid = convertView.findViewById(R.id.borrow_boid); + holder.backtime = convertView.findViewById(R.id.backtime); + holder.userid = convertView.findViewById(R.id.userid); + 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()); + holder.borrow_boid.setText("借阅ID:"+ borrow.getBoid()); + holder.userid.setText("借阅者ID:" + borrow.getUserid()); + if (borrow.getBostate() == 0){ + holder.borrow_state.setText("还书"); + 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 borrow_boid; + public TextView backtime; + public TextView reviewer; + public TextView userid; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/CustomEditTextDialog.java b/bms/src/main/java/com/zhang/bms/model/CustomEditTextDialog.java new file mode 100644 index 0000000..ee81a4a --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/CustomEditTextDialog.java @@ -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); + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/CustomSpinnerDialog.java b/bms/src/main/java/com/zhang/bms/model/CustomSpinnerDialog.java new file mode 100644 index 0000000..44985a0 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/CustomSpinnerDialog.java @@ -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); + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/GetTime.java b/bms/src/main/java/com/zhang/bms/model/GetTime.java new file mode 100644 index 0000000..9d3177d --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/GetTime.java @@ -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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/SqTipsDialog.java b/bms/src/main/java/com/zhang/bms/model/SqTipsDialog.java new file mode 100644 index 0000000..cd2a308 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/SqTipsDialog.java @@ -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); + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/StringTrans.java b/bms/src/main/java/com/zhang/bms/model/StringTrans.java new file mode 100644 index 0000000..bb93564 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/StringTrans.java @@ -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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/User.java b/bms/src/main/java/com/zhang/bms/model/User.java new file mode 100644 index 0000000..edb0a0b --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/User.java @@ -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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/UserListAdapter.java b/bms/src/main/java/com/zhang/bms/model/UserListAdapter.java new file mode 100644 index 0000000..4d4108e --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/UserListAdapter.java @@ -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 mUserList;//声明一个用户信息队列 + //用户适配器的构造函数,传入上下文与用户队列 + public UserListAdapter(Context context,ArrayList 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; + } +} diff --git a/bms/src/main/java/com/zhang/bms/model/model.plantuml b/bms/src/main/java/com/zhang/bms/model/model.plantuml new file mode 100644 index 0000000..bb063fb --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/model.plantuml @@ -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 + - mcontext : Context + + BookGridAdapter() + + getCount() + + getItem() + + getItemId() + + getView() + } + } + } + + + + + namespace com.zhang.bms { + namespace model { + class com.zhang.bms.model.BookListAdapter { + - mBookList : ArrayList + - 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 + - mBorrowList : ArrayList + - mcontext : Context + + BorrowListAdapter() + + getCount() + + getItem() + + getItemId() + + getView() + } + } + } + + + + + + namespace com.zhang.bms { + namespace model { + class com.zhang.bms.model.BorrowManageListAdapter { + - bookArrayList : ArrayList + - mBorrowList : ArrayList + - 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 + - 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 diff --git a/bms/src/main/java/com/zhang/bms/model/simpleArrayAdapter.java b/bms/src/main/java/com/zhang/bms/model/simpleArrayAdapter.java new file mode 100644 index 0000000..244a18b --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/model/simpleArrayAdapter.java @@ -0,0 +1,21 @@ +package com.zhang.bms.model; + +import android.content.Context; +import android.widget.ArrayAdapter; + +import java.util.List; + +public class simpleArrayAdapter extends ArrayAdapter { + //构造方法 + public simpleArrayAdapter(Context context, int resource, List 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; + } + +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/AddBookActivity.java b/bms/src/main/java/com/zhang/bms/ui/AddBookActivity.java new file mode 100644 index 0000000..fdd333a --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/AddBookActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/BookActivity.java b/bms/src/main/java/com/zhang/bms/ui/BookActivity.java new file mode 100644 index 0000000..a716c74 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/BookActivity.java @@ -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 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(); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/BookManageActivity.java b/bms/src/main/java/com/zhang/bms/ui/BookManageActivity.java new file mode 100644 index 0000000..c1fd717 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/BookManageActivity.java @@ -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 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); + } +} diff --git a/bms/src/main/java/com/zhang/bms/ui/BorrowManageActivity.java b/bms/src/main/java/com/zhang/bms/ui/BorrowManageActivity.java new file mode 100644 index 0000000..e0addf0 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/BorrowManageActivity.java @@ -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 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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/BorrowSuccessActivity.java b/bms/src/main/java/com/zhang/bms/ui/BorrowSuccessActivity.java new file mode 100644 index 0000000..72cbcd5 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/BorrowSuccessActivity.java @@ -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); + } + +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ChangePasswordActivity.java b/bms/src/main/java/com/zhang/bms/ui/ChangePasswordActivity.java new file mode 100644 index 0000000..448982e --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ChangePasswordActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/Change_synopsisActivity.java b/bms/src/main/java/com/zhang/bms/ui/Change_synopsisActivity.java new file mode 100644 index 0000000..c43049b --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/Change_synopsisActivity.java @@ -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; + } + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/FavoriteActivity.java b/bms/src/main/java/com/zhang/bms/ui/FavoriteActivity.java new file mode 100644 index 0000000..db72f90 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/FavoriteActivity.java @@ -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 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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ForgetPassActivity.java b/bms/src/main/java/com/zhang/bms/ui/ForgetPassActivity.java new file mode 100644 index 0000000..b6ce6c6 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ForgetPassActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/InputUsernameActivity.java b/bms/src/main/java/com/zhang/bms/ui/InputUsernameActivity.java new file mode 100644 index 0000000..5acb885 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/InputUsernameActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/LoginActivity.java b/bms/src/main/java/com/zhang/bms/ui/LoginActivity.java new file mode 100644 index 0000000..6c00a21 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/LoginActivity.java @@ -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 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); + } + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ManageBookDetailsActivity.java b/bms/src/main/java/com/zhang/bms/ui/ManageBookDetailsActivity.java new file mode 100644 index 0000000..0f21a46 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ManageBookDetailsActivity.java @@ -0,0 +1,215 @@ +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.BookTableHelper; +import com.zhang.bms.control.DBHelper; +import com.zhang.bms.model.Book; +import com.zhang.bms.model.CustomEditTextDialog; +import com.zhang.bms.model.CustomSpinnerDialog; +import com.zhang.bms.model.SqTipsDialog; + +import java.util.ArrayList; + +public class ManageBookDetailsActivity extends AppCompatActivity implements View.OnClickListener { + private ImageView back; + private EditText bookname; + private EditText ISBN; + private EditText author; + private EditText page; + private EditText press; + private EditText publicationtime; + private EditText category; + private TextView synopsis; + private EditText inventory; + private String get_bid; + private String o_ISBN; + private String o_bookname; + private String o_author; + private String o_press; + private String o_publicationtime; + private String o_category; + private String o_synopsis; + private String o_inventory; + private String o_page; + private Button save; + private Button delete; + private RelativeLayout change_synopsis; + final DBHelper dbHelper= new DBHelper(this,"bms",null,1); + BookTableHelper bookTableHelper = new BookTableHelper(); + private ArrayList bookArrayList; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_manage_book_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); + } + //取bid,查询图书详细信息 + get_bid = intent.getStringExtra("bid"); + bookArrayList = bookTableHelper.BookDetails(dbHelper,get_bid); + bookname.setText(bookArrayList.get(0).getBookname()); + ISBN.setText(bookArrayList.get(0).getISBN()); + author.setText(bookArrayList.get(0).getAuthor()); + page.setText(bookArrayList.get(0).getPage()+""); + press.setText(bookArrayList.get(0).getPress()); + publicationtime.setText(bookArrayList.get(0).getPublicationtime()); + category.setText(bookArrayList.get(0).getCategory()); + synopsis.setText(bookArrayList.get(0).getSynopsis()); + inventory.setText(bookArrayList.get(0).getinventory()+""); + //原数据缓存 + o_ISBN = ISBN.getText().toString(); + o_bookname = bookname.getText().toString(); + o_author = author.getText().toString(); + o_press = press.getText().toString(); + o_publicationtime = publicationtime.getText().toString(); + o_category = category.getText().toString(); + o_synopsis = synopsis.getText().toString(); + o_inventory = inventory.getText().toString(); + o_page = page.getText().toString(); + } + + private void InitView(){ + bookname = findViewById(R.id.bookdetails_bookname); + ISBN = findViewById(R.id.bookdetails_bid); + author = findViewById(R.id.bookdetails_author); + press = findViewById(R.id.bookdetails_press); + page = findViewById(R.id.bookdetails_page); + publicationtime = findViewById(R.id.bookdetails_publicationtime); + category = findViewById(R.id.bookdetails_category); + synopsis = findViewById(R.id.bookdetails_synopsis); + inventory = findViewById(R.id.bookdetails_price); + save = findViewById(R.id.bookdetails_btn_save); + save.setOnClickListener(this); + delete = findViewById(R.id.bookdetails_btn_delete); + delete.setOnClickListener(this); + back = findViewById(R.id.iv_back); + back.setOnClickListener(this); + change_synopsis = findViewById(R.id.change_synopsis); + change_synopsis.setOnClickListener(this); + } + + @Override + public void onClick(View v) { + final SqTipsDialog sqTipsDialog = new SqTipsDialog(this); + switch (v.getId()){ + case R.id.change_synopsis: + Intent change_s = new Intent(this,Change_synopsisActivity.class); + change_s.putExtra("o_synopsis",synopsis.getText().toString()); + startActivityForResult(change_s,1); + break; + case R.id.iv_back: + Intent intent = new Intent(ManageBookDetailsActivity.this,BookManageActivity.class); + startActivity(intent); + break; + case R.id.bookdetails_btn_save: + final String s_ISBN = ISBN.getText().toString(); + final String s_bookname = bookname.getText().toString(); + final String s_author = author.getText().toString(); + final String s_press = press.getText().toString(); + final String s_publicationtime = publicationtime.getText().toString(); + final String s_category = category.getText().toString(); + final String s_page = page.getText().toString(); + final String s_synopsis = synopsis.getText().toString(); + final String s_inventory = inventory.getText().toString(); + if (!s_bookname.equals(o_bookname) || !s_author.equals(o_author) || !s_press.equals(o_press) + || !s_publicationtime.equals(o_publicationtime) || !s_category.equals(o_category) + || !s_page.equals(o_page) || !s_synopsis.equals(o_synopsis) + || !s_inventory.equals(o_inventory) || !s_ISBN.equals(o_ISBN)){ + sqTipsDialog.setTitle("提示"); + sqTipsDialog.setMsg("您正在试图更改图书信息,是否保存更改?") + .setCancelable(true); + sqTipsDialog.setOnCanlceListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(ManageBookDetailsActivity.this,"未作出任何修改。",Toast.LENGTH_SHORT).show(); + Intent back = new Intent(ManageBookDetailsActivity.this,BookManageActivity.class); + startActivity(back); + } + }); + sqTipsDialog.setOnSureListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + boolean result = bookTableHelper.UpdateBook(dbHelper,get_bid,s_ISBN,s_bookname, + s_author, s_press, s_publicationtime, s_category,s_synopsis, + Integer.parseInt(s_inventory), Integer.parseInt(s_page)); + if (result == true){ + Toast.makeText(ManageBookDetailsActivity.this,"修改成功!",Toast.LENGTH_SHORT).show(); + Intent goto_list = new Intent(ManageBookDetailsActivity.this,BookManageActivity.class); + startActivity(goto_list); + }else { + Toast.makeText(ManageBookDetailsActivity.this,"修改失败!",Toast.LENGTH_SHORT).show(); + } + } + }); + sqTipsDialog.show(); + }else { + Toast.makeText(ManageBookDetailsActivity.this,"未作出任何修改。",Toast.LENGTH_SHORT).show(); + Intent back = new Intent(ManageBookDetailsActivity.this,BookManageActivity.class); + startActivity(back); + } + break; + case R.id.bookdetails_btn_delete: + sqTipsDialog.setTitle("提示"); + sqTipsDialog.setMsg("确认删除《" +o_bookname+ "》?此操作不可逆!") + .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) { + bookTableHelper.DeleteBook(dbHelper,get_bid); + Toast.makeText(ManageBookDetailsActivity.this,"删除成功!",Toast.LENGTH_SHORT).show(); + Intent back = new Intent(ManageBookDetailsActivity.this,BookManageActivity.class); + startActivity(back); + } + }); + sqTipsDialog.show(); + break; + } + } + @Override + protected void onActivityResult(int requestCode,int resultCode,Intent data) { + + super.onActivityResult(requestCode, resultCode, data); + if (data != null){ + if (requestCode == 1){ + if (resultCode ==1){ + String n_synopsis = (String) data.getSerializableExtra("n_synopsis"); + synopsis.setText(n_synopsis); + } + } + } + } + @Override + public void onBackPressed() { + super.onBackPressed();//注释掉这行,back键不退出activity + Intent intent = new Intent(ManageBookDetailsActivity.this,BookManageActivity.class); + startActivity(intent); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ManageIndexActivity.java b/bms/src/main/java/com/zhang/bms/ui/ManageIndexActivity.java new file mode 100644 index 0000000..775cd20 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ManageIndexActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ManageUserDetailsActivity.java b/bms/src/main/java/com/zhang/bms/ui/ManageUserDetailsActivity.java new file mode 100644 index 0000000..06fab2e --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ManageUserDetailsActivity.java @@ -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 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 roleAdapter = new ArrayAdapter(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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/PersonalCenterActivity.java b/bms/src/main/java/com/zhang/bms/ui/PersonalCenterActivity.java new file mode 100644 index 0000000..277ee5e --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/PersonalCenterActivity.java @@ -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(); + } + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/RegisterActivity.java b/bms/src/main/java/com/zhang/bms/ui/RegisterActivity.java new file mode 100644 index 0000000..2aa7177 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/RegisterActivity.java @@ -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 data_list = new ArrayList(); + 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 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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ReturnSuccessActivity.java b/bms/src/main/java/com/zhang/bms/ui/ReturnSuccessActivity.java new file mode 100644 index 0000000..d8b1138 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ReturnSuccessActivity.java @@ -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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/SearchResultActivity.java b/bms/src/main/java/com/zhang/bms/ui/SearchResultActivity.java new file mode 100644 index 0000000..9e98905 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/SearchResultActivity.java @@ -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 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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ShowBooksActivity.java b/bms/src/main/java/com/zhang/bms/ui/ShowBooksActivity.java new file mode 100644 index 0000000..1caf418 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ShowBooksActivity.java @@ -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 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 + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ShowBorrowActivity.java b/bms/src/main/java/com/zhang/bms/ui/ShowBorrowActivity.java new file mode 100644 index 0000000..6c9d4ff --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ShowBorrowActivity.java @@ -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 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; + } + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/UserManageActivity.java b/bms/src/main/java/com/zhang/bms/ui/UserManageActivity.java new file mode 100644 index 0000000..df55f52 --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/UserManageActivity.java @@ -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 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); + } +} \ No newline at end of file diff --git a/bms/src/main/java/com/zhang/bms/ui/ui.plantuml b/bms/src/main/java/com/zhang/bms/ui/ui.plantuml new file mode 100644 index 0000000..eb8b97b --- /dev/null +++ b/bms/src/main/java/com/zhang/bms/ui/ui.plantuml @@ -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 + - 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 + - listView : ListView + - um : LinearLayout + + InitView() + + onBackPressed() + + onClick() + # onCreate() + - InitBookList() + } + } + } + + + + + + namespace com.zhang.bms { + namespace ui { + class com.zhang.bms.ui.BorrowManageActivity { + - arrayList : ArrayList + - 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 + - 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 + - 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 + - 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 + - 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 + - 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 + - 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 + - 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 + + 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 diff --git a/bms/src/main/res/drawable-v24/back.png b/bms/src/main/res/drawable-v24/back.png new file mode 100644 index 0000000..f14121a Binary files /dev/null and b/bms/src/main/res/drawable-v24/back.png differ diff --git a/bms/src/main/res/drawable-v24/back2.png b/bms/src/main/res/drawable-v24/back2.png new file mode 100644 index 0000000..ca44d3a Binary files /dev/null and b/bms/src/main/res/drawable-v24/back2.png differ diff --git a/bms/src/main/res/drawable-v24/ban_change.png b/bms/src/main/res/drawable-v24/ban_change.png new file mode 100644 index 0000000..ea92b47 Binary files /dev/null and b/bms/src/main/res/drawable-v24/ban_change.png differ diff --git a/bms/src/main/res/drawable-v24/ban_edit.png b/bms/src/main/res/drawable-v24/ban_edit.png new file mode 100644 index 0000000..9790824 Binary files /dev/null and b/bms/src/main/res/drawable-v24/ban_edit.png differ diff --git a/bms/src/main/res/drawable-v24/bg_card1.xml b/bms/src/main/res/drawable-v24/bg_card1.xml new file mode 100644 index 0000000..8a82ae3 --- /dev/null +++ b/bms/src/main/res/drawable-v24/bg_card1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/bg_card2.xml b/bms/src/main/res/drawable-v24/bg_card2.xml new file mode 100644 index 0000000..5e3e15b --- /dev/null +++ b/bms/src/main/res/drawable-v24/bg_card2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/bms_logo.png b/bms/src/main/res/drawable-v24/bms_logo.png new file mode 100644 index 0000000..c1229b5 Binary files /dev/null and b/bms/src/main/res/drawable-v24/bms_logo.png differ diff --git a/bms/src/main/res/drawable-v24/book_pic.jpg b/bms/src/main/res/drawable-v24/book_pic.jpg new file mode 100644 index 0000000..a583769 Binary files /dev/null and b/bms/src/main/res/drawable-v24/book_pic.jpg differ diff --git a/bms/src/main/res/drawable-v24/btn_collected_sq.xml b/bms/src/main/res/drawable-v24/btn_collected_sq.xml new file mode 100644 index 0000000..67cc9b2 --- /dev/null +++ b/bms/src/main/res/drawable-v24/btn_collected_sq.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/btn_dialog_cancel_sq.xml b/bms/src/main/res/drawable-v24/btn_dialog_cancel_sq.xml new file mode 100644 index 0000000..eae1acb --- /dev/null +++ b/bms/src/main/res/drawable-v24/btn_dialog_cancel_sq.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/btn_sq_dialog_cancel_normal.xml b/bms/src/main/res/drawable-v24/btn_sq_dialog_cancel_normal.xml new file mode 100644 index 0000000..e73c347 --- /dev/null +++ b/bms/src/main/res/drawable-v24/btn_sq_dialog_cancel_normal.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/btn_sq_dialog_cancel_press.xml b/bms/src/main/res/drawable-v24/btn_sq_dialog_cancel_press.xml new file mode 100644 index 0000000..2d52665 --- /dev/null +++ b/bms/src/main/res/drawable-v24/btn_sq_dialog_cancel_press.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/change.png b/bms/src/main/res/drawable-v24/change.png new file mode 100644 index 0000000..e8933bc Binary files /dev/null and b/bms/src/main/res/drawable-v24/change.png differ diff --git a/bms/src/main/res/drawable-v24/changed.png b/bms/src/main/res/drawable-v24/changed.png new file mode 100644 index 0000000..3d18a92 Binary files /dev/null and b/bms/src/main/res/drawable-v24/changed.png differ diff --git a/bms/src/main/res/drawable-v24/default_avatar.jpg b/bms/src/main/res/drawable-v24/default_avatar.jpg new file mode 100644 index 0000000..330d595 Binary files /dev/null and b/bms/src/main/res/drawable-v24/default_avatar.jpg differ diff --git a/bms/src/main/res/drawable-v24/edit.png b/bms/src/main/res/drawable-v24/edit.png new file mode 100644 index 0000000..0e31b04 Binary files /dev/null and b/bms/src/main/res/drawable-v24/edit.png differ diff --git a/bms/src/main/res/drawable-v24/edit_sq_none.xml b/bms/src/main/res/drawable-v24/edit_sq_none.xml new file mode 100644 index 0000000..a5662ee --- /dev/null +++ b/bms/src/main/res/drawable-v24/edit_sq_none.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/funbar_collection.png b/bms/src/main/res/drawable-v24/funbar_collection.png new file mode 100644 index 0000000..7df7e5a Binary files /dev/null and b/bms/src/main/res/drawable-v24/funbar_collection.png differ diff --git a/bms/src/main/res/drawable-v24/funbar_history.png b/bms/src/main/res/drawable-v24/funbar_history.png new file mode 100644 index 0000000..a73aa3b Binary files /dev/null and b/bms/src/main/res/drawable-v24/funbar_history.png differ diff --git a/bms/src/main/res/drawable-v24/funbar_msg.png b/bms/src/main/res/drawable-v24/funbar_msg.png new file mode 100644 index 0000000..8fbfd2e Binary files /dev/null and b/bms/src/main/res/drawable-v24/funbar_msg.png differ diff --git a/bms/src/main/res/drawable-v24/funbar_order.png b/bms/src/main/res/drawable-v24/funbar_order.png new file mode 100644 index 0000000..26ba2c2 Binary files /dev/null and b/bms/src/main/res/drawable-v24/funbar_order.png differ diff --git a/bms/src/main/res/drawable-v24/ic_launcher_foreground.xml b/bms/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/bms/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/icon_add.png b/bms/src/main/res/drawable-v24/icon_add.png new file mode 100644 index 0000000..bcf6fec Binary files /dev/null and b/bms/src/main/res/drawable-v24/icon_add.png differ diff --git a/bms/src/main/res/drawable-v24/icon_role.png b/bms/src/main/res/drawable-v24/icon_role.png new file mode 100644 index 0000000..34d706d Binary files /dev/null and b/bms/src/main/res/drawable-v24/icon_role.png differ diff --git a/bms/src/main/res/drawable-v24/ill_mi.png b/bms/src/main/res/drawable-v24/ill_mi.png new file mode 100644 index 0000000..7a1c369 Binary files /dev/null and b/bms/src/main/res/drawable-v24/ill_mi.png differ diff --git a/bms/src/main/res/drawable-v24/ill_nonedata.png b/bms/src/main/res/drawable-v24/ill_nonedata.png new file mode 100644 index 0000000..f6761b2 Binary files /dev/null and b/bms/src/main/res/drawable-v24/ill_nonedata.png differ diff --git a/bms/src/main/res/drawable-v24/ill_null.png b/bms/src/main/res/drawable-v24/ill_null.png new file mode 100644 index 0000000..7be81bd Binary files /dev/null and b/bms/src/main/res/drawable-v24/ill_null.png differ diff --git a/bms/src/main/res/drawable-v24/ill_success.png b/bms/src/main/res/drawable-v24/ill_success.png new file mode 100644 index 0000000..dc70df1 Binary files /dev/null and b/bms/src/main/res/drawable-v24/ill_success.png differ diff --git a/bms/src/main/res/drawable-v24/list_bar1.xml b/bms/src/main/res/drawable-v24/list_bar1.xml new file mode 100644 index 0000000..f7e522c --- /dev/null +++ b/bms/src/main/res/drawable-v24/list_bar1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/list_bar2.xml b/bms/src/main/res/drawable-v24/list_bar2.xml new file mode 100644 index 0000000..c1d6ad3 --- /dev/null +++ b/bms/src/main/res/drawable-v24/list_bar2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/list_bar3.xml b/bms/src/main/res/drawable-v24/list_bar3.xml new file mode 100644 index 0000000..dafbcee --- /dev/null +++ b/bms/src/main/res/drawable-v24/list_bar3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/list_item_style1.xml b/bms/src/main/res/drawable-v24/list_item_style1.xml new file mode 100644 index 0000000..6ca36f0 --- /dev/null +++ b/bms/src/main/res/drawable-v24/list_item_style1.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/list_item_style2.xml b/bms/src/main/res/drawable-v24/list_item_style2.xml new file mode 100644 index 0000000..3f86089 --- /dev/null +++ b/bms/src/main/res/drawable-v24/list_item_style2.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/mixkit_bg1.png b/bms/src/main/res/drawable-v24/mixkit_bg1.png new file mode 100644 index 0000000..0744b3a Binary files /dev/null and b/bms/src/main/res/drawable-v24/mixkit_bg1.png differ diff --git a/bms/src/main/res/drawable-v24/mixkit_bg2.png b/bms/src/main/res/drawable-v24/mixkit_bg2.png new file mode 100644 index 0000000..5c02876 Binary files /dev/null and b/bms/src/main/res/drawable-v24/mixkit_bg2.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_back.png b/bms/src/main/res/drawable-v24/navbar_back.png new file mode 100644 index 0000000..9e0e5eb Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_back.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_bm.png b/bms/src/main/res/drawable-v24/navbar_bm.png new file mode 100644 index 0000000..49d99f3 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_bm.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_bm_press.png b/bms/src/main/res/drawable-v24/navbar_bm_press.png new file mode 100644 index 0000000..dc21bd2 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_bm_press.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_book.png b/bms/src/main/res/drawable-v24/navbar_book.png new file mode 100644 index 0000000..3871808 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_book.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_book_press.png b/bms/src/main/res/drawable-v24/navbar_book_press.png new file mode 100644 index 0000000..6c51bb3 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_book_press.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_borrow.png b/bms/src/main/res/drawable-v24/navbar_borrow.png new file mode 100644 index 0000000..ace2402 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_borrow.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_borrow_press.png b/bms/src/main/res/drawable-v24/navbar_borrow_press.png new file mode 100644 index 0000000..5c1d7ea Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_borrow_press.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_me.png b/bms/src/main/res/drawable-v24/navbar_me.png new file mode 100644 index 0000000..f16af7d Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_me.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_me_press.png b/bms/src/main/res/drawable-v24/navbar_me_press.png new file mode 100644 index 0000000..382d521 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_me_press.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_um.png b/bms/src/main/res/drawable-v24/navbar_um.png new file mode 100644 index 0000000..3244ed9 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_um.png differ diff --git a/bms/src/main/res/drawable-v24/navbar_um_press.png b/bms/src/main/res/drawable-v24/navbar_um_press.png new file mode 100644 index 0000000..25cccc5 Binary files /dev/null and b/bms/src/main/res/drawable-v24/navbar_um_press.png differ diff --git a/bms/src/main/res/drawable-v24/new_account.png b/bms/src/main/res/drawable-v24/new_account.png new file mode 100644 index 0000000..ab5802f Binary files /dev/null and b/bms/src/main/res/drawable-v24/new_account.png differ diff --git a/bms/src/main/res/drawable-v24/new_password.png b/bms/src/main/res/drawable-v24/new_password.png new file mode 100644 index 0000000..5454955 Binary files /dev/null and b/bms/src/main/res/drawable-v24/new_password.png differ diff --git a/bms/src/main/res/drawable-v24/newstart.png b/bms/src/main/res/drawable-v24/newstart.png new file mode 100644 index 0000000..53fb780 Binary files /dev/null and b/bms/src/main/res/drawable-v24/newstart.png differ diff --git a/bms/src/main/res/drawable-v24/selfie.png b/bms/src/main/res/drawable-v24/selfie.png new file mode 100644 index 0000000..52ae560 Binary files /dev/null and b/bms/src/main/res/drawable-v24/selfie.png differ diff --git a/bms/src/main/res/drawable-v24/sq_back.png b/bms/src/main/res/drawable-v24/sq_back.png new file mode 100644 index 0000000..939d890 Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_back.png differ diff --git a/bms/src/main/res/drawable-v24/sq_back2.png b/bms/src/main/res/drawable-v24/sq_back2.png new file mode 100644 index 0000000..4483d90 Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_back2.png differ diff --git a/bms/src/main/res/drawable-v24/sq_check_normal.png b/bms/src/main/res/drawable-v24/sq_check_normal.png new file mode 100644 index 0000000..6a4544f Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_check_normal.png differ diff --git a/bms/src/main/res/drawable-v24/sq_check_normal2.png b/bms/src/main/res/drawable-v24/sq_check_normal2.png new file mode 100644 index 0000000..2bd84d0 Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_check_normal2.png differ diff --git a/bms/src/main/res/drawable-v24/sq_check_press.png b/bms/src/main/res/drawable-v24/sq_check_press.png new file mode 100644 index 0000000..8a9813c Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_check_press.png differ diff --git a/bms/src/main/res/drawable-v24/sq_dialog_bg.xml b/bms/src/main/res/drawable-v24/sq_dialog_bg.xml new file mode 100644 index 0000000..1c2dd09 --- /dev/null +++ b/bms/src/main/res/drawable-v24/sq_dialog_bg.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable-v24/sq_goin.png b/bms/src/main/res/drawable-v24/sq_goin.png new file mode 100644 index 0000000..e33d9ac Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_goin.png differ diff --git a/bms/src/main/res/drawable-v24/sq_spinner.png b/bms/src/main/res/drawable-v24/sq_spinner.png new file mode 100644 index 0000000..a71a9dd Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_spinner.png differ diff --git a/bms/src/main/res/drawable-v24/sq_spinner_2.png b/bms/src/main/res/drawable-v24/sq_spinner_2.png new file mode 100644 index 0000000..8a98069 Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_spinner_2.png differ diff --git a/bms/src/main/res/drawable-v24/sq_spinner_3.png b/bms/src/main/res/drawable-v24/sq_spinner_3.png new file mode 100644 index 0000000..e492180 Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_spinner_3.png differ diff --git a/bms/src/main/res/drawable-v24/sq_spinner_icon.png b/bms/src/main/res/drawable-v24/sq_spinner_icon.png new file mode 100644 index 0000000..9fa26b2 Binary files /dev/null and b/bms/src/main/res/drawable-v24/sq_spinner_icon.png differ diff --git a/bms/src/main/res/drawable-v24/start.png b/bms/src/main/res/drawable-v24/start.png new file mode 100644 index 0000000..5646b82 Binary files /dev/null and b/bms/src/main/res/drawable-v24/start.png differ diff --git a/bms/src/main/res/drawable-v24/undraw_add.png b/bms/src/main/res/drawable-v24/undraw_add.png new file mode 100644 index 0000000..4f30d5c Binary files /dev/null and b/bms/src/main/res/drawable-v24/undraw_add.png differ diff --git a/bms/src/main/res/drawable-v24/undraw_setup.jpg b/bms/src/main/res/drawable-v24/undraw_setup.jpg new file mode 100644 index 0000000..675bce7 Binary files /dev/null and b/bms/src/main/res/drawable-v24/undraw_setup.jpg differ diff --git a/bms/src/main/res/drawable/bg_card3.xml b/bms/src/main/res/drawable/bg_card3.xml new file mode 100644 index 0000000..5e3e15b --- /dev/null +++ b/bms/src/main/res/drawable/bg_card3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/bg_card4.xml b/bms/src/main/res/drawable/bg_card4.xml new file mode 100644 index 0000000..9ffa046 --- /dev/null +++ b/bms/src/main/res/drawable/bg_card4.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/bg_dialog_confirm.xml b/bms/src/main/res/drawable/bg_dialog_confirm.xml new file mode 100644 index 0000000..ea84a53 --- /dev/null +++ b/bms/src/main/res/drawable/bg_dialog_confirm.xml @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/bg_login.jpg b/bms/src/main/res/drawable/bg_login.jpg new file mode 100644 index 0000000..072e618 Binary files /dev/null and b/bms/src/main/res/drawable/bg_login.jpg differ diff --git a/bms/src/main/res/drawable/bg_regist.png b/bms/src/main/res/drawable/bg_regist.png new file mode 100644 index 0000000..45742d6 Binary files /dev/null and b/bms/src/main/res/drawable/bg_regist.png differ diff --git a/bms/src/main/res/drawable/btn_normal1.xml b/bms/src/main/res/drawable/btn_normal1.xml new file mode 100644 index 0000000..9c404d1 --- /dev/null +++ b/bms/src/main/res/drawable/btn_normal1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_normal2.xml b/bms/src/main/res/drawable/btn_normal2.xml new file mode 100644 index 0000000..dafbcee --- /dev/null +++ b/bms/src/main/res/drawable/btn_normal2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_normal3.xml b/bms/src/main/res/drawable/btn_normal3.xml new file mode 100644 index 0000000..bc9dcd4 --- /dev/null +++ b/bms/src/main/res/drawable/btn_normal3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_normal4.xml b/bms/src/main/res/drawable/btn_normal4.xml new file mode 100644 index 0000000..a985179 --- /dev/null +++ b/bms/src/main/res/drawable/btn_normal4.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_press1.xml b/bms/src/main/res/drawable/btn_press1.xml new file mode 100644 index 0000000..126cf02 --- /dev/null +++ b/bms/src/main/res/drawable/btn_press1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_press2.xml b/bms/src/main/res/drawable/btn_press2.xml new file mode 100644 index 0000000..6f06b03 --- /dev/null +++ b/bms/src/main/res/drawable/btn_press2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_press3.xml b/bms/src/main/res/drawable/btn_press3.xml new file mode 100644 index 0000000..e930af9 --- /dev/null +++ b/bms/src/main/res/drawable/btn_press3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_sq.xml b/bms/src/main/res/drawable/btn_sq.xml new file mode 100644 index 0000000..1a62e48 --- /dev/null +++ b/bms/src/main/res/drawable/btn_sq.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_sq_borrownull.xml b/bms/src/main/res/drawable/btn_sq_borrownull.xml new file mode 100644 index 0000000..d815351 --- /dev/null +++ b/bms/src/main/res/drawable/btn_sq_borrownull.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_sq_normal.xml b/bms/src/main/res/drawable/btn_sq_normal.xml new file mode 100644 index 0000000..fc31cbe --- /dev/null +++ b/bms/src/main/res/drawable/btn_sq_normal.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_sq_press.xml b/bms/src/main/res/drawable/btn_sq_press.xml new file mode 100644 index 0000000..ece776e --- /dev/null +++ b/bms/src/main/res/drawable/btn_sq_press.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_style1.xml b/bms/src/main/res/drawable/btn_style1.xml new file mode 100644 index 0000000..2022031 --- /dev/null +++ b/bms/src/main/res/drawable/btn_style1.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_style2.xml b/bms/src/main/res/drawable/btn_style2.xml new file mode 100644 index 0000000..c8aeca1 --- /dev/null +++ b/bms/src/main/res/drawable/btn_style2.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_style3.xml b/bms/src/main/res/drawable/btn_style3.xml new file mode 100644 index 0000000..63955bb --- /dev/null +++ b/bms/src/main/res/drawable/btn_style3.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/btn_style_card.xml b/bms/src/main/res/drawable/btn_style_card.xml new file mode 100644 index 0000000..14bceeb --- /dev/null +++ b/bms/src/main/res/drawable/btn_style_card.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/checkbox_normal.png b/bms/src/main/res/drawable/checkbox_normal.png new file mode 100644 index 0000000..22e8611 Binary files /dev/null and b/bms/src/main/res/drawable/checkbox_normal.png differ diff --git a/bms/src/main/res/drawable/checkbox_press.png b/bms/src/main/res/drawable/checkbox_press.png new file mode 100644 index 0000000..ec6c8ab Binary files /dev/null and b/bms/src/main/res/drawable/checkbox_press.png differ diff --git a/bms/src/main/res/drawable/checkbox_sq.xml b/bms/src/main/res/drawable/checkbox_sq.xml new file mode 100644 index 0000000..0fc5cba --- /dev/null +++ b/bms/src/main/res/drawable/checkbox_sq.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/checkbox_style1.xml b/bms/src/main/res/drawable/checkbox_style1.xml new file mode 100644 index 0000000..6f7189e --- /dev/null +++ b/bms/src/main/res/drawable/checkbox_style1.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/default_book100.jpg b/bms/src/main/res/drawable/default_book100.jpg new file mode 100644 index 0000000..6d2c3ad Binary files /dev/null and b/bms/src/main/res/drawable/default_book100.jpg differ diff --git a/bms/src/main/res/drawable/edit_sq.xml b/bms/src/main/res/drawable/edit_sq.xml new file mode 100644 index 0000000..ef81404 --- /dev/null +++ b/bms/src/main/res/drawable/edit_sq.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/edit_sq_normal.xml b/bms/src/main/res/drawable/edit_sq_normal.xml new file mode 100644 index 0000000..6297021 --- /dev/null +++ b/bms/src/main/res/drawable/edit_sq_normal.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/edit_sq_press.xml b/bms/src/main/res/drawable/edit_sq_press.xml new file mode 100644 index 0000000..913e2a5 --- /dev/null +++ b/bms/src/main/res/drawable/edit_sq_press.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/edit_style1.xml b/bms/src/main/res/drawable/edit_style1.xml new file mode 100644 index 0000000..88124f4 --- /dev/null +++ b/bms/src/main/res/drawable/edit_style1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/edit_style1_normal.xml b/bms/src/main/res/drawable/edit_style1_normal.xml new file mode 100644 index 0000000..6d76567 --- /dev/null +++ b/bms/src/main/res/drawable/edit_style1_normal.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/edit_style1_press.xml b/bms/src/main/res/drawable/edit_style1_press.xml new file mode 100644 index 0000000..65cca6c --- /dev/null +++ b/bms/src/main/res/drawable/edit_style1_press.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/edit_style2_normal.xml b/bms/src/main/res/drawable/edit_style2_normal.xml new file mode 100644 index 0000000..48a55d2 --- /dev/null +++ b/bms/src/main/res/drawable/edit_style2_normal.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/i_account.png b/bms/src/main/res/drawable/i_account.png new file mode 100644 index 0000000..a6faf78 Binary files /dev/null and b/bms/src/main/res/drawable/i_account.png differ diff --git a/bms/src/main/res/drawable/i_back.png b/bms/src/main/res/drawable/i_back.png new file mode 100644 index 0000000..fea0803 Binary files /dev/null and b/bms/src/main/res/drawable/i_back.png differ diff --git a/bms/src/main/res/drawable/i_passkey.png b/bms/src/main/res/drawable/i_passkey.png new file mode 100644 index 0000000..d6423ac Binary files /dev/null and b/bms/src/main/res/drawable/i_passkey.png differ diff --git a/bms/src/main/res/drawable/i_passkey_2.png b/bms/src/main/res/drawable/i_passkey_2.png new file mode 100644 index 0000000..52b9715 Binary files /dev/null and b/bms/src/main/res/drawable/i_passkey_2.png differ diff --git a/bms/src/main/res/drawable/i_passlock.png b/bms/src/main/res/drawable/i_passlock.png new file mode 100644 index 0000000..719c7dd Binary files /dev/null and b/bms/src/main/res/drawable/i_passlock.png differ diff --git a/bms/src/main/res/drawable/i_passlock_2.png b/bms/src/main/res/drawable/i_passlock_2.png new file mode 100644 index 0000000..d5e0b3d Binary files /dev/null and b/bms/src/main/res/drawable/i_passlock_2.png differ diff --git a/bms/src/main/res/drawable/i_password.png b/bms/src/main/res/drawable/i_password.png new file mode 100644 index 0000000..a135fe4 Binary files /dev/null and b/bms/src/main/res/drawable/i_password.png differ diff --git a/bms/src/main/res/drawable/i_username.png b/bms/src/main/res/drawable/i_username.png new file mode 100644 index 0000000..563e969 Binary files /dev/null and b/bms/src/main/res/drawable/i_username.png differ diff --git a/bms/src/main/res/drawable/ic_launcher_background.xml b/bms/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..ca3826a --- /dev/null +++ b/bms/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bms/src/main/res/drawable/icon_username.png b/bms/src/main/res/drawable/icon_username.png new file mode 100644 index 0000000..86fddfc Binary files /dev/null and b/bms/src/main/res/drawable/icon_username.png differ diff --git a/bms/src/main/res/drawable/result_null.png b/bms/src/main/res/drawable/result_null.png new file mode 100644 index 0000000..d8b2af2 Binary files /dev/null and b/bms/src/main/res/drawable/result_null.png differ diff --git a/bms/src/main/res/drawable/spinner.png b/bms/src/main/res/drawable/spinner.png new file mode 100644 index 0000000..7884823 Binary files /dev/null and b/bms/src/main/res/drawable/spinner.png differ diff --git a/bms/src/main/res/drawable/spinner2.png b/bms/src/main/res/drawable/spinner2.png new file mode 100644 index 0000000..fca911d Binary files /dev/null and b/bms/src/main/res/drawable/spinner2.png differ diff --git a/bms/src/main/res/drawable/spinner3.png b/bms/src/main/res/drawable/spinner3.png new file mode 100644 index 0000000..da36b53 Binary files /dev/null and b/bms/src/main/res/drawable/spinner3.png differ diff --git a/bms/src/main/res/drawable/spinner_style.xml b/bms/src/main/res/drawable/spinner_style.xml new file mode 100644 index 0000000..df5d16c --- /dev/null +++ b/bms/src/main/res/drawable/spinner_style.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/sq_search_back.xml b/bms/src/main/res/drawable/sq_search_back.xml new file mode 100644 index 0000000..13b65af --- /dev/null +++ b/bms/src/main/res/drawable/sq_search_back.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/drawable/sq_spinner_style.xml b/bms/src/main/res/drawable/sq_spinner_style.xml new file mode 100644 index 0000000..82539db --- /dev/null +++ b/bms/src/main/res/drawable/sq_spinner_style.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bms/src/main/res/layout/activity_add_book.xml b/bms/src/main/res/layout/activity_add_book.xml new file mode 100644 index 0000000..99a275c --- /dev/null +++ b/bms/src/main/res/layout/activity_add_book.xml @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +