From 808444cf15b8d144d61a1dc1a27bd725b1375a00 Mon Sep 17 00:00:00 2001 From: student <2532386421@qq.com> Date: Fri, 31 Mar 2023 22:49:46 +0800 Subject: [PATCH] Myapplication --- Myapplication/.gitignore | 14 ++ Myapplication/.idea/.name | 1 + Myapplication/.idea/codeStyles/Project.xml | 116 +++++++++ Myapplication/.idea/gradle.xml | 16 ++ Myapplication/.idea/misc.xml | 9 + Myapplication/.idea/runConfigurations.xml | 12 + Myapplication/app/.gitignore | 1 + Myapplication/app/build.gradle | 33 +++ Myapplication/app/proguard-rules.pro | 21 ++ .../mysoft/ExampleInstrumentedTest.java | 27 ++ .../app/src/main/AndroidManifest.xml | 24 ++ .../java/com/example/mysoft/MainActivity.java | 64 +++++ .../mysoft/activity/CategoryActivity.java | 100 ++++++++ .../mysoft/activity/RegisterActivity.java | 134 ++++++++++ .../example/mysoft/activity/UserActivity.java | 82 ++++++ .../com/example/mysoft/adapter/Adapter.java | 69 +++++ .../com/example/mysoft/entity/MyUser.java | 59 +++++ .../com/example/mysoft/entity/Product.java | 34 +++ .../mysoft/fragment/SetDetailFragment.java | 63 +++++ .../drawable-v24/ic_launcher_foreground.xml | 34 +++ .../app/src/main/res/drawable/address.png | Bin 0 -> 2377 bytes .../app/src/main/res/drawable/arrow_down.png | Bin 0 -> 368 bytes .../app/src/main/res/drawable/arrow_left.png | Bin 0 -> 231 bytes .../app/src/main/res/drawable/arrow_right.png | Bin 0 -> 233 bytes .../src/main/res/drawable/button_login.xml | 15 ++ .../src/main/res/drawable/button_register.png | Bin 0 -> 2674 bytes .../app/src/main/res/drawable/chengzi.png | Bin 0 -> 1666 bytes .../app/src/main/res/drawable/city.png | Bin 0 -> 790 bytes .../res/drawable/ic_launcher_background.xml | 170 +++++++++++++ .../res/drawable/ic_launcher_foreground.xml | 34 +++ .../app/src/main/res/drawable/juzi.png | Bin 0 -> 1898 bytes .../app/src/main/res/drawable/login.png | Bin 0 -> 2255 bytes .../app/src/main/res/drawable/orange.png | Bin 0 -> 2570 bytes .../app/src/main/res/drawable/password.png | Bin 0 -> 1975 bytes .../app/src/main/res/drawable/search.png | Bin 0 -> 1299 bytes .../app/src/main/res/drawable/setting.png | Bin 0 -> 1101 bytes .../app/src/main/res/drawable/sex.png | Bin 0 -> 1509 bytes .../res/drawable/spinner_drop_down_shape.xml | 16 ++ .../src/main/res/drawable/sure_apssword.png | Bin 0 -> 2276 bytes .../app/src/main/res/drawable/user.png | Bin 0 -> 1651 bytes .../src/main/res/drawable/user_account.png | Bin 0 -> 1045 bytes .../src/main/res/drawable/user_general.png | Bin 0 -> 402 bytes .../app/src/main/res/drawable/user_icon.png | Bin 0 -> 5995 bytes .../app/src/main/res/drawable/user_pay.png | Bin 0 -> 554 bytes .../app/src/main/res/drawable/youzi.png | Bin 0 -> 1798 bytes .../app/src/main/res/layout/activity_main.xml | 18 ++ .../main/res/layout/category_list_item.xml | 14 ++ .../res/layout/categoty_detail_content.xml | 31 +++ .../src/main/res/layout/content_category.xml | 52 ++++ .../app/src/main/res/layout/content_user.xml | 235 ++++++++++++++++++ .../app/src/main/res/layout/user_login.xml | 113 +++++++++ .../app/src/main/res/layout/user_register.xml | 167 +++++++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2963 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4905 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2060 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2783 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4490 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6895 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6387 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10413 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9128 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15132 bytes .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 11 + .../com/example/mysoft/ExampleUnitTest.java | 17 ++ Myapplication/build.gradle | 27 ++ Myapplication/gradle.properties | 20 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + Myapplication/gradlew | 172 +++++++++++++ Myapplication/gradlew.bat | 84 +++++++ Myapplication/settings.gradle | 2 + 75 files changed, 2136 insertions(+) create mode 100644 Myapplication/.gitignore create mode 100644 Myapplication/.idea/.name create mode 100644 Myapplication/.idea/codeStyles/Project.xml create mode 100644 Myapplication/.idea/gradle.xml create mode 100644 Myapplication/.idea/misc.xml create mode 100644 Myapplication/.idea/runConfigurations.xml create mode 100644 Myapplication/app/.gitignore create mode 100644 Myapplication/app/build.gradle create mode 100644 Myapplication/app/proguard-rules.pro create mode 100644 Myapplication/app/src/androidTest/java/com/example/mysoft/ExampleInstrumentedTest.java create mode 100644 Myapplication/app/src/main/AndroidManifest.xml create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/MainActivity.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/activity/CategoryActivity.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/activity/RegisterActivity.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/activity/UserActivity.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/adapter/Adapter.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/entity/MyUser.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/entity/Product.java create mode 100644 Myapplication/app/src/main/java/com/example/mysoft/fragment/SetDetailFragment.java create mode 100644 Myapplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 Myapplication/app/src/main/res/drawable/address.png create mode 100644 Myapplication/app/src/main/res/drawable/arrow_down.png create mode 100644 Myapplication/app/src/main/res/drawable/arrow_left.png create mode 100644 Myapplication/app/src/main/res/drawable/arrow_right.png create mode 100644 Myapplication/app/src/main/res/drawable/button_login.xml create mode 100644 Myapplication/app/src/main/res/drawable/button_register.png create mode 100644 Myapplication/app/src/main/res/drawable/chengzi.png create mode 100644 Myapplication/app/src/main/res/drawable/city.png create mode 100644 Myapplication/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 Myapplication/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 Myapplication/app/src/main/res/drawable/juzi.png create mode 100644 Myapplication/app/src/main/res/drawable/login.png create mode 100644 Myapplication/app/src/main/res/drawable/orange.png create mode 100644 Myapplication/app/src/main/res/drawable/password.png create mode 100644 Myapplication/app/src/main/res/drawable/search.png create mode 100644 Myapplication/app/src/main/res/drawable/setting.png create mode 100644 Myapplication/app/src/main/res/drawable/sex.png create mode 100644 Myapplication/app/src/main/res/drawable/spinner_drop_down_shape.xml create mode 100644 Myapplication/app/src/main/res/drawable/sure_apssword.png create mode 100644 Myapplication/app/src/main/res/drawable/user.png create mode 100644 Myapplication/app/src/main/res/drawable/user_account.png create mode 100644 Myapplication/app/src/main/res/drawable/user_general.png create mode 100644 Myapplication/app/src/main/res/drawable/user_icon.png create mode 100644 Myapplication/app/src/main/res/drawable/user_pay.png create mode 100644 Myapplication/app/src/main/res/drawable/youzi.png create mode 100644 Myapplication/app/src/main/res/layout/activity_main.xml create mode 100644 Myapplication/app/src/main/res/layout/category_list_item.xml create mode 100644 Myapplication/app/src/main/res/layout/categoty_detail_content.xml create mode 100644 Myapplication/app/src/main/res/layout/content_category.xml create mode 100644 Myapplication/app/src/main/res/layout/content_user.xml create mode 100644 Myapplication/app/src/main/res/layout/user_login.xml create mode 100644 Myapplication/app/src/main/res/layout/user_register.xml create mode 100644 Myapplication/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 Myapplication/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 Myapplication/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Myapplication/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Myapplication/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Myapplication/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Myapplication/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Myapplication/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Myapplication/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Myapplication/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Myapplication/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Myapplication/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Myapplication/app/src/main/res/values/colors.xml create mode 100644 Myapplication/app/src/main/res/values/strings.xml create mode 100644 Myapplication/app/src/main/res/values/styles.xml create mode 100644 Myapplication/app/src/test/java/com/example/mysoft/ExampleUnitTest.java create mode 100644 Myapplication/build.gradle create mode 100644 Myapplication/gradle.properties create mode 100644 Myapplication/gradle/wrapper/gradle-wrapper.jar create mode 100644 Myapplication/gradle/wrapper/gradle-wrapper.properties create mode 100644 Myapplication/gradlew create mode 100644 Myapplication/gradlew.bat create mode 100644 Myapplication/settings.gradle diff --git a/Myapplication/.gitignore b/Myapplication/.gitignore new file mode 100644 index 0000000..603b140 --- /dev/null +++ b/Myapplication/.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/Myapplication/.idea/.name b/Myapplication/.idea/.name new file mode 100644 index 0000000..0913fb0 --- /dev/null +++ b/Myapplication/.idea/.name @@ -0,0 +1 @@ +Mysoft \ No newline at end of file diff --git a/Myapplication/.idea/codeStyles/Project.xml b/Myapplication/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/Myapplication/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/Myapplication/.idea/gradle.xml b/Myapplication/.idea/gradle.xml new file mode 100644 index 0000000..d291b3d --- /dev/null +++ b/Myapplication/.idea/gradle.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/Myapplication/.idea/misc.xml b/Myapplication/.idea/misc.xml new file mode 100644 index 0000000..37a7509 --- /dev/null +++ b/Myapplication/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/Myapplication/.idea/runConfigurations.xml b/Myapplication/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/Myapplication/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/Myapplication/app/.gitignore b/Myapplication/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/Myapplication/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/Myapplication/app/build.gradle b/Myapplication/app/build.gradle new file mode 100644 index 0000000..b87e405 --- /dev/null +++ b/Myapplication/app/build.gradle @@ -0,0 +1,33 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 33 + buildToolsVersion "33.0.2" + defaultConfig { + applicationId "com.example.mysoft" + minSdkVersion 21 + targetSdkVersion 33 + 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.0.2' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.recyclerview:recyclerview:1.0.0' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test.ext:junit:1.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' + implementation 'liji.library.dev:citypickerview:1.1.0' +} diff --git a/Myapplication/app/proguard-rules.pro b/Myapplication/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/Myapplication/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 diff --git a/Myapplication/app/src/androidTest/java/com/example/mysoft/ExampleInstrumentedTest.java b/Myapplication/app/src/androidTest/java/com/example/mysoft/ExampleInstrumentedTest.java new file mode 100644 index 0000000..33a1318 --- /dev/null +++ b/Myapplication/app/src/androidTest/java/com/example/mysoft/ExampleInstrumentedTest.java @@ -0,0 +1,27 @@ +package com.example.mysoft; + +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.mysoft", appContext.getPackageName()); + } +} diff --git a/Myapplication/app/src/main/AndroidManifest.xml b/Myapplication/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ddc4e76 --- /dev/null +++ b/Myapplication/app/src/main/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Myapplication/app/src/main/java/com/example/mysoft/MainActivity.java b/Myapplication/app/src/main/java/com/example/mysoft/MainActivity.java new file mode 100644 index 0000000..48739e4 --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/MainActivity.java @@ -0,0 +1,64 @@ +package com.example.mysoft; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; + +import com.example.mysoft.activity.RegisterActivity; + +public class MainActivity extends AppCompatActivity implements View.OnClickListener { + private Button registerButton, loginButton; + private EditText usernameText, paswdEdit; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.user_login); + init(); + } + + private void init() { + usernameText = findViewById(R.id.username); + paswdEdit = findViewById(R.id.password); + loginButton = findViewById(R.id.login); + loginButton.setOnClickListener(this); + registerButton = findViewById(R.id.register); + registerButton.setOnClickListener(this); + } + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.register: + Intent intent = new Intent(MainActivity.this, RegisterActivity.class); + startActivity(intent); + break; + case R.id.login: + break; + } + } + +// //对话框的使用 +// Button button=(Button)findViewById(R.id.fpassword); +// button.setOnClickListener(new View.OnClickListener(){ +// @Override +// public void onClick(View view){ +// new AlertDialog.Builder(MainActivity.this).setTitle("系统提示") +// .setMessage("忘记密码!") +// .setPositiveButton("确定", new DialogInterface.OnClickListener() { +// @Override +// public void onClick(DialogInterface dialog, int which) { +// finish(); +// } +// }).setNegativeButton("返回", new DialogInterface.OnClickListener() { +// @Override +// public void onClick(DialogInterface dialog, int which) { +// +// } +// }).show(); +// } +// }); + } diff --git a/Myapplication/app/src/main/java/com/example/mysoft/activity/CategoryActivity.java b/Myapplication/app/src/main/java/com/example/mysoft/activity/CategoryActivity.java new file mode 100644 index 0000000..a101e6d --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/activity/CategoryActivity.java @@ -0,0 +1,100 @@ +package com.example.mysoft.activity; +import android.app.Activity; +import android.app.FragmentManager; +import android.app.FragmentTransaction; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; + +import androidx.annotation.Nullable; + +import com.example.mysoft.R; +import com.example.mysoft.adapter.Adapter; +import com.example.mysoft.entity.Product; +import com.example.mysoft.fragment.SetDetailFragment; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +public class CategoryActivity extends Activity { + public OnChangeListener onchangedListener; + private List productList; + private List productCategory = new ArrayList<>(); + private ListView titleList; + private Adapter adapter; + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.content_category); + initData(); + init(); + SetDetailFragment fragment = new SetDetailFragment(); + FragmentManager fragmentManager = getFragmentManager(); + FragmentTransaction transaction = fragmentManager.beginTransaction(); + transaction.replace(R.id.category_detail, fragment); + transaction.commit(); + titleList.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + adapter.setSelectedPosition(position); + adapter.notifyDataSetInvalidated(); + if (onchangedListener != null) { + onchangedListener.changeText(productList.get(position)); + } + } + }); +/* titleList.setOnItemClickListener((parent, view, position, id) -> { + adapter.setSelectedPosition(position); + adapter.notifyDataSetInvalidated(); + if (onchangedListener != null) { + onchangedListener.changeText(productList.get(position)); + } + }); +*/ + } + + public void setOnChangeListener(OnChangeListener onChangeListener) { + this.onchangedListener = onChangeListener; + } + + public interface OnChangeListener { + void changeText(Product product); + } + + /** + * 初始化数据 + */ + private void initData() { + productList = new ArrayList<>(); + productCategory.add("橘子"); + productCategory.add("橙子"); + productCategory.add("柚子"); + Product product = new Product(); + product.setImageUrlId(R.drawable.juzi); + product.setProductName("橘子"); + product.setProductPrice(new BigDecimal("9.9")); + Product product1 = new Product(); + product1.setImageUrlId(R.drawable.chengzi); + product1.setProductName("橙子"); + product1.setProductPrice(new BigDecimal("29.9")); + Product product2 = new Product(); + product2.setImageUrlId(R.drawable.youzi); + product2.setProductName("柚子"); + product2.setProductPrice(new BigDecimal("19.9")); + productList.add(product); + productList.add(product1); + productList.add(product2); + } + + /** + * 初始化组件 + */ + private void init() { + titleList = findViewById(R.id.category_title_list); + adapter = new Adapter(productCategory, CategoryActivity.this); + titleList.setAdapter(adapter); + } +} \ No newline at end of file diff --git a/Myapplication/app/src/main/java/com/example/mysoft/activity/RegisterActivity.java b/Myapplication/app/src/main/java/com/example/mysoft/activity/RegisterActivity.java new file mode 100644 index 0000000..0bf7190 --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/activity/RegisterActivity.java @@ -0,0 +1,134 @@ +package com.example.mysoft.activity; + +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.RadioGroup; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import com.example.mysoft.R; +import com.lljjcoder.citypickerview.widget.CityPicker; + +public class RegisterActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener { + + private EditText usernameEdit, passwordEdit, surePasswordEdit; + private TextView cityText; + private CityPicker cityPicker; + private Button regButton; + private RadioGroup sexGroup; + private String sexStr="男"; + + @Override + protected void onCreate( @Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.user_register); + init(); + } + /** + * 界面组件初始化 + */ + private void init() { + cityText = findViewById(R.id.reg_province); + cityText.setOnClickListener(this); + usernameEdit=findViewById(R.id.reg_username); + passwordEdit=findViewById(R.id.reg_password); + surePasswordEdit=findViewById(R.id.reg_sure_password); + regButton=findViewById(R.id.reg_register); + regButton.setOnClickListener(this); + sexGroup=findViewById(R.id.sex); + sexGroup.setOnCheckedChangeListener(this); + } + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.reg_province: + initCityPicker(); + cityPicker.show(); + break; + case R.id.reg_register: + //注册验证方法 + validateRegister(); + break; + } + } + + /** + * 初始化城市选择器 + */ + public void initCityPicker() { + cityPicker = new CityPicker.Builder(RegisterActivity.this) + .textSize(16) + .title("地址选择") + .backgroundPop(0xa0000000) + .titleBackgroundColor("#EFB81C") + .titleTextColor("#000000") + .backgroundPop(0xa0000000) + .confirTextColor("#000000") + .cancelTextColor("#000000") + .province("湖南省") + .city("常德市") + .district("武陵区") + .textColor(Color.parseColor("#000000")) + .provinceCyclic(true) + .cityCyclic(false) + .districtCyclic(false) + .visibleItemsCount(7) + .itemPadding(10) + .onlyShowProvinceAndCity(false) + .build(); + cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() { + @Override + public void onSelected(String... strings) { + String province = strings[0]; + String city = strings[1]; + String district = strings[2]; + cityText.setText(String.format("%s %s %s", province, city, district)); + } + + @Override + public void onCancel() { + } + }); + } + + public void validateRegister() { + Intent intent = new Intent(RegisterActivity.this, UserActivity.class); + String username = usernameEdit.getText().toString(); + String password = passwordEdit.getText().toString(); + String surePassword = surePasswordEdit.getText().toString(); + String city = cityText.getText().toString(); + //判断两次密码是否输入一致 + if (password.equals(surePassword)) { + if (password.equals("") || !password.equals("")) { + if (!city.equals("")) { + Bundle bundle = new Bundle(); + bundle.putString("username", username); + bundle.putString("password", password); + bundle.putString("sex", sexStr); + bundle.putString("city", city); + intent.putExtras(bundle); + startActivity(intent); + } else { + Toast.makeText(RegisterActivity.this, "请选择地址", Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(RegisterActivity.this, "账号或密码未填写", Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(RegisterActivity.this, "两次密码输入不一致", Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onCheckedChanged(RadioGroup group,int checkedId){ + sexStr=checkedId==R.id.reg_man?"男":"女"; + + } +} diff --git a/Myapplication/app/src/main/java/com/example/mysoft/activity/UserActivity.java b/Myapplication/app/src/main/java/com/example/mysoft/activity/UserActivity.java new file mode 100644 index 0000000..7b47c21 --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/activity/UserActivity.java @@ -0,0 +1,82 @@ +package com.example.mysoft.activity; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.Nullable; + +import com.example.mysoft.MainActivity; +import com.example.mysoft.R; + +public class UserActivity extends Activity implements View.OnClickListener{ + private ImageView userIconImage; + private TextView usernameText, userSexText, userCityText; + private LinearLayout usernameLine, userSexline, userCityLine, userPayLine, userSettingLine, userGeneralLine,userSearchProductLine; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.content_user); + init(); + Button toLogin = findViewById(R.id.toLogin); + toLogin.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(UserActivity.this, MainActivity.class); + startActivity(intent); + } + }); + } + + + + + /** + * 组件初始化 + */ + private void init() { + userIconImage = findViewById(R.id.user_icon); + usernameText = findViewById(R.id.user_username); + userSexText = findViewById(R.id.user_sex); + userCityText = findViewById(R.id.user_city); + usernameLine = findViewById(R.id.user_username_line); + userSexline = findViewById(R.id.user_sex_line); + userCityLine = findViewById(R.id.user_city_line); + userPayLine = findViewById(R.id.user_pay); + userSettingLine = findViewById(R.id.user_setting); + userGeneralLine = findViewById(R.id.user_general); + userSearchProductLine = findViewById(R.id.user_searchProduct); + userSearchProductLine.setOnClickListener(this); + setData(); + } + + /** + * 组件赋值 + */ + private void setData() { + Intent intent = UserActivity.this.getIntent(); + Bundle bundle = intent.getExtras(); + usernameText.setText(String.format("用户名:%s", bundle.getString("username"))); + userSexText.setText(String.format("性别:%s", bundle.getString("sex"))); + userCityText.setText(String.format("城市:%s", bundle.getString("city"))); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.user_searchProduct: + Intent intent1 = new Intent(UserActivity.this, CategoryActivity.class); + startActivity(intent1); + break; + } + } +} + + + diff --git a/Myapplication/app/src/main/java/com/example/mysoft/adapter/Adapter.java b/Myapplication/app/src/main/java/com/example/mysoft/adapter/Adapter.java new file mode 100644 index 0000000..3220ede --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/adapter/Adapter.java @@ -0,0 +1,69 @@ +package com.example.mysoft.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.example.mysoft.R; + +import java.util.List; + +public class Adapter extends BaseAdapter { + private List productCategory; + private LayoutInflater layoutInflater; + private int selectionPosition = -1; + + public Adapter(List productCategory, Context context) { + this.productCategory = productCategory; + this.layoutInflater = LayoutInflater.from(context); + } + + @Override + public int getCount() { + return productCategory.size(); + } + + @Override + public Object getItem(int position) { + return productCategory.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder viewHolder = null; + if (convertView == null) { + viewHolder = new ViewHolder(); + convertView = layoutInflater.inflate(R.layout.category_list_item, null); + Log.i("adapts", "getView: " + convertView); + viewHolder.tv = convertView.findViewById(R.id.categor_titles); + convertView.setTag(viewHolder); + } else { + viewHolder = (ViewHolder) convertView.getTag(); + } + viewHolder.tv.setText(productCategory.get(position)); + if (selectionPosition == position) { + viewHolder.tv.setBackgroundColor(Color.YELLOW); + } else { + viewHolder.tv.setBackgroundColor(Color.WHITE); + } + return convertView; + } + + public void setSelectedPosition(int position) { + this.selectionPosition = position; + } + + class ViewHolder { + TextView tv; + } +} diff --git a/Myapplication/app/src/main/java/com/example/mysoft/entity/MyUser.java b/Myapplication/app/src/main/java/com/example/mysoft/entity/MyUser.java new file mode 100644 index 0000000..e6bded7 --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/entity/MyUser.java @@ -0,0 +1,59 @@ +package com.example.mysoft.entity; + +public class MyUser { + private Integer id; + private String username; + private String password; + private String sex; + private String city; + + public Integer getId() { + return id; + } + + public void setId(Integer 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 getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + @Override + public String toString() { + return "OrangeUser{" + + "username='" + username + '\'' + + ", password='" + password + '\'' + + ", sex='" + sex + '\'' + + ", city='" + city + '\'' + + '}'; + } +} diff --git a/Myapplication/app/src/main/java/com/example/mysoft/entity/Product.java b/Myapplication/app/src/main/java/com/example/mysoft/entity/Product.java new file mode 100644 index 0000000..aa787e7 --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/entity/Product.java @@ -0,0 +1,34 @@ +package com.example.mysoft.entity; + +import java.math.BigDecimal; + +public class Product { + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public BigDecimal getProductPrice() { + return productPrice; + } + + public void setProductPrice(BigDecimal productPrice) { + this.productPrice = productPrice; + } + + public Integer getImageUrlId() { + return imageUrlId; + } + + public void setImageUrlId(Integer imageUrlId) { + this.imageUrlId = imageUrlId; + } + + private Integer imageUrlId; + private String productName; + private BigDecimal productPrice; +} \ No newline at end of file diff --git a/Myapplication/app/src/main/java/com/example/mysoft/fragment/SetDetailFragment.java b/Myapplication/app/src/main/java/com/example/mysoft/fragment/SetDetailFragment.java new file mode 100644 index 0000000..6984e83 --- /dev/null +++ b/Myapplication/app/src/main/java/com/example/mysoft/fragment/SetDetailFragment.java @@ -0,0 +1,63 @@ +package com.example.mysoft.fragment; +import android.annotation.SuppressLint; +import android.app.Fragment; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.example.mysoft.R; +import com.example.mysoft.activity.CategoryActivity; +import com.example.mysoft.entity.Product; + +import java.util.Objects; + +public class SetDetailFragment extends Fragment { + private View view; + private ImageView imageView; + private TextView nameText, priceText; + + @SuppressLint("SetTextI18n") + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + view = inflater.inflate(R.layout.categoty_detail_content, container, false); + if (view != null) { + init(); + } + CategoryActivity categoryActivity = (CategoryActivity) getActivity(); + categoryActivity.setOnChangeListener(new CategoryActivity.OnChangeListener() { + @Override + public void changeText(Product product) { + imageView.setBackgroundResource(product.getImageUrlId()); + nameText.setText(product.getProductName()); + priceText.setText(product.getProductPrice().toString()); + } + }); + /* Objects.requireNonNull(categoryActivity).setOnChangeListener(product -> { + Log.i("sss", "onCreateView: " + product.getProductName()); + imageView.setBackgroundResource(product.getImageUrlId()); + nameText.setText(product.getProductName()); + priceText.setText(product.getProductPrice().toString()); + }); + + */ + return view; + } + + /** + * 内容组件初始化 + */ + private void init() { + imageView = view.findViewById(R.id.category_product_image); + nameText = view.findViewById(R.id.category_product_name); + priceText = view.findViewById(R.id.category_product_price); + } + +} diff --git a/Myapplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/Myapplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..1f6bb29 --- /dev/null +++ b/Myapplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/Myapplication/app/src/main/res/drawable/address.png b/Myapplication/app/src/main/res/drawable/address.png new file mode 100644 index 0000000000000000000000000000000000000000..3bfec551f8b17f81dc6c9c74cb8451519f8f493d GIT binary patch literal 2377 zcmbW1c{J4f8^=Fmj2V;2o?L`MD*Upgelc|!M3Tyq7TK?TiL7x-mO^5Zt(rZ- z=GvO1k|jGcL&m-}#>gz+`*nZ!+}}CBzka{p`}sWQJm-9#=X0Ldd7kru1|b^QVP$^Y z93T(~UEi`}jSbif0KmX^5&#KD2-yA(%>AQFWZ zLZi1FBfL!*gTZ3ZXzX?@cAE$+w6Lhyb`jC7c8`lN?7>Sh{&kugqw*;$tkyPXA$pZ-_Oa-%YRz< ztmxO`lG5i@)it$s^{-yPX=!b1e@A)W@u8=;?`!|S;LtFAV)EM*V|r$GZuL8JjkV6+ z__4Xgg#gHZVf{_^A6()vmjFBiLG%_ELLdTmq_`kT`GAnbF*~$th@^_{b&S-{nNKR4 zg;n)VuSmOvc4K95`gFC`Ewn$${yVT6{}*8vnoZzrZP=O$msb`k_^&BO7E%ZU%udZpu2}O-# zZ)Fy_S^i9>|A(C-3MV`X;i#C17&YcqGYCjSfc8XDzBiVjw60CkejVaQclLa}V@RTm zbl;|k^dKz}8>yUPVA>kLa;j5Fd?Rao-f4w>G+=Q}h-kHLbQg5tiHog40Zb@%QP<6oA49hsDm9JL0${?as_2+W~ z1L_#K^m^f|-@<7LS;tVJm}W+Kj^4rbb;AxNCC{b!gyrz%N7+pDLiTUeSgnoK@<{DX z+Zuz0QB3!-5w(vB3KpkuDF;|awpN>w^#vO19r8iM>wcpU5F2>%DK^gY#%5WNcg%0< zq_B0o8I7-UKRjo@y;JDf)Zhm(C;wUWZ7F{-=Hl=q1n6!y5I714@nR5=Bq*&saDl)V zBM4A+_)?C-EY*u-I_~mtG1q#W%Cl7MWL_Cq4u6M+2Vcm?Ceq4GDK4lQvV=hc;b5YU z(*@I-QjXT|XMMnthgJJ`Pd@h20FFINC*L&JW~|96Lm(ptWsn)7249Yi~)gJ#$e#R2?bwxU!&E?)_|kxL1hw*8(|pINYwqhTbM-f6ZFDVMu0Jxf|SgHLBW zf3AMY)m(upL!DL(g+%A3g5jvz8CTW4U@4L`i|K{DX)=-BGi5I3WyC^4uVTna>p4P-nM}Kp@pcf|#$%Fl32=@p6jte47;t54)#(*n** z6f;=(qRU*vZf?kmUrT;`a#(y~oNO<>mtC+&EPb?UIrCW;H%i*S;o!K*7^vt8j_Nl| z7VGO+7WG<`i*dfRp!Q;NmF43zkVo~1y|YiNrT-&6!`H#Nw!_#{L4~h)i)^jEupa8{ z$RSWV%XBt#qlFY+aXCGndHg;Id{STfDz@fPlbN3O|9ZM`cxfKCm;&j)Yr`*EF|Y zPW4+gsd`8-Vwyuhe}LBG4uRT6QwW$8@_7(o%@lDgZsDghW|cO&o$}Fb_zhk!{I$n_ z+OtaGCWlc=;4dao>J(z4>&H*}RCXZ*y6;62`4(k(-XH|l44>Wx1};DLIFJc^8v=!U VFE_r6Tdi+*RDmF6cT@=)`U9i!YtjG! literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/arrow_down.png b/Myapplication/app/src/main/res/drawable/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..6d95bb5aa6045b14ade85093c7b796715d97c482 GIT binary patch literal 368 zcmV-$0gwKPP)DiJgsLb>I_RlT0dM%bgI}Qev%zXd`wC!WDw3Z(t{u zHYvQ~Rufr4Id#3=)9Wtv{9ls)|3|=>j~Fu#CK<@gvs&xN|9blFp)qC^0QO>xZLRg) zs8D0fD*$W}(eY;}#+Xe2umI2|qHa?tGe0LuvLU6sC^cVFX6BX<;s5})iRgS7)Hyfp zy?;Q&bt&cT$Lx>VWLY+kh^In`j#BEZ3TmyL3n5$qK#Pd(2WKjKnCJOSQ52VmxFe-J z85CG+7efd~h`21JeENRjuf=xGO?mHcVvJU6eOL;uwQC`S-CnP^kf!NN)$40F#Tau9 z0Q*9SevGk0L`%cGtp%21X6_;)Dy3HH(r*N;gVcsH3ZQW)e}zuqm)`)Eo@f>Q6}kKX O0000pWc?Ln7SYUUTGXFyL{y_+-L2 zAe`!S*CTxHOaYa5+UMsh6?*@xD4H)SFgHMSO;ZNrmzui=x3C_U*gmtg{5?mI(WBPg zVrvvVtUff)J{GxgZrBp0n>&66nk-;)XI@nxvOtKP`KkqnM58sE+rxj{bK=E91%L6o zDJUkmcuK5r3u^FE;a%Yr)X1eGyTkEWRK)$GCSOn0@3MV=&eJW%A&v1%tmz}I4l#%G d*JWL}?QZm^Xy&~w{S0(DgQu&X%Q~loCIB + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Myapplication/app/src/main/res/drawable/button_register.png b/Myapplication/app/src/main/res/drawable/button_register.png new file mode 100644 index 0000000000000000000000000000000000000000..af69e79d726feb4b0980aa4add28bc9332d7071d GIT binary patch literal 2674 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 w+tYDR?d^J=40PEe>kz4O(LZ)D=Q?yt` zgL^K3ZRLf*#XIUe*_u;i3GU4nB(iit*~G{uLY8F8Cde!TWiv1f0xzV~%pfC%v5I>4 zYfR8L76!Ll8P$qI?uQ`go$|uKOe^@|z{E7N>sayVo@;u&0$RPHFmT3-a7BaXGZ43x z7X&w1!4EYirV&G=vcdB(gO`^V23K1Vtqi!QuoEXhSX5pRJZmLpC^2!3L`tl|y`KmN zUoHq9up+v>-cv@zPnH)3=Uc%KCC1c9WrJr9gKM}Ci#B?K;Y7lHyVQjrOrKJH&y~)W zd6zpoNyw?pWXzjP0xp2KotfGp(XJ`&ggCI&P9OW2CNU933|%JgK`kYstmSb8MUWJG(Na zG~}}qYsrXSU6r0e9R-L<+h-(rN4d-CTW#h zu)LqjT93xV$2G#fnKv_ON11t+Rk7j4af_zOm6_|$owoHH(fzrvgZZuDP0k*>u{1l% zTGm=N!n>!tq^=vcahyG=;YUj;3t~MqW0scgQ;j9BbokSQywA|nn%w!pSU4BptSUAbt?#IdFQq}5>jG|v)|Tbpb?+C z55UuQNz;U{QM{pNW8M+Xrye3;ahejdB}>EsQQA@zue5#v;ci=uX#yLs$-*1@cl#7w zTAcuHNmFiiWjhsbXiV%o;!}+tZ^E}fyNY)3RC3}c5<-{z7P`U;@ z7&-aTJTq?d$?jA404PZ|IXiKpvArg&Rk9k575C*0@DEfU}X zFD)rCWh}kRYc8RuOP8OoSYW0pLB-Kc@0hQ;(&zeuL90??z@~`hS6zd*uPP^B2+?R$ zBPDQK%?BeRt=hGhh}NVeJBuQ=+d+{ht3P+P1lNIKzng9`F`ciiy5X_+$c znAtHy!X~!vSG{0V+Zw&023t5@NNB{!Nv~2jBSl-6=rM@iio_cuOGYAd#+T!k5P_i{ zY%@M9#|by$EgOlLiL{GoA3y_oN<(jsTLkknX2%H8nzoD>!96?gnx!aW!*DIl#uBUR za!0)5ga2GwgSIkNIr)kp?@;XkQgS?PRyvwrEhdR#5Q+ih*etVFFlt$#Ho7TolgIk0 zt`%b5oqMm=#}5jD$wWLEOp_UyV#N0U7Y-@W?r_rA{ac<^_{}hX0R}#BQQ@)#!~g&Q M07*qoM6N<$f;J}@jQ{`u literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/city.png b/Myapplication/app/src/main/res/drawable/city.png new file mode 100644 index 0000000000000000000000000000000000000000..790fb2bf39c33588894e33135a78fc1c05ed6caf GIT binary patch literal 790 zcmV+x1L^#UP)&Rd)Azkx1s<6Vd&j0As9)Z*~+qJ9V@fa4!+P{tX}Cn;o^A z0#97z2mE6~ArY9|$W0q=J1aL74vbT;Z%FVmj;V60)XN)l{^KlBNLW;uIF({2YuBE2 zcC5=9TWbna9I^Z8o0G7cl2!yYdy`1SwG$;-psw+IfN$Dm9 zVUm|{P*tj+F;%2fy_G)hks&M$df^`vz-0I;1liSc%k + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Myapplication/app/src/main/res/drawable/ic_launcher_foreground.xml b/Myapplication/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..1f6bb29 --- /dev/null +++ b/Myapplication/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/Myapplication/app/src/main/res/drawable/juzi.png b/Myapplication/app/src/main/res/drawable/juzi.png new file mode 100644 index 0000000000000000000000000000000000000000..106df92a6a38fdf5074c2969a512e2e19dde5f7d GIT binary patch literal 1898 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 literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/orange.png b/Myapplication/app/src/main/res/drawable/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ba0c8f06d9bccc425306e2555db50f129a5652 GIT binary patch literal 2570 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 TO|NVS00000NkvXXu0mjfhY}6P literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/sex.png b/Myapplication/app/src/main/res/drawable/sex.png new file mode 100644 index 0000000000000000000000000000000000000000..acb8197caace6c0653da7f1ea3a90af3eac20179 GIT binary patch literal 1509 zcmVfmCLe z(i0-0qM`_b%)nljrlo%r6}^jyGTlsPz7uDdk=b>2=bPQ_z|699f9H39-}%lx_uNaU zV|{&n2eq`c{8JvPb9$jrIERQ%12CJ2rmN~l05+=X=b23A&DPe|Kk9K(J%IOq zv#PFR=H_}>8;_!BIT0-daNscbFIBbEIrrRfoOQ)TQFLt_$D7;R+rO4CNa| zQI3c@%Hs=}`N>+?F%jpzU!3=J_kM+{-lM8FI_F+&NL+V!_uM#+E%cu<^9|L`xm+&Y)YSA3fb_U= z%264A#1wlMRIMui!^ ztE=naR4Qc!`E_Q#Dv>zv{Q^~e3c$FsLu@$@;6Y|yX213I^&P%<@7|vP{LajWjzpaI z{!~@{48Wu5bo#zRp2&(SnmOmaw;U)%NL61TqMKB8D-j(I;E?L%7m;rO9MkAZ zt*VcA19%vKm80pE`e#LaKXD>*BY+pm&S9}w+?YzG-T|<#SS)s?QYkB#R?AlJ+O;d3 zIC0|3s(J|#nNRP|ojbR8c6RPa8buMYe7l*5&JDxxLlLpLz|3=o5+?vUnEC0huC9wK z;>jvl_=*bplWeJ5ZoQd@iPES zU=mx`-`{_EE|=R=3oIhm?MwkMV4+p8b?aOdMVAuM+xBz-j!L3vFouX`gkiX)@_SED z&r!u<@l60H6VduG3@@t1TT`5f%p;;}RCNXsoujJhk%+4JsOqoIxv5bUS;t}z`%ro8 zYi2%fDDGN0SJ{qAK18%bRma=@JQ{%j{snMAmEgOab2itIHb9(+{05*>uN;7v0n95e z^-*doxo-!sK91w3v)OE^Sx6+#d%s#$ZwK%rfGe5VRvbjc3goHvh!T#kV&=ONVo{2m z_x?IneF?xX%xs0WWchr4N)QAMogapc1kr{t3}+`6m&@fQHZ?U_lq@kXWajs(#GM}m z!M^{Kk`9BjE$|Bf+n9MlJwD3k^A!QFG4s{c4kBW&U}Zg$5sd%H%tzMqqbQ1&*wR+j zUgw;hn)aE9R65mqJdKRc&tx*2YPIEqNk~K<2e4RG7dz+HR0F*CR^vWsWac{9znOV* zQa%&+Dgf)F<}f_Ei%dr6_B3Wx#lM)Vxi{to;Y&QE=QZ9?!v8wvDb)(L? znh_EaJMJazL~72hs%xBci<1f~y;l1Y5i7vg0jOEQySuyXD#7a0NNoo*TWi#imBd-M zKty)WVIAmDt$T;6<{DxzgM%PAyREIw4nhstJ|QCV0DybVTUD=d&eLQ`5K(IxWbO0&aU5^ky?ghTNs}f`i{p4^9LFbA zUBV1Cr`;^A48zdQyCb&!USU3;pOs3bysFL`hINmswy3JzubmPE!6}A~<9I88t=VjL zOlo7z{IX_X{P^+L6Vd7Rv4{mh@Pn$_&E&`Fbo$+;OP5+J^}pJGUSnJtr>m4M00000 LNkvXXu0mjfbOPYO literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/spinner_drop_down_shape.xml b/Myapplication/app/src/main/res/drawable/spinner_drop_down_shape.xml new file mode 100644 index 0000000..64306b1 --- /dev/null +++ b/Myapplication/app/src/main/res/drawable/spinner_drop_down_shape.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Myapplication/app/src/main/res/drawable/sure_apssword.png b/Myapplication/app/src/main/res/drawable/sure_apssword.png new file mode 100644 index 0000000000000000000000000000000000000000..a077dbada1b77d0ecc929c4d064c597e63289c30 GIT binary patch literal 2276 zcmbW0c~Fzr8pcmZLPA(0n-&FG1jPkGC>1KvhQ+0bAW#933&$vbKn7Z z7-;Qv-Qx;SC=}R@3;>S+6PM(uZ~)xhfh7O{kDRRlXk>>%#vg)T0WwfRp%n8^p|NO% zlrb1I7N?BEDHdKuRRxbH;Bh#DI)R|7h6tykp{cH>q1Y=fQKT!fkg0~p;S~}8OmHh8 z;(-IOL8DB75)p+aqF_ESLTbe#L<*=sg;GLeu*yhD1XU!UK?^A#jaEX6#bPi>Gz~ci z7$SCsvGp!xZO>qwNxY5?^IQeq^t(Equ2+xPY+J|)mI^^nf90yL)|p$Z-(YEL_qF{u z+a1WxF0O97_v}6B?c@8yAwU1nqha9@kx|hJCliyX$tkHBr%q>PW#{CcFZ{Wv_(I9W z(rfI>>o=;ZIXCas-*0Ga`sG3M<2HVK$CIbeI(r3u{X)^e%fXS+v3KL|f1j9~lFWRW zots~P7MB!UD1iPC)?Z}*!$m~6ln@UvI0Y9ZDPa3>wI^v zqK>Cxy3I?h8*-wDpl4<~vQDBv`-AN7fwBHCvcJIo%QXnp&?v+_G!c-%^1y1*Xsk?+ zELX)zLdSwWg{4UC)hI-K(p0Nmz&Fw1Ag@z^9wnPX4#u^cp!iHOVC9ah?7WJ zn~rmXNtsLh;=7HUDwzwbb7-%nbmb|Ntn_B2`<+?cg7`A%)_ujY}5O}JoZeCr-^YC>;3rUuo;3p-?f0OTc zAnrQjWRp%3Pv@K*O=Wvvz)Fy}G4xsj z#$q#Jpwoh8Lm3_G=NG(Q+<6`77Iti=cA64hfX~z`B6jANy(#~#&&Q}JNW8~mVB0<< zxq&Xa>d-Aq9PJ`T7Q!H8DEZL`FM;o>$arUGy~5|%c=K&vR- z0tVL}N*rMTW?>+=3+%1hZ}_qDS$|n5qiviUMq08e(_n~qaG_Gt$jsY&Wy|_qStQ8t zt;{{0l7c*+Qkk)!Hlq0#=$XWPNGSZeH064ufL*Y%FYHRmlhX%KW`#d)bmRqzDfX>p zIsQiTRhjY~$*=hS5hcOW@Zv$Aac+tA&tFVk1KUhZx3AJITc`0c^|DB|nkJ>mbeC%w zAx1ceI?}}NA|wkA*Fnq(&TGFYs;gf`qx&}Roa<|uGdbot2~%Ujhk0^*1`M#K5LWCV zS7D3GT8C^P?l6e})$jl6GBx%1t()sAi*E!TnLi}!NH+^+pEKCh8q9opJ4kM933|3npop z!@aNHW`&*@GU%pnNUr(5TSf|1zF6hQOEYPYiczDi_N>OCe0050-2_WId&|gk8Utx| zISigH%XY%x9yJ~YRqhU4dW~3LuD%Nfg;IzKgQK63zr4RRk-qGk+%<~vcuImCBc9N0 zdY!ao2I4pQqIno-e(O>_b%Ii(;XAY>e-m@0L*?o4k7uZsuKdi%ys@nuBYg(1iEb~+ zIz<}3N!RLWu~;`VL0^BjFGLb^87!C5oD4RM7ew`?m$xU*$DJph?OpsAbDQ!q4f*D$ zYmFZwopX{Mi7L+xZ;*GCu9#T)7zVF=RUanwG}fyX#PLs>Ke9qXosSu(aR&`QRb;<$ zePnRjeEqlWuJZoyoo|xPXYZca%lWu5Ispa|sknplEUq1Qcq(?$wJVG9v0{?DM6MQ1 zy3;8PUfvvR%A2Z5*HJ zc96!>e6NA$0g=9R3xk&o1LUTGJFTK422g(+B(Kp?->mTJ?uEV!ZEy;akRTQqyHK#xe>6?ZLn JW4Rmr^52}77$N`w literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/user.png b/Myapplication/app/src/main/res/drawable/user.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e8825dc6b860625aad330743a216acd05c14e2 GIT binary patch literal 1651 zcmbV}do+}J7{`C(H5X%C#$_U{$t9Fhrm0DYNTTEt>4u7A(x#h6C6hK4x~xlPiItSD zhvd?IrfEdNRuY32GgBeA8Ht%S^S=8|+iB0)zjpWgJkL4LInU)hpYtF>qzCBxF85gu zFc=I-Kn)-wVCj{>j0V8Z56l7p5YUcAT@xBUXMi?)tKLe(SS6uIP@f2wDf4WUPUO<5HYq;1;~)9wS);}5VB4j%gHc*=>Br&7~0 zv$D_UaDK_nyHtGnO3Br0*KgdZsI02Kd++{(r-GViwRO+yUo^jIdE441Z0`_>CGS6c z?CtCSBpdxa_GNrRuJ}XEg#plCSl`M1!9_;7G|(St;?-Oj4Hg;@SrcpFh%;Ckh~Kiu z(2|x+F!IPKD(7oi%@2|qZ{7QvNU^4iX2{fNU&;O**s=db_8shRt`0zgFzE9jGH?Sb zVOhRg&n31r;2L{#0VGmVlJvN;iPKB$WU@qs%rXU`hd2$uzh=Ii$%jq(U^4jaV+T?ZZ!SKc>jv*+oJ+A58ynW ze=r&WO2c%R$he9C{?bHeNz?`Yp$Wk`6D6Y+mm>DpjooYSAGbRg9-V#s{7_^0rrJy& zl2@bN=uFbhvBPIWofPHC!uUQ{dkI@;FBvKv(nbJwy6V>4Tl@RRs-!!^sZwj{yT!S~ zHn-op1id_9e8|(b19%*?VLUf^4-MY1yL1$|=|#ea5#TF72WxMW>eX$i6BI(qeR5{$ zr;dnp_I9&|Zlf+{4u?g#DK0QrRLtczzw5mIvtqPA#}}g7kHm#qEL1UNY>9u$5|HTH z;u0wF*N@?vz8VuoWeiu@3wJgLWjrcbzzhp`9>kcwt2fph*zjCoM>gMs7gN?bGESG@ zkC$#7-_xqZiw;MSy1ZT6Y6j-4ep6#^Tls5kUq&&rHD~CDnkH&?U{m`V>s0e*LgrC7 z_fnYAM`2gA6dD!q#2M!VeiGc44~oLglZ=jv3FYIi02ppW0L7^+o7a=Zt6-geWGd~f zjhME?D&b^Et4rjhPxv}HpFU8(J=bOCE?z4}2yxUJ-_+7}Uy! zfT`f$mgm1PHG3c5)DKER`)- zK~1MZ{;5gNRA*FKy|E{rFuOb09d41oKV)-0CSKTA5hso2R)?yp=ii$<$SLSd)hUbr z(%+h92j!s)b|j%h`n)K1diOM!5Xq61B5|FJ9bD07+5E_CJiGi3*Kh}|Yjr)%VQNHG VXNl~7?vL4y&TG@`F6tree*#P~(yIUf literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/user_account.png b/Myapplication/app/src/main/res/drawable/user_account.png new file mode 100644 index 0000000000000000000000000000000000000000..e70142aef6c941e1cbd7a0b73cb636eaf598b665 GIT binary patch literal 1045 zcmV+w1nT>VP)OlMrbW68Wlw)p@P9uOm}uS&CZe8X7b$KnZ#V?)7*3azkAO; z=gb*lK4XVn$r9a+avLI*xuvSZ2;Xx_j&i^l4k{;s3}d6UNVpAnWYS*brwQ;a(=?8t z*>)1;C;fE&!LeiqA}zoW%3F{O%H~!KVEMP)jIuGaaSB__=Pzd~5n9 z9Oq}?B$ly0-`f0OGt~*&1gyg{2Id9zj7_@+_zI*8E7Ck$V=mZC-UV_RWG`0a%cC?A}e@b&U>13?=of|LZkvKvT9!{)n8S!`+BN3PUXI7p95Kr z=mz3OzyC+VvzV%4V`z30iSo|_-Fa;E0VI43SUNkB{ax)@H0ia3-C9c>NH?MfD2be< zT~aeP(WVhHsnw|L0Cn%Umu#e&E}0Pv!NHzoi`|C93ka1cV+el&BW|k)RG?HL?g<$t z#2dtoc0ca~FO9ALuD}WRfNUxt+D~ZwQ97=4>wxbF4mR!6fZHT=q1k>2pJIuQGtN4Y zI?x8-4=m$GUn;q%3@}Xlcc3a?Coz??_G7>&z!@xKji0JNxFyw%Y9p`(%lNdYpw~7D zuMsz1DrQ?89J8-S7zXLVifs2gMQ+|}6or+x(y zbe8ok3~Z)j;8^qOt-YRF*-659cY)wstNTj6T3ht=?r)D?(c#tke764q8UA!G0uacS P00000NkvXXu0mjfj0o`N literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/user_general.png b/Myapplication/app/src/main/res/drawable/user_general.png new file mode 100644 index 0000000000000000000000000000000000000000..cf579477be3e1bb299522bba2a8bfc27fb1ef0c9 GIT binary patch literal 402 zcmV;D0d4+?P)T1>Z)AKXD*b39g)*r53M?X&D;=MB3EsVC^;DHkhleEIoF{rjJ9gvJ|eFHGDkbT=DYXe}B7u`Tgk=p*RM~zy9<_jG39KWU}j~=@bPuF_w{| whG4Zwj-kZp8MT<0P@;;O(V(VEFcM=30DI2tA7r+V#{d8T07*qoM6N<$f)V+|y8r+H literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/drawable/user_icon.png b/Myapplication/app/src/main/res/drawable/user_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d5309b1e40b0dd814a99e7e4f33fdd00098705a2 GIT binary patch literal 5995 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 KlRg~8&& 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 literal 0 HcmV?d00001 diff --git a/Myapplication/app/src/main/res/layout/activity_main.xml b/Myapplication/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..4fc2444 --- /dev/null +++ b/Myapplication/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/Myapplication/app/src/main/res/layout/category_list_item.xml b/Myapplication/app/src/main/res/layout/category_list_item.xml new file mode 100644 index 0000000..66cc2df --- /dev/null +++ b/Myapplication/app/src/main/res/layout/category_list_item.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/Myapplication/app/src/main/res/layout/categoty_detail_content.xml b/Myapplication/app/src/main/res/layout/categoty_detail_content.xml new file mode 100644 index 0000000..a46be2c --- /dev/null +++ b/Myapplication/app/src/main/res/layout/categoty_detail_content.xml @@ -0,0 +1,31 @@ + + + + + + + + + \ No newline at end of file diff --git a/Myapplication/app/src/main/res/layout/content_category.xml b/Myapplication/app/src/main/res/layout/content_category.xml new file mode 100644 index 0000000..440633f --- /dev/null +++ b/Myapplication/app/src/main/res/layout/content_category.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Myapplication/app/src/main/res/layout/content_user.xml b/Myapplication/app/src/main/res/layout/content_user.xml new file mode 100644 index 0000000..f78662f --- /dev/null +++ b/Myapplication/app/src/main/res/layout/content_user.xml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +