diff --git a/Royal_Baby/.gitignore b/Royal_Baby/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/Royal_Baby/.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/Royal_Baby/.idea/.gitignore b/Royal_Baby/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Royal_Baby/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Royal_Baby/.idea/compiler.xml b/Royal_Baby/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/Royal_Baby/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Royal_Baby/.idea/dbnavigator.xml b/Royal_Baby/.idea/dbnavigator.xml new file mode 100644 index 0000000..70f212e --- /dev/null +++ b/Royal_Baby/.idea/dbnavigator.xml @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/.idea/gradle.xml b/Royal_Baby/.idea/gradle.xml new file mode 100644 index 0000000..4f53562 --- /dev/null +++ b/Royal_Baby/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/.idea/misc.xml b/Royal_Baby/.idea/misc.xml new file mode 100644 index 0000000..bdd9278 --- /dev/null +++ b/Royal_Baby/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/Royal_Baby.plantuml b/Royal_Baby/Royal_Baby.plantuml new file mode 100644 index 0000000..b9a4dd9 --- /dev/null +++ b/Royal_Baby/Royal_Baby.plantuml @@ -0,0 +1,31 @@ +@startuml + +title __ROYAL_BABY's Component Diagram__\n + + component "Royal_Baby.app.unitTest" { + [Royal_Baby.app.main] + component "Royal_Baby.app.main" { + [Royal_Baby.app.androidTest] + component "Royal_Baby.app.androidTest" { + [Royal_Baby.app] + } + + + } + + + } + + + [Royal_Baby.app.androidTest] --> [Royal_Baby.app.main] + [Royal_Baby.app.unitTest] --> [Royal_Baby.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/Royal_Baby/app/.gitignore b/Royal_Baby/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/Royal_Baby/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/Royal_Baby/app/build.gradle b/Royal_Baby/app/build.gradle new file mode 100644 index 0000000..9475c17 --- /dev/null +++ b/Royal_Baby/app/build.gradle @@ -0,0 +1,55 @@ +plugins { + id 'com.android.application' +} + +android { + namespace 'com.example.royal_baby' + compileSdk 33 + + defaultConfig { + applicationId "com.example.royal_baby" + minSdk 24 + targetSdk 33 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + buildFeatures{ + viewBinding true + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'androidx.media:media:1.5.0' + + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + + implementation 'com.google.android.material:material:1.5.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.3' + testImplementation 'junit:junit:4.13.2' + implementation 'de.hdodenhof:circleimageview:2.1.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + + implementation 'com.google.code.gson:gson:2.8.7' + implementation 'com.google.android.material:material:1.4.0-bata01' + implementation 'com.github.bumptech.glide:glide:4.11.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' + + +} + + diff --git a/Royal_Baby/app/proguard-rules.pro b/Royal_Baby/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/Royal_Baby/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/Royal_Baby/app/src/androidTest/java/com/example/royal_baby/ExampleInstrumentedTest.java b/Royal_Baby/app/src/androidTest/java/com/example/royal_baby/ExampleInstrumentedTest.java new file mode 100644 index 0000000..bab34ed --- /dev/null +++ b/Royal_Baby/app/src/androidTest/java/com/example/royal_baby/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.royal_baby; + +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.royal_baby", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/Royal_Baby/app/src/main/AndroidManifest.xml b/Royal_Baby/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..da395ab --- /dev/null +++ b/Royal_Baby/app/src/main/AndroidManifest.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/CategoryActivity.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/CategoryActivity.java new file mode 100644 index 0000000..410410f --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/CategoryActivity.java @@ -0,0 +1,106 @@ +package com.example.royal_baby.Activty; + +import android.app.Activity; +import android.app.FragmentManager; +import android.app.FragmentTransaction; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.LinearLayout; +import android.widget.ListView; + +import androidx.annotation.Nullable; + +import com.example.royal_baby.R; +import com.example.royal_baby.Adapter.Adapter; +import com.example.royal_baby.Fragement.SetDetailFragment; +import com.example.royal_baby.entity.Product; + +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)); + } + } + }); + + } + + 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("儿童玩具"); + productCategory.add("婴儿辅食"); + productCategory.add("丝绵衣物"); + productCategory.add("孕妇用品"); + Product product = new Product(); + product.setImageUrlId(R.drawable.feihe_milk); + product.setProductName("飞鹤奶粉"); + product.setProductPrice(new BigDecimal("219")); + Product product3 = new Product(); + product3.setImageUrlId(R.drawable.product_play); + product3.setProductName("摇摇头恐龙车"); + product3.setProductPrice(new BigDecimal("29.9")); + Product product1 = new Product(); + product1.setImageUrlId(R.drawable.product_feeder); + product1.setProductName("贝亲奶瓶"); + product1.setProductPrice(new BigDecimal("59.9")); + Product product2 = new Product(); + product2.setImageUrlId(R.drawable.product_play); + product2.setProductName("摇摇头恐龙车"); + product2.setProductPrice(new BigDecimal("29.9")); + productList.add(product); + productList.add(product1); + productList.add(product2); + productList.add(product3); + } + + /** + * 初始化组件 + */ + 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/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/ComfirmOrderActivity.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/ComfirmOrderActivity.java new file mode 100644 index 0000000..ff037e0 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/ComfirmOrderActivity.java @@ -0,0 +1,70 @@ +package com.example.royal_baby.Activty; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; + +import androidx.appcompat.widget.Toolbar; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.royal_baby.R; + +public class ComfirmOrderActivity extends AppCompatActivity { + RecyclerView orderRv; + + Activity context; + + + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_comfirmorder); + Button button=(Button)findViewById(R.id.check); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + new AlertDialog.Builder(ComfirmOrderActivity.this).setTitle("结算提示") + .setMessage("请确认付款金额:219.0元") + .setPositiveButton("确认", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }).setNegativeButton("返回", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + + } + + }).show(); + } + + }); + bottomNavigation(); + + + } + private void bottomNavigation() { + LinearLayout homeBtn = findViewById(R.id.homBtn); + LinearLayout carBtn = findViewById(R.id.cartBtn); + homeBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(ComfirmOrderActivity.this, MainActivity2.class)); + } + }); + carBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(ComfirmOrderActivity.this, ComfirmOrderActivity.class)); + + } + }); + } +} diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/MainActivity2.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/MainActivity2.java new file mode 100644 index 0000000..42220e3 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/MainActivity2.java @@ -0,0 +1,155 @@ +package com.example.royal_baby.Activty; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.content.Intent; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.example.royal_baby.Adapter.CategoryAdpter; +import com.example.royal_baby.Adapter.PopularAdpter; +import com.example.royal_baby.Domain.CategoryDomian; +import com.example.royal_baby.Domain.ProductDomain; +import com.example.royal_baby.R; +import com.google.android.material.navigation.NavigationView; + +import java.util.ArrayList; +import java.util.Locale; + +public class MainActivity2 extends AppCompatActivity { + private RecyclerView.Adapter adpter,adpter2; + private RecyclerView recyclerViewCategoryList,recyclerViewPopularList; + private DrawerLayout mDrawerLayout; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main2); + recyclerViewCategoty(); + recyclerViewPopular(); + bottomNavigation(); + mDrawerLayout =(DrawerLayout) findViewById(R.id.drawer_layout2); + NavigationView navView=(NavigationView)findViewById(R.id.nav_view2); + ActionBar actionBar=getSupportActionBar(); + if(actionBar!=null) + { + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setHomeAsUpIndicator(R.drawable.user_icon); + } + navView.setCheckedItem(R.id.nav_orders); + navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + mDrawerLayout.closeDrawers(); + return true; + + } + }); + } + + + + public boolean onCreateOptionsMenu(Menu menu) + { + getMenuInflater().inflate(R.menu.toolbar,menu); + return true; + } + public boolean onOptionsItemSelected(MenuItem item){ + switch(item.getItemId()){ + case android.R.id.home: + mDrawerLayout.openDrawer(GravityCompat.START); + break; + case R.id.setting: + Toast.makeText(this,"you clicked ",Toast.LENGTH_SHORT).show(); + default: + } + return true; + } + + private void bottomNavigation() { + LinearLayout homeBtn = findViewById(R.id.homBtn); + LinearLayout carBtn = findViewById(R.id.cartBtn); + TextView toCategory=findViewById(R.id.toCategory); + homeBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(MainActivity2.this, MainActivity2.class)); + } + }); + carBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(MainActivity2.this, ComfirmOrderActivity.class)); + + } + }); + toCategory.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(MainActivity2.this, CategoryActivity.class)); + + } + }); + } + + private void recyclerViewPopular() { + LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false); + recyclerViewPopularList=findViewById(R.id.view2); + recyclerViewPopularList.setLayoutManager(linearLayoutManager); + ArrayList productlist=new ArrayList<>(); + productlist.add(new ProductDomain("飞鹤星飞帆奶粉","feihe_milk","LH双蛋白 创新营养组合”配方:超级飞帆婴幼儿配方奶粉,是由飞鹤营养专家团队精心研制开发而成\n"+"\n"+"特别添加LH双蛋白组合(LF-乳铁蛋白、WPH-水解乳清蛋白)、益生菌等重要营养元素,为宝宝构筑起健康成长的第一道防线。\n",219.0,5,3000,3)); + productlist.add(new ProductDomain("好奇纸尿裤","product_diapers","2.0.2cm厚度\n" + + "\n" + + "3.进口植物纤维\n" + + "\n" + + "4.非常适合夏天 使用\n" + + "\n" + + "5.非常柔软,干爽,透气\n" + + "\n" + + "6.卖点:植物织造,0刺激0致敏",105.0,4,1500,1)); + productlist.add(new ProductDomain("贝亲奶瓶","product_feeder","1.以硼硅酸玻璃为材质所制作的奶瓶,有着很好的透明度,亦可承受高温消毒\n" + + "\n" + + "2.自然实感宽口径奶嘴柔软且有韧性,研究宝宝吮吸运动而制成的奶嘴。更接近妈妈的乳头\n" + + "\n" + + "3.配M号自然实感宽口径奶嘴\n" + + "\n" + + "4.Disney主题形象授权,时尚经典红白组合, 可爱的大白拥抱着爱心, 象征妈妈温暖的爱",59.9,4,2300,2)); + productlist.add(new ProductDomain("按压恐龙车\n","product_play", + "1.萌萌恐龙,只需要按压头部,恐龙就会往前跑\n"+"/n"+"2.头部可360°旋转\n"+"\n"+"3.采用ABS环保塑料制成,耐摔耐撞,不用担心宝宝摔坏\n", + 19.9,4,1000,4)); + productlist.add(new ProductDomain("YUYING婴儿衣服","product_clo","1.云柔呵护,棉宠新生\n"+"\n"+"2.A嘞标准,方向啃咬"+"\n"+"3.开闭两用档,裤腰松紧始终,无骨缝制工艺\n"+"\n"+"4.细腻提花,吸汗透气",59.9,3,230,3)); + productlist.add(new ProductDomain("飞鹤奶粉","milk","给宝宝一个健康的成长",219.0,5,23,3)); + productlist.add(new ProductDomain("飞鹤奶粉","milk","给宝宝一个健康的成长",219.0,5,23,3)); + adpter2=new PopularAdpter(productlist); + recyclerViewPopularList.setAdapter(adpter2); + } + + private void recyclerViewCategoty() { + LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this + ,LinearLayoutManager.HORIZONTAL,false); + recyclerViewCategoryList=findViewById(R.id.view1); + recyclerViewCategoryList.setLayoutManager(linearLayoutManager); + ArrayList categoryList=new ArrayList<>(); + categoryList.add(new CategoryDomian("奶粉","milk")); + categoryList.add(new CategoryDomian("婴儿用品","feeder")); + categoryList.add(new CategoryDomian("儿童玩具","toy")); + categoryList.add(new CategoryDomian("婴儿辅食","comple_food")); + categoryList.add(new CategoryDomian("丝绵衣物","clothe")); + categoryList.add(new CategoryDomian("孕妇用品","women")); + + adpter=new CategoryAdpter(categoryList); + recyclerViewCategoryList.setAdapter(adpter); + + } +} \ No newline at end of file diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/ShowDetailActivity.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/ShowDetailActivity.java new file mode 100644 index 0000000..09fb2af --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/ShowDetailActivity.java @@ -0,0 +1,89 @@ +package com.example.royal_baby.Activty; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.bumptech.glide.Glide; +import com.example.royal_baby.Domain.ProductDomain; +import com.example.royal_baby.R; + +public class ShowDetailActivity extends AppCompatActivity { + +private TextView titleTxt,feeTxt,descriptionTxt,numberOrderTxt,totalPriceTxt,startTxt,favoriteTxt,suitPersonTxt,addToCarBtn; +private ImageView plusBtn,minsBtn,picMilk; +private ProductDomain object; +private int numberorder=1; +/*private ManagementCar managementCar;*/ + + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_show_detail); + /* managementCar=new ManagementCar(this);*/ + iniView(); + getBundle(); + } + public void getBundle() + { + + object=(ProductDomain)getIntent().getSerializableExtra("object"); + int drawableResourceId=this.getResources().getIdentifier(object.getPic(),"drawable",this.getPackageName()); + Glide.with(this).load(drawableResourceId).into(picMilk); + titleTxt.setText(object.getTitle()); + feeTxt.setText("$"+object.getFee()); + descriptionTxt.setText(object.getDescription()); + numberOrderTxt.setText(String.valueOf(numberorder)); + startTxt.setText(object.getStar()+""); + favoriteTxt.setText(object.getFavorite()+"点赞"); + suitPersonTxt.setText(object.getSuitperson()+"岁"); + plusBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + numberorder=numberorder+1; + numberOrderTxt.setText(String.valueOf(numberorder)); + totalPriceTxt.setText(String.valueOf(numberorder * object.getFee())); + } + }); + minsBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (numberorder>1){ + numberorder=numberorder-1; + } + numberOrderTxt.setText(String.valueOf(numberorder)); + totalPriceTxt.setText(String.valueOf(numberorder*object.getFee())); + } + }); + addToCarBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(ShowDetailActivity.this, ComfirmOrderActivity.class); + startActivity(intent); + } + }); + } + private void iniView(){ + + titleTxt=findViewById(R.id.titleTxt); + feeTxt=findViewById(R.id.priceTxt); + descriptionTxt=findViewById(R.id.descriptationTxt); + numberOrderTxt=findViewById(R.id.qtt); + plusBtn=findViewById(R.id.add); + minsBtn=findViewById(R.id.substract); + picMilk=findViewById(R.id.milkPic); + totalPriceTxt=findViewById(R.id.totalPriceTxt); + startTxt=findViewById(R.id.starTxt); + favoriteTxt=findViewById(R.id.favoriteTxt); + suitPersonTxt=findViewById(R.id.suitPersonTxt); + addToCarBtn=findViewById(R.id.addToCarBtn); + + } +} \ No newline at end of file diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/loginActivity.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/loginActivity.java new file mode 100644 index 0000000..d371e4c --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/loginActivity.java @@ -0,0 +1,53 @@ +package com.example.royal_baby.Activty; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Toast; + +import com.example.royal_baby.Helper.DatabaseHelper; +import com.example.royal_baby.databinding.ActivityLoginBinding; +import com.example.royal_baby.databinding.ActivityRegisterBinding; + +public class loginActivity extends AppCompatActivity { + ActivityLoginBinding binding; + DatabaseHelper databaseHelper; + @Override + + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding=ActivityLoginBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + databaseHelper=new DatabaseHelper(this); + binding.loginButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String email = binding.loginEmail.getText().toString(); + String password = binding.loginPassword.getText().toString(); + if (email.equals("") || password.equals("")) + Toast.makeText(loginActivity.this, "All fields are mandatory", Toast.LENGTH_SHORT).show(); + else { + Boolean checkCredentials = databaseHelper.checkEmailPassword(email, password); + if (checkCredentials == true) { + Toast.makeText(loginActivity.this, "Login Successfully", Toast.LENGTH_SHORT).show(); + Intent intent = new Intent(getApplicationContext(), MainActivity2.class); + startActivity(intent); + } else { + Toast.makeText(loginActivity.this, "Invaild Credentials", Toast.LENGTH_SHORT).show(); + } + } + } + }); + binding.signupRedirectText.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(loginActivity.this, registerActivity.class); + startActivity(intent); + } + + + }); + } +} diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/registerActivity.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/registerActivity.java new file mode 100644 index 0000000..b5b3eef --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Activty/registerActivity.java @@ -0,0 +1,65 @@ +package com.example.royal_baby.Activty; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Toast; + +import com.example.royal_baby.Helper.DatabaseHelper; +import com.example.royal_baby.databinding.ActivityRegisterBinding; + +public class registerActivity extends AppCompatActivity { + ActivityRegisterBinding binding; + DatabaseHelper databaseHelper; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding=ActivityRegisterBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + databaseHelper=new DatabaseHelper(this); + binding.registerButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String email=binding.registerEmail.getText().toString(); + String password=binding.registerPassword.getText().toString(); + String comfirm=binding.registerComfirm.getText().toString(); + if (email.equals("")||password.equals("")||comfirm.equals("")) + Toast.makeText(registerActivity.this, "All fieds are mandatory", Toast.LENGTH_SHORT).show(); + else{ + if(password.equals(comfirm)){ + Boolean checkUserEmail=databaseHelper.checkEmail(email); + if(checkUserEmail==false){ + Boolean insert=databaseHelper.insertData(email,password); + + if (insert==true){ + Toast.makeText(registerActivity.this, "Signup Sucessfully", Toast.LENGTH_SHORT).show(); + Intent intent=new Intent(getApplicationContext(),loginActivity.class); + startActivity(intent); + }else{ + Toast.makeText(registerActivity.this, "signup fail", Toast.LENGTH_SHORT).show(); + } + + + + }else { + Toast.makeText(registerActivity.this, "User already exists,Please login", Toast.LENGTH_SHORT).show(); + } + }else { + Toast.makeText(registerActivity.this, "Invalid Password", Toast.LENGTH_SHORT).show(); + } + } + } + }); + binding.loginRedirectText.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent=new Intent(getApplicationContext(),loginActivity.class); + startActivity(intent); + } + }); + /* setContentView(R.layout.activity_register);*/ + } +} \ No newline at end of file diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/Adapter.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/Adapter.java new file mode 100644 index 0000000..6b55491 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/Adapter.java @@ -0,0 +1,71 @@ +package com.example.royal_baby.Adapter; + +import android.app.Application; +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.royal_baby.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/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/CategoryAdpter.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/CategoryAdpter.java new file mode 100644 index 0000000..282328e --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/CategoryAdpter.java @@ -0,0 +1,93 @@ +package com.example.royal_baby.Adapter; + + + + +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.constraintlayout.widget.ConstraintLayout; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.example.royal_baby.Domain.CategoryDomian; +import com.example.royal_baby.R; + +import java.util.ArrayList; + +public class CategoryAdpter extends RecyclerView.Adapter { + ArrayList categoryDomians; + + + + + public CategoryAdpter(ArrayList categoryDomians) { + this.categoryDomians = categoryDomians; + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View inflate= LayoutInflater.from(parent.getContext()).inflate(R.layout.viewholder_category,parent,false); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(@NonNull CategoryAdpter.ViewHolder holder, int position) { +holder.categroyName.setText(categoryDomians.get(position).getTitle()); +String picUrl=""; +switch(position){ + case 0:{ + picUrl="milk"; + break; + } + case 1:{ + picUrl="feeder"; + break; + } + case 2:{ + picUrl="toy"; + break; + } + case 3:{ + picUrl="comple_food"; + break; + } + case 4:{ + picUrl="clothe"; + break; + } + case 5:{ + picUrl="women"; + break; + } + +} +int drawableReourceId=holder.itemView.getContext().getResources().getIdentifier(picUrl,"drawable", + holder.itemView.getContext().getPackageName()); + + Glide.with(holder.itemView.getContext()).load(drawableReourceId).into(holder.categoryPic); + } + + @Override + public int getItemCount() { + return categoryDomians.size(); + } + public class ViewHolder extends RecyclerView.ViewHolder{ + TextView categroyName; + ImageView categoryPic; + ConstraintLayout mainLayout; + public ViewHolder(@NonNull View itemView){ + super(itemView); + categroyName=itemView.findViewById(R.id.categoryName); + categoryPic=itemView.findViewById(R.id.categoryPic); + mainLayout=itemView.findViewById(R.id.mainLayout); + } + } +} diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/PopularAdpter.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/PopularAdpter.java new file mode 100644 index 0000000..d5ecb24 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Adapter/PopularAdpter.java @@ -0,0 +1,70 @@ +package com.example.royal_baby.Adapter; + + +import android.content.Intent; +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.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.example.royal_baby.Activty.MainActivity2; +import com.example.royal_baby.Activty.ShowDetailActivity; +import com.example.royal_baby.Domain.ProductDomain; +import com.example.royal_baby.R; + +import java.util.ArrayList; + +public class PopularAdpter extends RecyclerView.Adapter { + ArrayList PopularDomains; + + public PopularAdpter(ArrayList PopularDomains) { + this.PopularDomains = PopularDomains; + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View inflate= LayoutInflater.from(parent.getContext()).inflate(R.layout.viewholder_popular,parent,false); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(@NonNull PopularAdpter.ViewHolder holder, int position) { + holder.title.setText(PopularDomains.get(position).getTitle()); + holder.fee.setText(String.valueOf(PopularDomains.get(position).getFee())); + + int drawableReourceId=holder.itemView.getContext().getResources() + .getIdentifier(PopularDomains.get(position).getPic(),"drawable", + holder.itemView.getContext().getPackageName()); + + Glide.with(holder.itemView.getContext()).load(drawableReourceId).into(holder.pic); + holder.addBtn.setOnClickListener(view -> { + Intent intent=new Intent(holder.itemView.getContext(), ShowDetailActivity.class); + intent.putExtra("object",PopularDomains.get(position)); + holder.itemView.getContext().startActivity(intent); + }); + } + + @Override + public int getItemCount() { + return PopularDomains.size(); + } + public class ViewHolder extends RecyclerView.ViewHolder{ + TextView title,fee; + ImageView pic; + ImageView addBtn; + + public ViewHolder(@NonNull View itemView){ + super(itemView); + title=itemView.findViewById(R.id.title1); + pic=itemView.findViewById(R.id.pic); + fee=itemView.findViewById(R.id.fee); + addBtn=itemView.findViewById(R.id.addBtn); + } + } +} diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Domain/CategoryDomian.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Domain/CategoryDomian.java new file mode 100644 index 0000000..346588d --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Domain/CategoryDomian.java @@ -0,0 +1,29 @@ +package com.example.royal_baby.Domain; + +public class CategoryDomian { + private String title; + private String pic; + + public CategoryDomian(String title, String pic) { + this.title = title; + this.pic = pic; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getPic() { + return pic; + } + + public void setPic(String pic) { + this.pic = pic; + } + +} + diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Domain/ProductDomain.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Domain/ProductDomain.java new file mode 100644 index 0000000..d056416 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Domain/ProductDomain.java @@ -0,0 +1,79 @@ +package com.example.royal_baby.Domain; + +import java.io.Serializable; + +public class ProductDomain implements Serializable { + private String title; + private String pic; + private String description; + private Double fee; + private int star; + private int favorite; + private int suitperson; + + public ProductDomain(String title, String pic, String description, Double fee, int star, int favorite, int suitperson) { + this.title = title; + this.pic = pic; + this.description = description; + this.fee = fee; + this.star = star; + this. favorite= favorite; + this.suitperson = suitperson; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getPic() { + return pic; + } + + public void setPic(String pic) { + this.pic = pic; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Double getFee() { + return fee; + } + + public void setFee(Double fee) { + this.fee = fee; + } + + public int getStar() { + return star; + } + + public void setStar(int star) { + this.star = star; + } + + public int getFavorite() { + return favorite; + } + + public void setFavorite(int favorite) { + this.favorite = favorite; + } + + public int getSuitperson() { + return suitperson; + } + + public void setSuitperson(int suitperson) { + this.suitperson = suitperson; + } +} diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/Fragement/SetDetailFragment.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Fragement/SetDetailFragment.java new file mode 100644 index 0000000..1635379 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Fragement/SetDetailFragment.java @@ -0,0 +1,64 @@ +package com.example.royal_baby.Fragement; + +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.royal_baby.R; +import com.example.royal_baby.Activty.CategoryActivity; +import com.example.royal_baby.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/Royal_Baby/app/src/main/java/com/example/royal_baby/Helper/DatabaseHelper.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/Helper/DatabaseHelper.java new file mode 100644 index 0000000..973fc48 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/Helper/DatabaseHelper.java @@ -0,0 +1,82 @@ +package com.example.royal_baby.Helper; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +public class DatabaseHelper extends SQLiteOpenHelper { + public static final String databaseName="signup.db"; + public DatabaseHelper(@NonNull Context context) + { + super(context,"signuup.db",null,1); + + + } + public void onCreate(SQLiteDatabase Mydatabase){ + Mydatabase.execSQL("create Table allusers(email TEXT primary key,password TEXT)"); + } + + @Override + public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { + + } + + public void onUpdate(SQLiteDatabase MyDatabase,int i,int i1){ + MyDatabase.execSQL("drop Table if exists allusers"); + } + + + public boolean insertData(String email,String password) { + SQLiteDatabase MyDatabase =this.getWritableDatabase(); + ContentValues contentValues=new ContentValues(); + contentValues.put("email",email); + contentValues.put("password",password); + long result=MyDatabase.insert("allusers",null,contentValues); + if(result==-1){ + return false; + }else{ + return true; + } + + } + public Boolean checkEmail(String email){ + SQLiteDatabase Mydatabase =this.getWritableDatabase(); + Cursor cursor=Mydatabase.rawQuery("select *from allusers where email=?",new String[]{email}); + if (cursor.getCount()>0){ + return true; + }else{ + return false; + } + } + public Boolean checkEmailPassword(String email,String password) + {SQLiteDatabase Mydatabase =this.getWritableDatabase(); + Cursor cursor=Mydatabase.rawQuery("select *from allusers where email=? and password=?",new String[]{email,password}); + if (cursor.getCount()>0){ + return true; + }else{ + return false; + } + + } + + + + + + + + + + + + + + + +} + diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/entity/Product.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/entity/Product.java new file mode 100644 index 0000000..2d8fff4 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/entity/Product.java @@ -0,0 +1,34 @@ +package com.example.royal_baby.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; +} diff --git a/Royal_Baby/app/src/main/java/com/example/royal_baby/interface/UpdataSelecteditem.java b/Royal_Baby/app/src/main/java/com/example/royal_baby/interface/UpdataSelecteditem.java new file mode 100644 index 0000000..99522f2 --- /dev/null +++ b/Royal_Baby/app/src/main/java/com/example/royal_baby/interface/UpdataSelecteditem.java @@ -0,0 +1,11 @@ +import com.example.royal_baby.Domain.CategoryDomian; + +import java.util.ArrayList; + +/* +public interface UpdataSelecteditem { + void addItems(String title, Double fee); + + ArrayListgetItems(); +} +*/ diff --git a/Royal_Baby/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/Royal_Baby/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/arrow_down.png b/Royal_Baby/app/src/main/res/drawable/arrow_down.png new file mode 100644 index 0000000..6d95bb5 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/arrow_down.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/background_category.xml b/Royal_Baby/app/src/main/res/drawable/background_category.xml new file mode 100644 index 0000000..d5cf0f1 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/background_category.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/background_popular.xml b/Royal_Baby/app/src/main/res/drawable/background_popular.xml new file mode 100644 index 0000000..89cd4a3 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/background_popular.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/background_white.xml b/Royal_Baby/app/src/main/res/drawable/background_white.xml new file mode 100644 index 0000000..eaffa25 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/background_white.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_add_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_add_24.xml new file mode 100644 index 0000000..89633bb --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_add_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_add_circle_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_add_circle_24.xml new file mode 100644 index 0000000..e390594 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_add_circle_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_check_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_check_24.xml new file mode 100644 index 0000000..bdf9fe3 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_check_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_chevron_left_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_chevron_left_24.xml new file mode 100644 index 0000000..8f4c780 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_chevron_left_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_child_care_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_child_care_24.xml new file mode 100644 index 0000000..993ee1a --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_child_care_24.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_data_usage_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_data_usage_24.xml new file mode 100644 index 0000000..908d567 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_data_usage_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_email_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_email_24.xml new file mode 100644 index 0000000..34d9270 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_email_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_favorite_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_favorite_24.xml new file mode 100644 index 0000000..576a09c --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_favorite_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_lock_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_lock_24.xml new file mode 100644 index 0000000..fdd2c9a --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_lock_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_minimize_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_minimize_24.xml new file mode 100644 index 0000000..83b9dd6 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_minimize_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_password_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_password_24.xml new file mode 100644 index 0000000..76cb6ee --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_password_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/baseline_search_24.xml b/Royal_Baby/app/src/main/res/drawable/baseline_search_24.xml new file mode 100644 index 0000000..52a047d --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/baseline_search_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Royal_Baby/app/src/main/res/drawable/blue_bar.xml b/Royal_Baby/app/src/main/res/drawable/blue_bar.xml new file mode 100644 index 0000000..c328b86 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/blue_bar.xml @@ -0,0 +1,11 @@ + + +5F92E5 + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/category_food.jpg b/Royal_Baby/app/src/main/res/drawable/category_food.jpg new file mode 100644 index 0000000..7d5e188 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/category_food.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/category_kid_complementaryfoods.jpg b/Royal_Baby/app/src/main/res/drawable/category_kid_complementaryfoods.jpg new file mode 100644 index 0000000..9e5ec17 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/category_kid_complementaryfoods.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/category_kid_toys.jpg b/Royal_Baby/app/src/main/res/drawable/category_kid_toys.jpg new file mode 100644 index 0000000..27eede2 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/category_kid_toys.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/chengzi.png b/Royal_Baby/app/src/main/res/drawable/chengzi.png new file mode 100644 index 0000000..fff0306 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/chengzi.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/clothe.png b/Royal_Baby/app/src/main/res/drawable/clothe.png new file mode 100644 index 0000000..441c312 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/clothe.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/comple_food.jpg b/Royal_Baby/app/src/main/res/drawable/comple_food.jpg new file mode 100644 index 0000000..0fd669d Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/comple_food.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/feeder.jpg b/Royal_Baby/app/src/main/res/drawable/feeder.jpg new file mode 100644 index 0000000..aef2cb6 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/feeder.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/feihe_milk.png b/Royal_Baby/app/src/main/res/drawable/feihe_milk.png new file mode 100644 index 0000000..96be797 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/feihe_milk.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/first_background.png b/Royal_Baby/app/src/main/res/drawable/first_background.png new file mode 100644 index 0000000..f6f56ce Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/first_background.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/grey_bar.xml b/Royal_Baby/app/src/main/res/drawable/grey_bar.xml new file mode 100644 index 0000000..3b8c63d --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/grey_bar.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/grey_btm_backgrond.xml b/Royal_Baby/app/src/main/res/drawable/grey_btm_backgrond.xml new file mode 100644 index 0000000..809954e --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/grey_btm_backgrond.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/ic_launcher_background.xml b/Royal_Baby/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Royal_Baby/app/src/main/res/drawable/icon_image.png b/Royal_Baby/app/src/main/res/drawable/icon_image.png new file mode 100644 index 0000000..d5309b1 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/icon_image.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/index.png b/Royal_Baby/app/src/main/res/drawable/index.png new file mode 100644 index 0000000..cc1ec04 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/index.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/juzi.png b/Royal_Baby/app/src/main/res/drawable/juzi.png new file mode 100644 index 0000000..106df92 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/juzi.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/lavende_border.xml b/Royal_Baby/app/src/main/res/drawable/lavende_border.xml new file mode 100644 index 0000000..b150d46 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/lavende_border.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/login_backgroud.jpg b/Royal_Baby/app/src/main/res/drawable/login_backgroud.jpg new file mode 100644 index 0000000..39bc6bf Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/login_backgroud.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/logo_store.png b/Royal_Baby/app/src/main/res/drawable/logo_store.png new file mode 100644 index 0000000..5224a39 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/logo_store.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/main_milk.png b/Royal_Baby/app/src/main/res/drawable/main_milk.png new file mode 100644 index 0000000..c99b4a9 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/main_milk.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/milk.png b/Royal_Baby/app/src/main/res/drawable/milk.png new file mode 100644 index 0000000..eb54310 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/milk.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/milk2.png b/Royal_Baby/app/src/main/res/drawable/milk2.png new file mode 100644 index 0000000..8c0e29f Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/milk2.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/nav_coupon.png b/Royal_Baby/app/src/main/res/drawable/nav_coupon.png new file mode 100644 index 0000000..3fd6f50 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/nav_coupon.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/nav_service.png b/Royal_Baby/app/src/main/res/drawable/nav_service.png new file mode 100644 index 0000000..e70142a Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/nav_service.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/nav_setting.png b/Royal_Baby/app/src/main/res/drawable/nav_setting.png new file mode 100644 index 0000000..34c2f2f Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/nav_setting.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/nav_shopcar.png b/Royal_Baby/app/src/main/res/drawable/nav_shopcar.png new file mode 100644 index 0000000..76c06de Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/nav_shopcar.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/orders.png b/Royal_Baby/app/src/main/res/drawable/orders.png new file mode 100644 index 0000000..cf57947 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/orders.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/product_clo.jpg b/Royal_Baby/app/src/main/res/drawable/product_clo.jpg new file mode 100644 index 0000000..00d7ff8 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/product_clo.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/product_diapers.jpg b/Royal_Baby/app/src/main/res/drawable/product_diapers.jpg new file mode 100644 index 0000000..8e462df Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/product_diapers.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/product_feeder.jpg b/Royal_Baby/app/src/main/res/drawable/product_feeder.jpg new file mode 100644 index 0000000..a979569 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/product_feeder.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/product_play.png b/Royal_Baby/app/src/main/res/drawable/product_play.png new file mode 100644 index 0000000..f3051f5 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/product_play.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/search_edit_background.xml b/Royal_Baby/app/src/main/res/drawable/search_edit_background.xml new file mode 100644 index 0000000..35a5916 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/search_edit_background.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/top_background.png b/Royal_Baby/app/src/main/res/drawable/top_background.png new file mode 100644 index 0000000..4fe24a9 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/top_background.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/toy.jpg b/Royal_Baby/app/src/main/res/drawable/toy.jpg new file mode 100644 index 0000000..c4609db Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/toy.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/user_icon.png b/Royal_Baby/app/src/main/res/drawable/user_icon.png new file mode 100644 index 0000000..1be7cdb Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/user_icon.png differ diff --git a/Royal_Baby/app/src/main/res/drawable/white_popular_btn.xml b/Royal_Baby/app/src/main/res/drawable/white_popular_btn.xml new file mode 100644 index 0000000..66eb0c6 --- /dev/null +++ b/Royal_Baby/app/src/main/res/drawable/white_popular_btn.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Royal_Baby/app/src/main/res/drawable/women.jpg b/Royal_Baby/app/src/main/res/drawable/women.jpg new file mode 100644 index 0000000..48caf7a Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/women.jpg differ diff --git a/Royal_Baby/app/src/main/res/drawable/youzi.png b/Royal_Baby/app/src/main/res/drawable/youzi.png new file mode 100644 index 0000000..53df959 Binary files /dev/null and b/Royal_Baby/app/src/main/res/drawable/youzi.png differ diff --git a/Royal_Baby/app/src/main/res/layout/activity_comfirmorder.xml b/Royal_Baby/app/src/main/res/layout/activity_comfirmorder.xml new file mode 100644 index 0000000..6b45b71 --- /dev/null +++ b/Royal_Baby/app/src/main/res/layout/activity_comfirmorder.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + +