diff --git a/ShoesAppointmentsApplication/.gitignore b/ShoesAppointmentsApplication/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/ShoesAppointmentsApplication/.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/ShoesAppointmentsApplication/.idea/.gitignore b/ShoesAppointmentsApplication/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/ShoesAppointmentsApplication/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/ShoesAppointmentsApplication/.idea/.name b/ShoesAppointmentsApplication/.idea/.name new file mode 100644 index 0000000..48e68f0 --- /dev/null +++ b/ShoesAppointmentsApplication/.idea/.name @@ -0,0 +1 @@ +Fruit and Vegetable Appointments Application \ No newline at end of file diff --git a/ShoesAppointmentsApplication/.idea/compiler.xml b/ShoesAppointmentsApplication/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/ShoesAppointmentsApplication/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ShoesAppointmentsApplication/.idea/gradle.xml b/ShoesAppointmentsApplication/.idea/gradle.xml new file mode 100644 index 0000000..6e5389e --- /dev/null +++ b/ShoesAppointmentsApplication/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/ShoesAppointmentsApplication/.idea/misc.xml b/ShoesAppointmentsApplication/.idea/misc.xml new file mode 100644 index 0000000..8053b91 --- /dev/null +++ b/ShoesAppointmentsApplication/.idea/misc.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ShoesAppointmentsApplication/Fruit and Vegetable Appointments Application.plantuml b/ShoesAppointmentsApplication/Fruit and Vegetable Appointments Application.plantuml new file mode 100644 index 0000000..8fd98c8 --- /dev/null +++ b/ShoesAppointmentsApplication/Fruit and Vegetable Appointments Application.plantuml @@ -0,0 +1,31 @@ +@startuml + +title __FRUIT AND VEGETABLE APPOINTMENTS APPLICATION's Component Diagram__\n + + component "Fruit_and_Vegetable_Appointments_Application.app.unitTest" { + [Fruit_and_Vegetable_Appointments_Application.app.main] + component "Fruit_and_Vegetable_Appointments_Application.app.main" { + [Fruit_and_Vegetable_Appointments_Application.app.androidTest] + component "Fruit_and_Vegetable_Appointments_Application.app.androidTest" { + [Fruit_and_Vegetable_Appointments_Application.app] + } + + + } + + + } + + + [Fruit_and_Vegetable_Appointments_Application.app.androidTest] --> [Fruit_and_Vegetable_Appointments_Application.app.main] + [Fruit_and_Vegetable_Appointments_Application.app.unitTest] --> [Fruit_and_Vegetable_Appointments_Application.app.main] + + +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/ShoesAppointmentsApplication/SA b/ShoesAppointmentsApplication/SA new file mode 160000 index 0000000..e986c0e --- /dev/null +++ b/ShoesAppointmentsApplication/SA @@ -0,0 +1 @@ +Subproject commit e986c0ec9b346572151d49fcb6a139a29fd8cb69 diff --git a/ShoesAppointmentsApplication/app/.gitignore b/ShoesAppointmentsApplication/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/ShoesAppointmentsApplication/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/build.gradle b/ShoesAppointmentsApplication/app/build.gradle new file mode 100644 index 0000000..098fb6f --- /dev/null +++ b/ShoesAppointmentsApplication/app/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdk 32 + + defaultConfig { + applicationId "com.example.fruitandvegetableappointmentsapplication" + minSdk 21 + targetSdk 32 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/proguard-rules.pro b/ShoesAppointmentsApplication/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/ShoesAppointmentsApplication/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/ShoesAppointmentsApplication/app/src/androidTest/java/com/example/fruitandvegetableappointmentsapplication/ExampleInstrumentedTest.java b/ShoesAppointmentsApplication/app/src/androidTest/java/com/example/fruitandvegetableappointmentsapplication/ExampleInstrumentedTest.java new file mode 100644 index 0000000..785191f --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/androidTest/java/com/example/fruitandvegetableappointmentsapplication/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.fruitandvegetableappointmentsapplication; + +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.fruitandvegetableappointmentsapplication", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/AndroidManifest.xml b/ShoesAppointmentsApplication/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..3822b2a --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/AndroidManifest.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/DBHelper.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/DBHelper.java new file mode 100644 index 0000000..6da393e --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/DBHelper.java @@ -0,0 +1,30 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; + +public class DBHelper extends SQLiteOpenHelper { + + public static final String DATABASE_NAME = "fruit.db"; + + private static final int DATABASE_VERSION = 1; + + public DBHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + } + + final String CREATE_TABLE_SQL1="create table if not exists user(_id integer primary key autoincrement ,username,password)"; + final String CREATE_TABLE_SQL2="create table if not exists pinglun(_id integer primary key autoincrement ,userid,pinglun)"; + final String CREATE_TABLE_SQL3="create table if not exists yuyue(_id integer primary key autoincrement ,userid,pinzhong,data)"; + public void onCreate(SQLiteDatabase sqLitedatabase){ + sqLitedatabase.execSQL(CREATE_TABLE_SQL1); + sqLitedatabase.execSQL(CREATE_TABLE_SQL2); + sqLitedatabase.execSQL(CREATE_TABLE_SQL3); + } + + public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion){ + } + + +} diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/MainActivity.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/MainActivity.java new file mode 100644 index 0000000..c9db88a --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/MainActivity.java @@ -0,0 +1,113 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; + +public class MainActivity extends AppCompatActivity { + private Button shouye,yuyue,taolun,wode; + private ViewHolder holder; + private Tuijian tuijian; + String name=null; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_main); + ListView mLvTuijian=findViewById(R.id.tuijian); + initView(); + tuijian=new Tuijian(); + Newadptor newadptor =new Newadptor(); + mLvTuijian.setAdapter(newadptor); + Intent intent=this.getIntent(); + name=intent.getStringExtra("username"); + } + + private void initView() { + shouye= findViewById(R.id.shouye); + yuyue= findViewById(R.id.yuyue); + taolun= findViewById(R.id.taolun); + wode=findViewById(R.id.wode); + + yuyue.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent1=new Intent(MainActivity.this,shucai_activity.class); + intent1.putExtra("username", name); + startActivity(intent1); + } + }); + + taolun.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + Intent intent2=new Intent(MainActivity.this,taolun.class); + intent2.putExtra("username", name); + startActivity(intent2); + } + }); + + wode.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent3=new Intent(MainActivity.this,wode.class); + intent3.putExtra("username", name); + startActivity(intent3); + } + }); + } + + private class Newadptor extends BaseAdapter{ + @Override + public int getCount() { + return Tuijian.getNames().length; + } + + @Override + public Object getItem(int i) { + return Tuijian.getNames()[i]; + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View cview, ViewGroup viewGroup) { + if(cview==null){ + cview=View.inflate(MainActivity.this,R.layout.tuijian_item_layout,null); + holder =new ViewHolder(); + holder.title=cview.findViewById(R.id.tuijian_title); + holder.news=cview.findViewById(R.id.tuijian_text); + holder.img=cview.findViewById(R.id.tuijian_img); + + cview.setTag(holder); + }else{ + holder=(ViewHolder) cview.getTag(); + } + + holder.title.setText(Tuijian.getNames()[i]); + holder.news.setText(Tuijian.getNews()[i]); + holder.img.setBackgroundResource(Tuijian.getIcons()[i]); + return cview; + } + } + private class ViewHolder{ + private TextView title; + private TextView news; + private ImageView img; + } + + +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/Tuijian.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/Tuijian.java new file mode 100644 index 0000000..ef3c152 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/Tuijian.java @@ -0,0 +1,25 @@ +package com.example.fruitandvegetableappointmentsapplication; + +public class Tuijian { + + private static String[] names={"鸿星尔克","安踏","森马","回力","特步"}; + private static String[] news={"鸿星尔克男鞋红星运动鞋男春夏季新款飞织透气网面男士潮流跑步休闲鞋子男 正黑/国王金(飞织)", + "安踏运动鞋男鞋夏季网面透气跑步鞋子男轻便软底耐磨减震户外鞋", + "森马 Senma 时尚经典韩版飞织网面运动鞋套脚舒适软底轻便户外透气百搭休闲鞋男211120303 白灰色 ", + "回力男鞋板鞋男春夏季透气韩版男士休闲小白鞋百搭学生潮流运动鞋子 白蓝", + "特步男鞋板鞋男夏季国潮休闲鞋子男时尚百搭厚底减震网面透气运动鞋男 白兰-潮流鞋身(推荐)"}; + + private static int[] icons={R.drawable.shoes1,R.drawable.shoes2,R.drawable.shoes3,R.drawable.shoes4,R.drawable.shoes5}; + + public static String[] getNames() { + return names; + } + + public static String[] getNews() { + return news; + } + + public static int[] getIcons() { + return icons; + } +} diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/fruitandvegetableappointmentsapplication.plantuml b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/fruitandvegetableappointmentsapplication.plantuml new file mode 100644 index 0000000..8ad9c5c --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/fruitandvegetableappointmentsapplication.plantuml @@ -0,0 +1,207 @@ +@startuml + +title __FRUITANDVEGETABLEAPPOINTMENTSAPPLICATION's Class Diagram__\n + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.DBHelper { + {static} + DATABASE_NAME : String + ~ CREATE_TABLE_SQL1 : String + ~ CREATE_TABLE_SQL2 : String + ~ CREATE_TABLE_SQL3 : String + {static} - DATABASE_VERSION : int + + DBHelper() + + onCreate() + + onUpgrade() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.MainActivity { + ~ name : String + - shouye : Button + - taolun : Button + - wode : Button + - yuyue : Button + # onCreate() + - initView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.MainActivity.Newadptor { + + getCount() + + getItem() + + getItemId() + + getView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.MainActivity.ViewHolder { + - img : ImageView + - news : TextView + - title : TextView + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.Tuijian { + {static} - icons : int[] + {static} - names : String[] + {static} - news : String[] + {static} + getIcons() + {static} + getNames() + {static} + getNews() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.login { + ~ login : Button + ~ password : EditText + ~ register : Button + ~ username : EditText + # onCreate() + # onDestroy() + - initView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.register { + ~ checkpassword : EditText + ~ inlogin : Button + ~ password : EditText + ~ register : Button + ~ username : EditText + - db : SQLiteDatabase + # onCreate() + - initView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.shucai_activity { + ~ name : String + # onCreate() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.shucai_activity.ViewHolder { + - img : ImageView + - news : TextView + - title : TextView + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.shucai_activity.Yuyueadaptor { + + getCount() + + getItem() + + getItemId() + + getView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.taolun { + ~ name : String + - mBtn_insert : Button + - mDbWriter : SQLiteDatabase + - mListView : ListView + - mSimpleCursorAdapter : SimpleCursorAdapter + - wenben : EditText + + deleteData() + + insertData() + + refreshListview() + # onCreate() + - initView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.welcome { + # onCreate() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.wode { + ~ login : Button + ~ more : Button + ~ name : String + ~ username2 : TextView + # onCreate() + - initView() + } + } + + + namespace com.example.fruitandvegetableappointmentsapplication { + class com.example.fruitandvegetableappointmentsapplication.yuyuexuanze { + ~ name : String + ~ text1 : TextView + ~ text2 : TextView + ~ text3 : TextView + ~ text4 : TextView + - backbutton : Button + - button1 : Button + - button2 : Button + - button3 : Button + - button4 : Button + - day : int + - mDbWriter : SQLiteDatabase + - month : int + - year : int + # onCreate() + - initView() + } + } + + + com.example.fruitandvegetableappointmentsapplication.DBHelper -up-|> android.database.sqlite.SQLiteOpenHelper + com.example.fruitandvegetableappointmentsapplication.MainActivity -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.MainActivity o-- com.example.fruitandvegetableappointmentsapplication.MainActivity.ViewHolder : holder + com.example.fruitandvegetableappointmentsapplication.MainActivity o-- com.example.fruitandvegetableappointmentsapplication.Tuijian : tuijian + com.example.fruitandvegetableappointmentsapplication.MainActivity +-down- com.example.fruitandvegetableappointmentsapplication.MainActivity.Newadptor + com.example.fruitandvegetableappointmentsapplication.MainActivity +-down- com.example.fruitandvegetableappointmentsapplication.MainActivity.ViewHolder + com.example.fruitandvegetableappointmentsapplication.MainActivity.Newadptor -up-|> android.widget.BaseAdapter + com.example.fruitandvegetableappointmentsapplication.login -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.login o-- com.example.fruitandvegetableappointmentsapplication.DBHelper : dbHelper + com.example.fruitandvegetableappointmentsapplication.register -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.register o-- com.example.fruitandvegetableappointmentsapplication.DBHelper : dbHelper + com.example.fruitandvegetableappointmentsapplication.shucai_activity -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.shucai_activity o-- com.example.fruitandvegetableappointmentsapplication.shucai_activity.ViewHolder : holder + com.example.fruitandvegetableappointmentsapplication.shucai_activity o-- com.example.fruitandvegetableappointmentsapplication.Tuijian : tuijian + com.example.fruitandvegetableappointmentsapplication.shucai_activity +-down- com.example.fruitandvegetableappointmentsapplication.shucai_activity.ViewHolder + com.example.fruitandvegetableappointmentsapplication.shucai_activity +-down- com.example.fruitandvegetableappointmentsapplication.shucai_activity.Yuyueadaptor + com.example.fruitandvegetableappointmentsapplication.shucai_activity.Yuyueadaptor -up-|> android.widget.BaseAdapter + com.example.fruitandvegetableappointmentsapplication.taolun -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.taolun o-- com.example.fruitandvegetableappointmentsapplication.DBHelper : dbhelper + com.example.fruitandvegetableappointmentsapplication.welcome -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.wode -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.yuyuexuanze -up-|> androidx.appcompat.app.AppCompatActivity + com.example.fruitandvegetableappointmentsapplication.yuyuexuanze o-- com.example.fruitandvegetableappointmentsapplication.DBHelper : dbhelper + + +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/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/login.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/login.java new file mode 100644 index 0000000..9199810 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/login.java @@ -0,0 +1,83 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.database.Cursor; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class login extends AppCompatActivity { + DBHelper dbHelper; + EditText username; + EditText password; + Button login; + Button register; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + dbHelper=new DBHelper(this); + initView(); + + login.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + + String name=username.getText().toString(); + String pwd=password.getText().toString(); + + + Cursor cursor=dbHelper.getReadableDatabase().query("user",null,"username=? and password=?",new String[]{name,pwd},null,null,null); + ArrayList> resultList=new ArrayList>(); + + while (cursor.moveToNext()){ + Map map=new HashMap(); + map.put("name",cursor.getString(1)); + resultList.add(map); + } + if (resultList==null || resultList.size()==0){ + Toast.makeText(login.this,"账户或密码错误!",Toast.LENGTH_SHORT).show(); + } + else { + Toast.makeText(login.this,"登录成功!",Toast.LENGTH_SHORT).show(); + Intent intent=new Intent(login.this,MainActivity.class); + intent.putExtra("username",name); + startActivity(intent); + } + } + }); + + register.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent=new Intent(login.this,register.class); + startActivity(intent); + } + }); + } + private void initView() { + username=findViewById(R.id.username); + password=findViewById(R.id.password); + login=findViewById(R.id.login); + register=findViewById(R.id.register); + } + @Override + protected void onDestroy() { + super.onDestroy(); + if(dbHelper!=null){ + dbHelper.close(); + } + } + + + +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/register.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/register.java new file mode 100644 index 0000000..1f8a344 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/register.java @@ -0,0 +1,97 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.ContentValues; +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +public class register extends AppCompatActivity { + DBHelper dbHelper; + EditText username; + EditText password; + EditText checkpassword; + Button register; + Button inlogin; + private SQLiteDatabase db; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_register); + + dbHelper=new DBHelper(this); + db = dbHelper .getWritableDatabase(); + initView(); + + inlogin.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent=new Intent(register.this,login.class); + startActivity(intent); + } + }); + register.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + String name=username.getText().toString(); + String pwd=password.getText().toString(); + String pwd2=checkpassword.getText().toString(); + if (!(name.isEmpty()||pwd.isEmpty())) + { + + if ((pwd).equals(pwd2)) { + Cursor cursor = db.rawQuery( + "select count(*) from user where username = '" + + name + "'", + null); + cursor.moveToNext(); + int count = cursor.getInt(0); + if (count == 0) { + ContentValues values = new ContentValues(); + values.put("username", name); + values.put("password", pwd); + db.insert("user", null, values); + Toast.makeText(register.this, "注册成功!", + Toast.LENGTH_SHORT).show(); + username.setText(""); + password.setText(""); + checkpassword.setText(""); + } + else { + Toast.makeText(register.this, "您注册的用户名已存在!", + Toast.LENGTH_SHORT).show(); + } + cursor.close(); + } + else { + Toast.makeText(register.this, "您两次输入的密码不一样!", + Toast.LENGTH_SHORT).show(); + } + } + else if(name.isEmpty()){ + Toast.makeText(register.this, "用户名不能为空", + Toast.LENGTH_SHORT).show(); + } + else if (pwd.isEmpty()){ + Toast.makeText(register.this, "密码不能为空", + Toast.LENGTH_SHORT).show(); + } + } + }); + } + + private void initView() { + username=findViewById(R.id.username1); + password=findViewById(R.id.password1); + checkpassword=findViewById(R.id.password2); + register=findViewById(R.id.confirm); + inlogin=findViewById(R.id.back); + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/shucai_activity.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/shucai_activity.java new file mode 100644 index 0000000..11e2b56 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/shucai_activity.java @@ -0,0 +1,86 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; + +public class shucai_activity extends AppCompatActivity { + private ViewHolder holder; + private Tuijian tuijian; + String name; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_shucai); + + Intent intent=getIntent(); + name=intent.getStringExtra("username"); + ListView mLvshucai=findViewById(R.id.yuyue); + + tuijian=new Tuijian(); + + Yuyueadaptor yuyueadaptor=new Yuyueadaptor(); + mLvshucai.setAdapter(yuyueadaptor); + + mLvshucai.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + Intent intent3=new Intent(shucai_activity.this,yuyuexuanze.class); + intent3.putExtra("username",name); + startActivity(intent3); + } + }); + + } + private class Yuyueadaptor extends BaseAdapter{ + @Override + public int getCount() { + return Tuijian.getNames().length; + } + + @Override + public Object getItem(int i) { + return Tuijian.getNames()[i]; + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View cview, ViewGroup viewGroup) { + if(cview==null){ + cview=View.inflate(shucai_activity.this,R.layout.tuijian_item_layout,null); + holder =new ViewHolder(); + holder.title=cview.findViewById(R.id.tuijian_title); + holder.news=cview.findViewById(R.id.tuijian_text); + holder.img=cview.findViewById(R.id.tuijian_img); + + cview.setTag(holder); + }else{ + holder=(ViewHolder) cview.getTag(); + } + + holder.title.setText(Tuijian.getNames()[i]); + holder.news.setText(Tuijian.getNews()[i]); + holder.img.setBackgroundResource(Tuijian.getIcons()[i]); + return cview; + } + } + + private class ViewHolder{ + private TextView title; + private TextView news; + private ImageView img; + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/slo.puml b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/slo.puml new file mode 100644 index 0000000..ac2c2d3 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/slo.puml @@ -0,0 +1,11 @@ +@startuml +'https://plantuml.com/sequence-diagram + +autonumber + +Alice -> Bob: Authentication Request +Bob --> Alice: Authentication Response + +Alice -> Bob: Another authentication Request +Alice <-- Bob: another authentication Response +@enduml \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/taolun.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/taolun.java new file mode 100644 index 0000000..8572f72 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/taolun.java @@ -0,0 +1,102 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.app.AlertDialog; +import android.content.ContentValues; +import android.content.DialogInterface; +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.Button; +import android.widget.CursorAdapter; +import android.widget.EditText; +import android.widget.ListView; +import android.widget.SimpleCursorAdapter; +import android.widget.Toast; + +public class taolun extends AppCompatActivity { + private ListView mListView; + private Button mBtn_insert; + private EditText wenben; + private SimpleCursorAdapter mSimpleCursorAdapter; + private SQLiteDatabase mDbWriter; + private DBHelper dbhelper; + String name=null; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_taolun); + initView(); + + Intent intent=this.getIntent(); + name=intent.getStringExtra("username"); + + mBtn_insert.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + insertData(); + wenben.setText(""); + } + }); + + dbhelper=new DBHelper(this); + mDbWriter = dbhelper.getWritableDatabase(); + + mSimpleCursorAdapter =new SimpleCursorAdapter(taolun.this,R.layout.taolun_item_layout,null, + new String[]{"userid","pinglun"},new int[]{R.id.id,R.id.pinglunlist}, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); + mListView.setAdapter(mSimpleCursorAdapter); + refreshListview(); + mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { + @Override + public boolean onItemLongClick(AdapterView adapterView, View view, int position, long l) { + new AlertDialog.Builder(taolun.this).setTitle("提示").setMessage("是否删除该评论") + .setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + deleteData(position); + } + }).setNegativeButton("取消",null).show(); + return true; + } + }); + + + } + + private void initView() { + mListView = findViewById(R.id.myListview); + mBtn_insert = findViewById(R.id.insert); + wenben = findViewById(R.id.xiepinglun); + } + + public void refreshListview() { + Cursor mCursor = mDbWriter.query("pinglun", null, null, null, null, null, null); + mSimpleCursorAdapter.changeCursor(mCursor); + } + public void insertData() { + ContentValues mContentValues = new ContentValues(); + mContentValues.put("userid", name); + mContentValues.put("pinglun", wenben.getText().toString().trim()); + mDbWriter.insert("pinglun", null, mContentValues); + refreshListview(); + } + public void deleteData(int positon) { + Cursor mCursor = mSimpleCursorAdapter.getCursor(); + mCursor.moveToPosition(positon); + int itemId = mCursor.getInt(mCursor.getColumnIndex("_id")); + String username = mCursor.getString(mCursor.getColumnIndex("userid")); + if(username.equals(name)){ + mDbWriter.delete("pinglun", "_id=?", new String[]{itemId + ""}); + refreshListview(); + }else if(username.length()==0){ + Toast.makeText(taolun.this,"您无权删除游客信息!!", Toast.LENGTH_SHORT).show(); + } + else{ + new AlertDialog.Builder(taolun.this).setTitle("提示").setMessage("您无权限删除该信息!").show(); + } + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/welcome.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/welcome.java new file mode 100644 index 0000000..40eaf14 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/welcome.java @@ -0,0 +1,23 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; + +public class welcome extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_welcome); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + startActivity(new Intent(welcome.this, MainActivity.class)); + finish(); + } + },3000); + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/wode.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/wode.java new file mode 100644 index 0000000..63ef61c --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/wode.java @@ -0,0 +1,47 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.app.AlertDialog; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +public class wode extends AppCompatActivity { + Button login; + Button more; + TextView username2; + String name=null; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wode); + + initView(); + Intent intent=this.getIntent(); + name=intent.getStringExtra("username"); + + username2.setText(name); + login.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent inten1=new Intent(wode.this,login.class); + startActivity(inten1); + } + }); + more.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + new AlertDialog.Builder(wode.this).setMessage("更多功能,尽情期待").show(); + } + }); + } + + private void initView() { + login=findViewById(R.id.login); + more=findViewById(R.id.more); + username2=findViewById(R.id.username2); + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/yuyuexuanze.java b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/yuyuexuanze.java new file mode 100644 index 0000000..1207883 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/java/com/example/fruitandvegetableappointmentsapplication/yuyuexuanze.java @@ -0,0 +1,175 @@ +package com.example.fruitandvegetableappointmentsapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.app.DatePickerDialog; +import android.content.ContentValues; +import android.content.Intent; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.DatePicker; +import android.widget.TextView; + +import java.awt.font.TextAttribute; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; + +public class yuyuexuanze extends AppCompatActivity{ + private Button button1,button2,button3,button4,backbutton; + TextView text1,text2,text3,text4; + private int year; + private int month; + private int day; + private SQLiteDatabase mDbWriter; + private DBHelper dbhelper; + String name; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_yuyuexuanze); + + dbhelper = new DBHelper(this); + mDbWriter = dbhelper.getWritableDatabase(); + Intent intent=getIntent(); + name=intent.getStringExtra("username"); + initView(); + Calendar myCalendar = Calendar.getInstance(Locale.CHINA); + Date myDate = new Date(); + myCalendar.setTime(myDate); + + year = myCalendar.get(Calendar.YEAR); + month = myCalendar.get(Calendar.MONTH); + day = myCalendar.get(Calendar.DAY_OF_MONTH); + + text1.setText("未预约"); + button1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DatePickerDialog dpd=new DatePickerDialog(yuyuexuanze.this, new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) { + text1.setText(myyear+"-"+(monthOfYear+1)+"-"+dayOfMonth); + year=myyear; + month=monthOfYear; + day=dayOfMonth; + String s="1"; + ContentValues mContentValues = new ContentValues(); + mContentValues.put("userid", name); + mContentValues.put("pinzhong",s); + mContentValues.put("data", text1.getText().toString().trim()); + mDbWriter.insert("yuyue", null, mContentValues); + } + },year,month,day); + dpd.show(); + } + }); + myCalendar.setTime(myDate);//为Calendar对象设置时间为当前日期 + + year = myCalendar.get(Calendar.YEAR); + month = myCalendar.get(Calendar.MONTH); + day = myCalendar.get(Calendar.DAY_OF_MONTH); + + text2.setText("未预约"); + button2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DatePickerDialog dpd=new DatePickerDialog(yuyuexuanze.this, new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) { + text2.setText(myyear+"-"+(monthOfYear+1)+"-"+dayOfMonth); + year=myyear; + month=monthOfYear; + day=dayOfMonth; + String s="2"; + ContentValues mContentValues = new ContentValues(); + mContentValues.put("userid", name); + mContentValues.put("pinzhong",s); + mContentValues.put("data", text2.getText().toString().trim()); + mDbWriter.insert("yuyue", null, mContentValues); + } + },year,month,day); + dpd.show(); + } + }); + myCalendar.setTime(myDate);//为Calendar对象设置时间为当前日期 + + year = myCalendar.get(Calendar.YEAR); + month = myCalendar.get(Calendar.MONTH); + day = myCalendar.get(Calendar.DAY_OF_MONTH); + + text3.setText("未预约"); + button3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DatePickerDialog dpd=new DatePickerDialog(yuyuexuanze.this, new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) { + text3.setText(myyear+"-"+(monthOfYear+1)+"-"+dayOfMonth); + year=myyear; + month=monthOfYear; + day=dayOfMonth; + String s="3"; + ContentValues mContentValues = new ContentValues(); + mContentValues.put("userid", name); + mContentValues.put("pinzhong",s); + mContentValues.put("data", text3.getText().toString().trim()); + mDbWriter.insert("yuyue", null, mContentValues); + } + },year,month,day); + dpd.show(); + } + }); + myCalendar.setTime(myDate); + + year = myCalendar.get(Calendar.YEAR); + month = myCalendar.get(Calendar.MONTH); + day = myCalendar.get(Calendar.DAY_OF_MONTH); + + text4.setText("未预约"); + button4.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DatePickerDialog dpd=new DatePickerDialog(yuyuexuanze.this, new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) { + text4.setText(myyear+"-"+(monthOfYear+1)+"-"+dayOfMonth); + year=myyear; + month=monthOfYear; + day=dayOfMonth; + String s="4"; + ContentValues mContentValues = new ContentValues(); + mContentValues.put("userid", name); + mContentValues.put("pinzhong",s); + mContentValues.put("data", text4.getText().toString().trim()); + mDbWriter.insert("yuyue", null, mContentValues); + } + },year,month,day); + dpd.show(); + } + }); + backbutton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent2=new Intent(yuyuexuanze.this,MainActivity.class); + intent2.putExtra("username",name); + startActivity(intent2); + } + }); + } + + private void initView() { + button1 = findViewById(R.id.yuyuebutton1); + button2 = findViewById(R.id.yuyuebutton2); + button3 = findViewById(R.id.yuyuebutton3); + button4 = findViewById(R.id.yuyuebutton4); + backbutton=findViewById(R.id.fanhui); + + text1 =findViewById(R.id.yuyuetext1); + text2 =findViewById(R.id.yuyuetext2); + text3 =findViewById(R.id.yuyuetext3); + text4 =findViewById(R.id.yuyuetext4); + } +} \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/ShoesAppointmentsApplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/apple.jpeg b/ShoesAppointmentsApplication/app/src/main/res/drawable/apple.jpeg new file mode 100644 index 0000000..c7f788e Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/apple.jpeg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/caomei.jpeg b/ShoesAppointmentsApplication/app/src/main/res/drawable/caomei.jpeg new file mode 100644 index 0000000..929b4dd Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/caomei.jpeg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/chengzi.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/chengzi.jpg new file mode 100644 index 0000000..cc7abcd Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/chengzi.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/fruit.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/fruit.jpg new file mode 100644 index 0000000..678c8ba Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/fruit.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/huanying.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/huanying.jpg new file mode 100644 index 0000000..8e685a5 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/huanying.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/huluobo.jpeg b/ShoesAppointmentsApplication/app/src/main/res/drawable/huluobo.jpeg new file mode 100644 index 0000000..1f0fcbe Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/huluobo.jpeg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/ic_launcher_background.xml b/ShoesAppointmentsApplication/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/jienigui.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/jienigui.jpg new file mode 100644 index 0000000..7f0ac65 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/jienigui.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shengcai.jpeg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shengcai.jpeg new file mode 100644 index 0000000..b50ef1e Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shengcai.jpeg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes1.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes1.jpg new file mode 100644 index 0000000..e04bcb2 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes1.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes2.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes2.jpg new file mode 100644 index 0000000..52f985b Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes2.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes3.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes3.jpg new file mode 100644 index 0000000..fdf3335 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes3.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes4.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes4.jpg new file mode 100644 index 0000000..2d97604 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes4.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes5.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes5.jpg new file mode 100644 index 0000000..2fac53b Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoes5.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shoess.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoess.jpg new file mode 100644 index 0000000..ab43bd3 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shoess.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/shouye.png b/ShoesAppointmentsApplication/app/src/main/res/drawable/shouye.png new file mode 100644 index 0000000..e1bf21a Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/shouye.png differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/taolun.png b/ShoesAppointmentsApplication/app/src/main/res/drawable/taolun.png new file mode 100644 index 0000000..fbf866f Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/taolun.png differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/title.png b/ShoesAppointmentsApplication/app/src/main/res/drawable/title.png new file mode 100644 index 0000000..b84d238 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/title.png differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/title2.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/title2.jpg new file mode 100644 index 0000000..6e60247 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/title2.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/tubiao.png b/ShoesAppointmentsApplication/app/src/main/res/drawable/tubiao.png new file mode 100644 index 0000000..1a3adf5 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/tubiao.png differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/welcome.jpeg b/ShoesAppointmentsApplication/app/src/main/res/drawable/welcome.jpeg new file mode 100644 index 0000000..1f0d33d Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/welcome.jpeg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/welcome2.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/welcome2.jpg new file mode 100644 index 0000000..e576219 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/welcome2.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/wode.png b/ShoesAppointmentsApplication/app/src/main/res/drawable/wode.png new file mode 100644 index 0000000..7ae9054 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/wode.png differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/xiangjiao.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/xiangjiao.jpg new file mode 100644 index 0000000..b58b098 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/xiangjiao.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/yuyue.png b/ShoesAppointmentsApplication/app/src/main/res/drawable/yuyue.png new file mode 100644 index 0000000..757ce6b Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/yuyue.png differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/drawable/yuzhiboyou.jpg b/ShoesAppointmentsApplication/app/src/main/res/drawable/yuzhiboyou.jpg new file mode 100644 index 0000000..ec4ea16 Binary files /dev/null and b/ShoesAppointmentsApplication/app/src/main/res/drawable/yuzhiboyou.jpg differ diff --git a/ShoesAppointmentsApplication/app/src/main/res/layout/activity_login.xml b/ShoesAppointmentsApplication/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..abecec0 --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ShoesAppointmentsApplication/app/src/main/res/layout/activity_yuyuexuanze.xml b/ShoesAppointmentsApplication/app/src/main/res/layout/activity_yuyuexuanze.xml new file mode 100644 index 0000000..91b8efd --- /dev/null +++ b/ShoesAppointmentsApplication/app/src/main/res/layout/activity_yuyuexuanze.xml @@ -0,0 +1,40 @@ + + + + + + +