From 0d71c5d517f6f7fc105af823d3056fa7cb13c8da Mon Sep 17 00:00:00 2001 From: dongjun <1066509557@qq.com> Date: Tue, 19 Mar 2024 22:46:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- loginandregister/.gitignore | 15 ++ loginandregister/.idea/.gitignore | 3 + loginandregister/.idea/compiler.xml | 6 + .../.idea/deploymentTargetDropDown.xml | 10 + loginandregister/.idea/gradle.xml | 19 ++ loginandregister/.idea/migrations.xml | 10 + loginandregister/.idea/misc.xml | 10 + loginandregister/app/.gitignore | 1 + loginandregister/app/build.gradle.kts | 40 ++++ loginandregister/app/proguard-rules.pro | 21 ++ .../ExampleInstrumentedTest.java | 26 +++ .../app/src/main/AndroidManifest.xml | 32 +++ .../loginandregister/LoginActivity.java | 30 +++ .../loginandregister/MainActivity.java | 32 +++ .../loginandregister/RegisterActivity.java | 54 +++++ .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 +++ .../src/main/res/layout/activity_login.xml | 60 ++++++ .../app/src/main/res/layout/activity_main.xml | 69 +++++++ .../src/main/res/layout/activity_register.xml | 51 +++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/values-night/themes.xml | 7 + .../app/src/main/res/values/colors.xml | 5 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/themes.xml | 9 + .../app/src/main/res/xml/backup_rules.xml | 13 ++ .../main/res/xml/data_extraction_rules.xml | 19 ++ .../loginandregister/ExampleUnitTest.java | 17 ++ loginandregister/build.gradle.kts | 4 + loginandregister/gradle.properties | 21 ++ loginandregister/gradle/libs.versions.toml | 22 +++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + loginandregister/gradlew | 185 ++++++++++++++++++ loginandregister/gradlew.bat | 89 +++++++++ loginandregister/settings.gradle.kts | 24 +++ 47 files changed, 1125 insertions(+) create mode 100644 loginandregister/.gitignore create mode 100644 loginandregister/.idea/.gitignore create mode 100644 loginandregister/.idea/compiler.xml create mode 100644 loginandregister/.idea/deploymentTargetDropDown.xml create mode 100644 loginandregister/.idea/gradle.xml create mode 100644 loginandregister/.idea/migrations.xml create mode 100644 loginandregister/.idea/misc.xml create mode 100644 loginandregister/app/.gitignore create mode 100644 loginandregister/app/build.gradle.kts create mode 100644 loginandregister/app/proguard-rules.pro create mode 100644 loginandregister/app/src/androidTest/java/com/example/loginandregister/ExampleInstrumentedTest.java create mode 100644 loginandregister/app/src/main/AndroidManifest.xml create mode 100644 loginandregister/app/src/main/java/com/example/loginandregister/LoginActivity.java create mode 100644 loginandregister/app/src/main/java/com/example/loginandregister/MainActivity.java create mode 100644 loginandregister/app/src/main/java/com/example/loginandregister/RegisterActivity.java create mode 100644 loginandregister/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 loginandregister/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 loginandregister/app/src/main/res/layout/activity_login.xml create mode 100644 loginandregister/app/src/main/res/layout/activity_main.xml create mode 100644 loginandregister/app/src/main/res/layout/activity_register.xml create mode 100644 loginandregister/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 loginandregister/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 loginandregister/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 loginandregister/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 loginandregister/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 loginandregister/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 loginandregister/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 loginandregister/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 loginandregister/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 loginandregister/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 loginandregister/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 loginandregister/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 loginandregister/app/src/main/res/values-night/themes.xml create mode 100644 loginandregister/app/src/main/res/values/colors.xml create mode 100644 loginandregister/app/src/main/res/values/strings.xml create mode 100644 loginandregister/app/src/main/res/values/themes.xml create mode 100644 loginandregister/app/src/main/res/xml/backup_rules.xml create mode 100644 loginandregister/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 loginandregister/app/src/test/java/com/example/loginandregister/ExampleUnitTest.java create mode 100644 loginandregister/build.gradle.kts create mode 100644 loginandregister/gradle.properties create mode 100644 loginandregister/gradle/libs.versions.toml create mode 100644 loginandregister/gradle/wrapper/gradle-wrapper.jar create mode 100644 loginandregister/gradle/wrapper/gradle-wrapper.properties create mode 100644 loginandregister/gradlew create mode 100644 loginandregister/gradlew.bat create mode 100644 loginandregister/settings.gradle.kts diff --git a/loginandregister/.gitignore b/loginandregister/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/loginandregister/.gitignore @@ -0,0 +1,15 @@ +*.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 +local.properties diff --git a/loginandregister/.idea/.gitignore b/loginandregister/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/loginandregister/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/loginandregister/.idea/compiler.xml b/loginandregister/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/loginandregister/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/loginandregister/.idea/deploymentTargetDropDown.xml b/loginandregister/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..0c0c338 --- /dev/null +++ b/loginandregister/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/loginandregister/.idea/gradle.xml b/loginandregister/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/loginandregister/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/loginandregister/.idea/migrations.xml b/loginandregister/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/loginandregister/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/loginandregister/.idea/misc.xml b/loginandregister/.idea/misc.xml new file mode 100644 index 0000000..0ad17cb --- /dev/null +++ b/loginandregister/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/loginandregister/app/.gitignore b/loginandregister/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/loginandregister/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/loginandregister/app/build.gradle.kts b/loginandregister/app/build.gradle.kts new file mode 100644 index 0000000..5c4a23f --- /dev/null +++ b/loginandregister/app/build.gradle.kts @@ -0,0 +1,40 @@ +plugins { + alias(libs.plugins.androidApplication) +} + +android { + namespace = "com.example.loginandregister" + compileSdk = 34 + + defaultConfig { + applicationId = "com.example.loginandregister" + minSdk = 24 + targetSdk = 34 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation(libs.appcompat) + implementation(libs.material) + implementation(libs.activity) + implementation(libs.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ No newline at end of file diff --git a/loginandregister/app/proguard-rules.pro b/loginandregister/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/loginandregister/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/loginandregister/app/src/androidTest/java/com/example/loginandregister/ExampleInstrumentedTest.java b/loginandregister/app/src/androidTest/java/com/example/loginandregister/ExampleInstrumentedTest.java new file mode 100644 index 0000000..6473509 --- /dev/null +++ b/loginandregister/app/src/androidTest/java/com/example/loginandregister/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.loginandregister; + +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.example.loginandregister", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/loginandregister/app/src/main/AndroidManifest.xml b/loginandregister/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..c51b142 --- /dev/null +++ b/loginandregister/app/src/main/AndroidManifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/loginandregister/app/src/main/java/com/example/loginandregister/LoginActivity.java b/loginandregister/app/src/main/java/com/example/loginandregister/LoginActivity.java new file mode 100644 index 0000000..3149bdb --- /dev/null +++ b/loginandregister/app/src/main/java/com/example/loginandregister/LoginActivity.java @@ -0,0 +1,30 @@ +package com.example.loginandregister; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class LoginActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + Button registerButton = findViewById(R.id.registerButton); + registerButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(LoginActivity.this, RegisterActivity.class); + startActivity(intent); + } + }); + } +} \ No newline at end of file diff --git a/loginandregister/app/src/main/java/com/example/loginandregister/MainActivity.java b/loginandregister/app/src/main/java/com/example/loginandregister/MainActivity.java new file mode 100644 index 0000000..9cdd1cb --- /dev/null +++ b/loginandregister/app/src/main/java/com/example/loginandregister/MainActivity.java @@ -0,0 +1,32 @@ +package com.example.loginandregister; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + Button MainButton = findViewById(R.id.loginandregister); + MainButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(MainActivity.this, LoginActivity.class); + startActivity(intent); + } + }); + + + } +} \ No newline at end of file diff --git a/loginandregister/app/src/main/java/com/example/loginandregister/RegisterActivity.java b/loginandregister/app/src/main/java/com/example/loginandregister/RegisterActivity.java new file mode 100644 index 0000000..96b6bc7 --- /dev/null +++ b/loginandregister/app/src/main/java/com/example/loginandregister/RegisterActivity.java @@ -0,0 +1,54 @@ +package com.example.loginandregister; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class RegisterActivity extends AppCompatActivity { + + private EditText registerUsernameEditText; + private EditText registerPasswordEditText; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_register); + + registerUsernameEditText = findViewById(R.id.registerUsernameEditText); + registerPasswordEditText = findViewById(R.id.registerPasswordEditText); + Button registerButton = findViewById(R.id.registerButton); + + registerButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String username = registerUsernameEditText.getText().toString(); + String password = registerPasswordEditText.getText().toString(); + + // 简单的输入验证 + if (username.isEmpty() || password.isEmpty()) { + Toast.makeText(RegisterActivity.this, "Username and password are required!", Toast.LENGTH_SHORT).show(); + return; + } + + // 这里应该是处理注册逻辑的地方,比如验证输入、存储用户信息等 + // 这里我们只是简单地将用户名和密码存储到本地变量中 + + // 注意:在实际应用中,你应该将用户名和密码发送到服务器进行验证和存储 + + // 假设注册成功,跳转到登录页面 + Intent intent = new Intent(RegisterActivity.this, LoginActivity.class); + startActivity(intent); + finish(); // 关闭注册页面 + } + }); + } +} \ No newline at end of file diff --git a/loginandregister/app/src/main/res/drawable/ic_launcher_background.xml b/loginandregister/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/loginandregister/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/loginandregister/app/src/main/res/drawable/ic_launcher_foreground.xml b/loginandregister/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/loginandregister/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/loginandregister/app/src/main/res/layout/activity_login.xml b/loginandregister/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..0fd81d1 --- /dev/null +++ b/loginandregister/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + +