diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.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/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..3f3f247 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..2a4d5b5 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..0940fc7 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,40 @@ +plugins { + id 'com.android.application' +} + +android { + namespace 'com.example.test' + compileSdk 33 + + defaultConfig { + applicationId "com.example.test" + minSdk 27 + 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' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'com.google.android.material:material:1.5.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.3' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + implementation 'com.github.crazyandcoder:citypicker:6.0.2' +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/example/test/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/test/ExampleInstrumentedTest.java new file mode 100644 index 0000000..6ea62a5 --- /dev/null +++ b/app/src/androidTest/java/com/example/test/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.test; + +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.test", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..f1146a4 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/test/MainActivity.java b/app/src/main/java/com/example/test/MainActivity.java new file mode 100644 index 0000000..7561c7c --- /dev/null +++ b/app/src/main/java/com/example/test/MainActivity.java @@ -0,0 +1,88 @@ +package com.example.test; + + +import android.content.ContentValues; +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; + +import com.example.test.activity.login; +import com.example.test.activity.register; +import com.example.test.activity.user; +import com.example.test.dao.UserDatabase; + +public class MainActivity extends AppCompatActivity implements View.OnClickListener { + private Button registerButton, loginButton; + private EditText usernameText, paswdEdit; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.login); + init(); + } + + + @Override + public void onClick(View view) { + switch (view.getId()){ + case R.id.register: + Intent intent = new Intent(this, register.class); + startActivity(intent); + break; + case R.id.login: + loginCheck(); + + + + } + } + + private void loginCheck() { + String name = usernameText.getText().toString(); + String pass = paswdEdit.getText().toString(); + if(name.isEmpty()||pass.isEmpty()){ + Toast.makeText(this,"用户名或密码为空",Toast.LENGTH_SHORT).show(); + return; + } + + UserDatabase db = new UserDatabase(this, "orange"); + SQLiteDatabase readdb = db.getReadableDatabase(); +// SQLiteDatabase writedb = db.getWritableDatabase(); + Cursor cursor = db.select(readdb, "user",null,"username=? and password=?",new String[]{name,pass},null,null,null); + + if(cursor.getCount()!=0){ + cursor.moveToNext(); + Intent intent = new Intent(this, user.class); + Bundle bundle = new Bundle(); + bundle.putString("username",cursor.getString(1)); + bundle.putString("sex",cursor.getString(3)); + bundle.putString("adress",cursor.getString(4)); + cursor.close(); + readdb.close(); + intent.putExtras(bundle); + startActivity(intent); + }else { + Toast.makeText(this,"用户名或密码有误",Toast.LENGTH_SHORT).show(); + } + + } + + public void init(){ + registerButton = findViewById(R.id.register); + registerButton.setOnClickListener(this); + loginButton = findViewById(R.id.login); + loginButton.setOnClickListener(this); + usernameText = findViewById(R.id.username); + paswdEdit = findViewById(R.id.password); + } + +} diff --git a/app/src/main/java/com/example/test/activity/fragmentActivity.java b/app/src/main/java/com/example/test/activity/fragmentActivity.java new file mode 100644 index 0000000..f58098d --- /dev/null +++ b/app/src/main/java/com/example/test/activity/fragmentActivity.java @@ -0,0 +1,40 @@ +package com.example.test.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +import com.example.test.R; + +public class fragmentActivity extends AppCompatActivity{ + private String titles[] = {"孔子","孟子","老子","蔡伦","哥伦布"}; + private String contents [] = {"孔子(公元前551年-公元前479年4月11日),子姓,孔氏,名丘,字仲尼,春秋时期鲁国陬邑" + + "今山东省曲阜市)人,祖籍宋国栗邑(今河南省夏邑县),中国古代伟大的思想家、政治家、教育家,儒家学派创始人、“大成至圣先师”。" + ,"孟子(约公元前372年—公元前289年),名轲,一说字子舆或子车(参见“人物争议-表字”目录),邹国(今山东邹城东南)人。" + + "战国时期哲学家、思想家、教育家,是孔子之后、荀子之前的儒家学派的代表人物,与孔子并称“孔孟”。", + "老子,姓李名耳,字聃,一字伯阳,或曰谥伯阳,春秋末期人,生卒年不详,据《史记》等多部古籍记载,老子是春秋时期的陈国苦县人在老子去世后," + + "苦县又属于战国楚国和汉朝楚国中国古代思想家、哲学家、文学家和史学家,道家学派创始人和主要代表人物,与庄子并称“老庄”。", + "蔡伦对于造纸术是发明还是改进,尚存争议。 [32] 后经中国制浆造纸研究院鉴定,认定“西汉古纸”并不是纸,蔡伦仍是造纸术的发明者," + + "其首创和影响力地位无可动摇。", + "克里斯托弗·哥伦布(西班牙语:Cristóbal Colón;意大利语:Cristoforo Colombo,约1451年—1506年5月20日)," + + "出生于中世纪的热那亚共和国(今意大利西北部)。意大利探险家、航海家,大航海时代的主要人物之一,是地理大发现的先驱者。"}; + private int imgs[] ={R.drawable.kongzi,R.drawable.mengzi,R.drawable.laozi,R.drawable.cailun,R.drawable.gelunbu}; + public String[] getTitles() { + return titles; + } + + public String[] getContents() { + return contents; + } + + public int[] getImgs() { + return imgs; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_fragment); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/activity/fruitFragment.java b/app/src/main/java/com/example/test/activity/fruitFragment.java new file mode 100644 index 0000000..4716b36 --- /dev/null +++ b/app/src/main/java/com/example/test/activity/fruitFragment.java @@ -0,0 +1,103 @@ +package com.example.test.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; +import com.example.test.R; +import com.example.test.entity.fruitContent; +import com.example.test.entity.fruitKind; + +import java.util.ArrayList; +import java.util.List; + +public class fruitFragment extends AppCompatActivity { + private String kinds[] = {"超值必抢","鲜果上新","店家推荐","柑桔橙柚","蜜瓜/西瓜","葡萄/提子","热带水果","梨/苹果","超值必抢","鲜果上新","店家推荐","柑桔橙柚","蜜瓜/西瓜","葡萄/提子","热带水果","梨/苹果","超值必抢","鲜果上新","店家推荐","柑桔橙柚","蜜瓜/西瓜","超值必抢","鲜果上新","店家推荐","柑桔橙柚","蜜瓜/西瓜"}; + private int imgs[] ={R.drawable.hot,R.drawable.fresh,R.drawable.recomend}; + private int fruit_imgs[][] = {{R.drawable.grapefruit,R.drawable.hamimelon,R.drawable.watermelon}, + {R.drawable.grapefruit1,R.drawable.leechee,R.drawable.carambola}, + {R.drawable.pineapple,R.drawable.pear,R.drawable.apple}, + {R.drawable.orange1,R.drawable.grapefruit,R.drawable.grapefruit1,R.drawable.grapefruit2}, + {R.drawable.watermelon,R.drawable.watermelon1,R.drawable.hamimelon,R.drawable.hamimelon1}, + {R.drawable.grape,R.drawable.greengrape, R.drawable.grape1}, + {R.drawable.coconut,R.drawable.banana,R.drawable.pineapple,R.drawable.carambola,R.drawable.leechee}, + {R.drawable.apple,R.drawable.pear,R.drawable.pear1,R.drawable.apple1}}; + + private String fruit_names[][] = {{"红心西柚 泡水榨汁茶饮佳选","冰淇淋网纹蜜瓜 一口软糯香甜","海南麒麟瓜,粒约3KG~4KG"}, + {"广西正宗容县沙田柚子新鲜水果白","妃子笑荔枝","福州漳州甜杨桃!只卖书上熟果"}, + {"菲律宾凤梨1粒装1KG","正宗烟台红富士苹果|24小时速发","陕西贡梨400g"}, + {"江西赣南精选血橙4粒装720g","红心西柚 泡水榨汁茶饮佳选","广西正宗容县沙田柚子新鲜水果白","红心蜜柚10斤新鲜水果应季大红肉柚子"}, + {"海南麒麟瓜,粒约3KG~4KG","现摘冰糖麒麟大西瓜","冰淇淋网纹蜜瓜 一口软糯香甜","新疆哈密瓜脆甜多汁保熟包甜"}, + {"云南夏黑葡萄新鲜采摘无籽葡萄","阳光玫瑰葡萄新鲜水果!现摘!","云南下黑葡萄顺丰冷链新鲜直达"}, + {"泰国椰青700g","广西芭蕉酸牛蕉牛角蕉新鲜香蕉","菲律宾凤梨1粒装1KG","福州漳州甜杨桃!只卖书上熟果","妃子笑荔枝"}, + {"正宗烟台红富士苹果|24小时速发","陕西贡梨400g","红香酥梨新鲜水果当季整箱","冰糖心苹果 精选好果 脆甜多汁!"}}; + private String fruit_descs[][] = {{"皮薄肉厚汁多颗粒饱满","香甜软糯,水分很足","香甜可口,丰富多汁"}, + {"个大纯天然,价廉物美","荔枝特别棒,肉厚核小","果子新鲜果肉纤维细腻"}, + {"果子新鲜果肉纤维细腻","栖霞苹果|中国大陆|红富士","鲜甜可口,汁多美味"}, + {"酸甜可口,一口爆汁","皮薄肉厚汁多颗粒饱满","个大纯天然,价廉物美","核小肉厚,水分足"}, + {"香甜可口,丰富多汁","水分足足的,皮薄薄的","香甜软糯,水分很足","往嘴里咬一口满嘴留香"}, + {"中国大陆|食用农产品|黑夏","中国大陆|散装","中国大陆|包装|黑夏"}, + {"新鲜可口 汁多味美","甜度浓郁","香水菠萝","果子新鲜果肉纤维细腻","荔枝特别棒,肉厚核小"}, + {"栖霞苹果|中国大陆|红富士","鲜甜可口,汁多美味","清香爽口甜,果汁充足","烟台苹果|中国大陆|一级"}}; + + private double fruit_prices[][] = {{16.8,15.3,21.8}, + {15.7,22.4,5.8}, + {10.8,15.3,20.4}, + {24.9,11.5,16.7,13.8}, + {21.7,24.6,21.8,25.9}, + {21.9,15.3,17.6}, + {15.7,10.6,12.9,10.5,20.6}, + {24.9,21.2,19.9,24.6}}; + + private int fruit_tag[][]={{0,1,0}, + {1,0,0}, + {0,0,0}, + {1,0,0,1}, + {1,0,1,0}, + {0,0,1}, + {1,1,0,0,0}, + {0,0,1,1}}; + private List fruitContents = new ArrayList<>(); + + public List getFruitContents() { + + return fruitContents; + } + + List fruitKinds=new ArrayList<>(); + @Override + protected void onCreate(Bundle savedInstanceState) { + initFruitContents(); + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_fruit_fragment); + + } + + protected void initFruitContents() { + for (int i = 0; i < fruit_imgs.length; i++) { + int len = fruit_imgs[i].length; + fruitContent arr[] = new fruitContent[len]; + for (int j = 0; j < arr.length; j++) { + fruitContent f = new fruitContent(fruit_imgs[i][j],fruit_names[i][j],fruit_descs[i][j],fruit_tag[i][j],fruit_prices[i][j]); + arr[j]=f; + } + fruitContents.add(arr); + } + + } + + + + public List getfuritKinds() { + fruitKind f; + for (int i = 0; i < kinds.length; i++) { + if(i<3){ + f = new fruitKind(kinds[i], imgs[i]); + } + else { + f = new fruitKind(kinds[i], 0); + } + fruitKinds.add(f); + } + return fruitKinds; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/activity/login.java b/app/src/main/java/com/example/test/activity/login.java new file mode 100644 index 0000000..f8b6b9e --- /dev/null +++ b/app/src/main/java/com/example/test/activity/login.java @@ -0,0 +1,69 @@ +package com.example.test.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.text.Editable; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import com.example.test.R; + + +public class login extends AppCompatActivity implements View.OnClickListener { + private EditText userEdit; + private EditText passEdit; + private Button regBut; + private Button logBut; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.login); + regBut = findViewById(R.id.register); + logBut = findViewById(R.id.login); + regBut.setOnClickListener(this); + logBut.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + switch (view.getId()) + { + case R.id.login: + check(); + break; + case R.id.register: + Intent intent = new Intent(this, register.class); + startActivity(intent); + + } + } + + private void check() { + Intent intent = getIntent(); + Bundle bundle = intent.getExtras(); + String username = bundle.getString("username"); + String password = bundle.getString("password"); + userEdit = findViewById(R.id.username); + String user = userEdit.getText().toString(); + passEdit = findViewById(R.id.password); + String pass = passEdit.getText().toString(); + if(pass.equals(password)&&user.equals(username)) + { + String sex = bundle.getString("sex"); + String adress = bundle.getString("adress"); + Intent userIntent = new Intent(this, user.class); + Bundle userBundle = new Bundle(); + userBundle.putString("username",username); + userBundle.putString("sex",sex); + userBundle.putString("adress",adress); + userIntent.putExtras(userBundle); + startActivity(userIntent); + }else{ + Toast.makeText(this,"用户名或密码不对",Toast.LENGTH_SHORT).show(); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/activity/register.java b/app/src/main/java/com/example/test/activity/register.java new file mode 100644 index 0000000..af9240d --- /dev/null +++ b/app/src/main/java/com/example/test/activity/register.java @@ -0,0 +1,153 @@ +package com.example.test.activity; + +import androidx.appcompat.app.AppCompatActivity; + +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.EditText; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.TextView; +import android.widget.Toast; + +import com.example.test.MainActivity; +import com.example.test.R; +import com.example.test.dao.UserDatabase; +import com.lljjcoder.Interface.OnCityItemClickListener; +import com.lljjcoder.bean.CityBean; +import com.lljjcoder.bean.DistrictBean; +import com.lljjcoder.bean.ProvinceBean; +import com.lljjcoder.citywheel.CityConfig; +import com.lljjcoder.style.citypickerview.CityPickerView; + +public class register extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener { + private EditText userEdit; + private EditText passEdit; + private EditText paEdit; + private RadioGroup sexBut; + private TextView adressText; + private String sex ="男"; + private Button regBut; + CityPickerView citypv; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.register); + init(); + } + + public void init(){ + citypv = new CityPickerView(); + citypv.init(this); + initConfig(); + citypv.setOnCityItemClickListener(new OnCityItemClickListener() { + @Override + public void onSelected(ProvinceBean province, CityBean city, DistrictBean district) { + String pro = province.getName(); + String ci = city.getName(); + String dis = district.getName(); + adressText.setText(String.format("%s %s %s",pro,ci,dis)); + } + + @Override + public void onCancel() { + } + }); + userEdit = findViewById(R.id.reg_username); + passEdit = findViewById(R.id.reg_password); + paEdit = findViewById(R.id.reg_apassword); + adressText = findViewById(R.id.reg_adress); + adressText.setOnClickListener(this); + sexBut = findViewById(R.id.reg_sex); + sexBut.setOnCheckedChangeListener(this); + regBut = findViewById(R.id.reg_register); + regBut.setOnClickListener(this); + } + + private void initConfig() { + CityConfig cityConfig = new CityConfig.Builder() + .title("选择城市")//标题 + .titleTextSize(18)//标题文字大小 + .titleTextColor("#585858")//标题文字颜 色 + .titleBackgroundColor("#E9E9E9")//标题栏背景色 + .confirTextColor("#585858")//确认按钮文字颜色 + .confirmText("ok")//确认按钮文字 + .confirmTextSize(16)//确认按钮文字大小 + .cancelTextColor("#585858")//取消按钮文字颜色 + .cancelText("cancel")//取消按钮文字 + .cancelTextSize(16)//取消按钮文字大小 + .setCityWheelType(CityConfig.WheelType.PRO_CITY_DIS)//显示类,只显示省份一级,显示省市两级还是显示省市区三级 + .showBackground(true)//是否显示半透明背景 + .visibleItemsCount(7)//显示item的数量 + .province("浙江省")//默认显示的省份 + .city("杭州市")//默认显示省份下面的城市 + .district("滨江区")//默认显示省市下面的区县数据 + .provinceCyclic(true)//省份滚轮是否可以循环滚动 + .cityCyclic(true)//城市滚轮是否可以循环滚动 + .districtCyclic(true)//区县滚轮是否循环滚动 + .drawShadows(false)//滚轮不显示模糊效果 + .setLineColor("#03a9f4")//中间横线的颜色 + .setLineHeigh(5)//中间横线的高度 + .setShowGAT(true)//是否显示港澳台数据,默认不显示 + .build(); + citypv.setConfig(cityConfig); + } + + + + + @Override + public void onClick(View view) { + switch (view.getId()){ + case R.id.reg_adress: + citypv.showCityPicker(); + break; + case R.id.reg_register: + check(); + break; + } + } + + private void check() { + Intent intent = new Intent(this, MainActivity.class); + String username = userEdit.getText().toString(); + String password = passEdit.getText().toString(); + String apassword = paEdit.getText().toString(); + String adress = adressText.getText().toString(); + if(password.equals(apassword)){ + if(username.equals("")||username.startsWith(" ")||password.equals("")||password.startsWith(" ")){ + Toast.makeText(this,"用户名或密码为空",Toast.LENGTH_SHORT).show(); + }else { + if(adress.equals("")||adress.equals("地址选择")) + Toast.makeText(this,"未选择地址",Toast.LENGTH_SHORT).show(); + else{ + UserDatabase db = new UserDatabase(this, "orange"); + SQLiteDatabase writedb = db.getWritableDatabase(); + ContentValues values = new ContentValues(); + values.put("username",username); + values.put("password",password); + values.put("adress",adress); + values.put("sex",sex); + db.insert(writedb,"user",values); + writedb.close(); + startActivity(intent); + } + } + } + else { + Toast.makeText(this,"两次密码不一致",Toast.LENGTH_SHORT).show(); + } + } + + + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + //根据用户选择来改变sex的值 + sex = R.id.reg_male==checkedId?"男":"女"; + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/activity/user.java b/app/src/main/java/com/example/test/activity/user.java new file mode 100644 index 0000000..4d45b11 --- /dev/null +++ b/app/src/main/java/com/example/test/activity/user.java @@ -0,0 +1,72 @@ +package com.example.test.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.util.Log; +import android.view.Display; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +import com.example.test.R; +import com.example.test.dao.UserDatabase; + +public class user extends AppCompatActivity implements View.OnClickListener { + + private TextView userText; + private TextView sexText; + private TextView adressText; + private Button logoutBut; + private View shoppingView; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.content_user); + display(); + } + + private void display() { + Intent intent = getIntent(); + Bundle bundle = intent.getExtras(); + String username = "账号:"+bundle.getString("username"); + String sex = "性别:"+bundle.getString("sex"); + String adress = "城市:"+bundle.getString("adress"); +// Log.i("info",username+""+sex+""+adress+""); + userText = findViewById(R.id.user_username); + userText.setText(username); + sexText = findViewById(R.id.user_sex); + sexText.setText(sex); + adressText = findViewById(R.id.user_city); + adressText.setText(adress); + logoutBut = findViewById(R.id.logout); + logoutBut.setOnClickListener(this); + shoppingView = findViewById(R.id.user_shopping_line); + shoppingView.setOnClickListener(this); + + } + + @Override + public void onClick(View view) { + switch (view.getId()) + { + case R.id.logout: + logout(); + break; + case R.id.user_shopping_line: + goShopping(); + } + } + + protected void goShopping() { + Intent intent = new Intent(this, fruitFragment.class); + startActivity(intent); + } + + protected void logout() { + Intent intent = new Intent(this, login.class); + startActivity(intent); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/adapter/fruitContentAdapter.java b/app/src/main/java/com/example/test/adapter/fruitContentAdapter.java new file mode 100644 index 0000000..18f8cc1 --- /dev/null +++ b/app/src/main/java/com/example/test/adapter/fruitContentAdapter.java @@ -0,0 +1,78 @@ +package com.example.test.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.test.R; +import com.example.test.entity.fruitContent; + +import java.util.List; + +public class fruitContentAdapter extends BaseAdapter { + private Holder holder; + private fruitContent fruitContents[]; + private Context context; + + public fruitContentAdapter() { + } + + public fruitContentAdapter(fruitContent fruitContents[], Context context) { + this.fruitContents = fruitContents; + this.context = context; + } + + @Override + public int getCount() { + return fruitContents.length; + } + + @Override + public Object getItem(int i) { + return fruitContents[i]; + } + + @Override + public long getItemId(int i) { + return i; + } + public void setBackgroundColor(int position,String color){ + + } + + @Override + public View getView(int i, View convertview, ViewGroup viewGroup) { + holder = new fruitContentAdapter.Holder(); + fruitContent content = fruitContents[i]; + if(convertview==null){ + convertview = LayoutInflater.from(context).inflate(R.layout.fruit_content_item,null); + holder.iv_img = convertview.findViewById(R.id.fruit_content_img); + holder.tv_name = convertview.findViewById(R.id.fruit_content_name); + holder.tv_desc = convertview.findViewById(R.id.fruit_content_desc); + holder.tv_tag = convertview.findViewById(R.id.fruit_content_tag); + holder.tv_price = convertview.findViewById(R.id.fruit_content_price); + convertview.setTag(holder); + }else { + holder = (fruitContentAdapter.Holder) convertview.getTag(); + } + holder.iv_img.setImageResource(content.getImg()); + holder.tv_name.setText(content.getName()); +// holder.tv_name.getPaint().setFakeBoldText(true); + holder.tv_desc.setText(content.getDesc()); + if(content.getTag()==1) + holder.tv_tag.setText("爆款直降"); + holder.tv_price.setText(content.getPrice()+""); + return convertview; + } + static class Holder{ + ImageView iv_img; + TextView tv_name; + TextView tv_desc; + TextView tv_tag; + TextView tv_price; + } +} diff --git a/app/src/main/java/com/example/test/adapter/fruitKindAdapter.java b/app/src/main/java/com/example/test/adapter/fruitKindAdapter.java new file mode 100644 index 0000000..c64a111 --- /dev/null +++ b/app/src/main/java/com/example/test/adapter/fruitKindAdapter.java @@ -0,0 +1,75 @@ +package com.example.test.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.test.R; +import com.example.test.entity.fruitKind; + +import java.util.List; + +public class fruitKindAdapter extends BaseAdapter { + private List fruitKinds; + private Context context; + private Holder holder; + private int selected_item=0; + + public fruitKindAdapter() { + } + + public fruitKindAdapter(List fruitKinds, Context context) { + this.fruitKinds = fruitKinds; + this.context = context; + } + + @Override + public int getCount() { + return fruitKinds.size(); + } + + @Override + public Object getItem(int i) { + return fruitKinds.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View convertview, ViewGroup viewGroup) { + holder = new Holder(); + fruitKind kind = fruitKinds.get(i); + if(convertview==null){ + Log.i("init",i+""); + convertview = LayoutInflater.from(context).inflate(R.layout.fruit_kind_item,null); + if(i == 0){ + convertview.setBackgroundResource(R.color.gray); + } + holder.iv_img = convertview.findViewById(R.id.kind_img); + holder.tv_name = convertview.findViewById(R.id.kind_name); + if(kind.getImg()!=0) + holder.iv_img.setImageResource(kind.getImg()); + holder.tv_name.setText(kind.getName()); + convertview.setTag(holder); + }else { + Log.i("after",i+""); + holder = (Holder) convertview.getTag(); + holder.iv_img.setImageResource(kind.getImg()); + holder.tv_name.setText(kind.getName()); + } + return convertview; + } + static class Holder{ + ImageView iv_img; + TextView tv_name; + } +} diff --git a/app/src/main/java/com/example/test/adapter/titleAdapter.java b/app/src/main/java/com/example/test/adapter/titleAdapter.java new file mode 100644 index 0000000..1ddc7d4 --- /dev/null +++ b/app/src/main/java/com/example/test/adapter/titleAdapter.java @@ -0,0 +1,48 @@ +package com.example.test.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.example.test.R; + +import java.util.List; + +public class titleAdapter extends BaseAdapter { + private String titles[]; + private Context context; + + public titleAdapter() { + } + + public titleAdapter(String[] titles, Context context) { + this.titles = titles; + this.context = context; + } + + @Override + public int getCount() { + return titles.length; + } + + @Override + public Object getItem(int i) { + return titles[i]; + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View convertview, ViewGroup viewGroup) { + View view = LayoutInflater.from(context).inflate(R.layout.list_item,null); + TextView text = view.findViewById(R.id.item_title); + text.setText(titles[i]); + return view; + } +} diff --git a/app/src/main/java/com/example/test/dao/UserDatabase.java b/app/src/main/java/com/example/test/dao/UserDatabase.java new file mode 100644 index 0000000..13b6c8a --- /dev/null +++ b/app/src/main/java/com/example/test/dao/UserDatabase.java @@ -0,0 +1,43 @@ +package com.example.test.dao; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.util.Log; + +import androidx.annotation.Nullable; + +public class UserDatabase extends SQLiteOpenHelper { + public UserDatabase(@Nullable Context context, @Nullable String name) { + super(context, name,null, 1); + } + + @Override + public void onCreate(SQLiteDatabase sqLiteDatabase) { + String sql = "create table user(id integer primary key autoincrement,username varchar(20),password varchar(20),sex varchar(20),adress varchar(20),phoneNumber char(11))"; + sqLiteDatabase.execSQL(sql); + } + + @Override + public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { + + } + public void insert(SQLiteDatabase sqLiteDatabase, String table, ContentValues values){ + sqLiteDatabase.insert(table,null,values); +// sqLiteDatabase.close(); + } + + public void delete(SQLiteDatabase sqLiteDatabase,String table,String name,String []args){ + sqLiteDatabase.delete(table,name,args); +// sqLiteDatabase.close(); + } + + public Cursor select(SQLiteDatabase sqLiteDatabase,String table,String columns[],String selection,String selectionArgs[],String grunpBy,String having,String orderBy){ +// Cursor cursor = sqLiteDatabase.query(table,null,null,null,null,null,null); + Cursor cursor = sqLiteDatabase.query(table,null,selection,selectionArgs,grunpBy,having,orderBy); + return cursor; + } + +} diff --git a/app/src/main/java/com/example/test/entity/OrangeUser.java b/app/src/main/java/com/example/test/entity/OrangeUser.java new file mode 100644 index 0000000..9de3708 --- /dev/null +++ b/app/src/main/java/com/example/test/entity/OrangeUser.java @@ -0,0 +1,59 @@ +package com.example.test.entity; + +public class OrangeUser { + private Integer id; + private String username; + private String password; + private String sex; + private String city; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + @Override + public String toString() { + return "OrangeUser{" + + "username='" + username + '\'' + + ", password='" + password + '\'' + + ", sex='" + sex + '\'' + + ", city='" + city + '\'' + + '}'; + } +} diff --git a/app/src/main/java/com/example/test/entity/fruit.java b/app/src/main/java/com/example/test/entity/fruit.java new file mode 100644 index 0000000..8c20af6 --- /dev/null +++ b/app/src/main/java/com/example/test/entity/fruit.java @@ -0,0 +1,30 @@ +package com.example.test.entity; + +public class fruit { + private String name; + private double price; + + public fruit() { + } + + public fruit(String name, double price) { + this.name = name; + this.price = price; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } +} diff --git a/app/src/main/java/com/example/test/entity/fruitContent.java b/app/src/main/java/com/example/test/entity/fruitContent.java new file mode 100644 index 0000000..8dee6a9 --- /dev/null +++ b/app/src/main/java/com/example/test/entity/fruitContent.java @@ -0,0 +1,61 @@ +package com.example.test.entity; + +public class fruitContent { + private int img; + private String name; + private String desc; + private int tag; + private double price; + + public fruitContent() { + } + + public fruitContent(int img, String name, String desc, int tag, double price) { + this.img = img; + this.name = name; + this.desc = desc; + this.tag = tag; + this.price = price; + } + + public int getImg() { + return img; + } + + public void setImg(int img) { + this.img = img; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + public int getTag() { + return tag; + } + + public void setTag(int tag) { + this.tag = tag; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } +} + diff --git a/app/src/main/java/com/example/test/entity/fruitKind.java b/app/src/main/java/com/example/test/entity/fruitKind.java new file mode 100644 index 0000000..c12afb5 --- /dev/null +++ b/app/src/main/java/com/example/test/entity/fruitKind.java @@ -0,0 +1,30 @@ +package com.example.test.entity; + +public class fruitKind { + private String name; + private int img; + + public fruitKind() { + } + + public fruitKind(String name, int img) { + this.name = name; + this.img = img; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getImg() { + return img; + } + + public void setImg(int img) { + this.img = img; + } +} diff --git a/app/src/main/java/com/example/test/entity/planet.java b/app/src/main/java/com/example/test/entity/planet.java new file mode 100644 index 0000000..8d47db4 --- /dev/null +++ b/app/src/main/java/com/example/test/entity/planet.java @@ -0,0 +1,40 @@ +package com.example.test.entity; + +public class planet { + private String name; + private int img; + private String desc; + + public planet() { + } + + public planet(String name, int img, String desc) { + this.name = name; + this.img = img; + this.desc = desc; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getImg() { + return img; + } + + public void setImg(int img) { + this.img = img; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/app/src/main/java/com/example/test/entity/user.java b/app/src/main/java/com/example/test/entity/user.java new file mode 100644 index 0000000..07f8627 --- /dev/null +++ b/app/src/main/java/com/example/test/entity/user.java @@ -0,0 +1,70 @@ +package com.example.test.entity; + +public class user { + private String username; + private String password; + private String phoneNumber; + private String sex; + private String adress; + private int id; + + public user() { + } + + public user(String username, String password, String phoneNumber, String sex, String adress, int id) { + this.username = username; + this.password = password; + this.phoneNumber = phoneNumber; + this.sex = sex; + this.adress = adress; + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getAdress() { + return adress; + } + + public void setAdress(String adress) { + this.adress = adress; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/app/src/main/java/com/example/test/fragment/contentFragment.java b/app/src/main/java/com/example/test/fragment/contentFragment.java new file mode 100644 index 0000000..d3b0a87 --- /dev/null +++ b/app/src/main/java/com/example/test/fragment/contentFragment.java @@ -0,0 +1,36 @@ +package com.example.test.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.service.quicksettings.Tile; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.test.R; +import com.example.test.activity.fragmentActivity; + +public class contentFragment extends Fragment { + private TextView tv_content; + private ImageView iv_img ; + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view =inflater.inflate(R.layout.fragment_content, container, false); + if(view!=null){ + tv_content=view.findViewById(R.id.content_content); + iv_img=view.findViewById(R.id.content_img); + } + setcontent(((fragmentActivity)getActivity()).getContents()[0],((fragmentActivity)getActivity()).getImgs()[0]); + return view; + } + + public void setcontent(String content,int img){ + tv_content.setText(content); + iv_img.setImageResource(img); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/fragment/fruitContentFragment.java b/app/src/main/java/com/example/test/fragment/fruitContentFragment.java new file mode 100644 index 0000000..53e1cb2 --- /dev/null +++ b/app/src/main/java/com/example/test/fragment/fruitContentFragment.java @@ -0,0 +1,41 @@ +package com.example.test.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ListView; + +import com.example.test.R; +import com.example.test.activity.fruitFragment; +import com.example.test.adapter.fruitContentAdapter; +import com.example.test.entity.fruitContent; + +import java.nio.file.NotLinkException; +import java.util.List; + + +public class fruitContentFragment extends Fragment { +private View view; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + view= inflater.inflate(R.layout.fragment_fruit_content, container, false); + fruitFragment activity=(fruitFragment)getActivity(); + List fruitContents = activity.getFruitContents(); + show(fruitContents.get(0)); + return view; + } + public void show(fruitContent fruitContents[]){ + ListView listView = view.findViewById(R.id.fruit_content_listview); + listView.setDivider(null); + fruitContentAdapter adapter = new fruitContentAdapter(fruitContents,getActivity()); + listView.setAdapter(adapter); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/fragment/fruitKindFragment.java b/app/src/main/java/com/example/test/fragment/fruitKindFragment.java new file mode 100644 index 0000000..2b74db7 --- /dev/null +++ b/app/src/main/java/com/example/test/fragment/fruitKindFragment.java @@ -0,0 +1,55 @@ +package com.example.test.fragment; + +import android.graphics.Color; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.TextView; + +import com.example.test.R; +import com.example.test.activity.fruitFragment; +import com.example.test.adapter.fruitKindAdapter; +import com.example.test.entity.fruitContent; +import com.example.test.entity.fruitKind; + +import java.util.List; + +public class fruitKindFragment extends Fragment { + + private int selected_item = 0; + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view=inflater.inflate(R.layout.fragment_fruit_kind, container, false); + ListView listView = view.findViewById(R.id.kind_listview); + listView.setDivider(null); + listView.setDividerHeight(30); + fruitFragment activity = (fruitFragment) getActivity(); + List fruitKinds = activity.getfuritKinds(); + fruitKindAdapter fruitKindAdapter = new fruitKindAdapter(fruitKinds, getActivity()); + listView.setAdapter(fruitKindAdapter); + + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + fruitFragment activity=(fruitFragment)getActivity(); + List list = activity.getFruitContents(); + fruitContentFragment fragment = (fruitContentFragment)activity.getSupportFragmentManager().findFragmentById(R.id.fruit); + fragment.show(list.get(i)); + if(i!=selected_item){ + adapterView.getChildAt(selected_item).setBackgroundResource(R.color.white); + adapterView.getChildAt(i).setBackgroundResource(R.color.gray); + selected_item=i; + } + } + }); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/fragment/rightSeconedFragment.java b/app/src/main/java/com/example/test/fragment/rightSeconedFragment.java new file mode 100644 index 0000000..f1ed126 --- /dev/null +++ b/app/src/main/java/com/example/test/fragment/rightSeconedFragment.java @@ -0,0 +1,21 @@ +package com.example.test.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.test.R; + +public class rightSeconedFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_right_second, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/test/fragment/titleFragment.java b/app/src/main/java/com/example/test/fragment/titleFragment.java new file mode 100644 index 0000000..bd453c5 --- /dev/null +++ b/app/src/main/java/com/example/test/fragment/titleFragment.java @@ -0,0 +1,55 @@ +package com.example.test.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.BaseAdapter; +import android.widget.ListView; +import android.widget.Toast; + +import com.example.test.R; +import com.example.test.activity.fragmentActivity; +import com.example.test.adapter.titleAdapter; + + +public class titleFragment extends Fragment { + private String titles[]; + private String contents[]; + private int imgs[]; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view= inflater.inflate(R.layout.fragment_title, container, false); + initListView(view); + + return view; + } + + public void initListView(View view) { + fragmentActivity activity = (fragmentActivity) getActivity(); + titles = activity.getTitles(); + contents = activity.getContents(); + imgs=activity.getImgs(); + ListView listview = view.findViewById(R.id.listview); + titleAdapter titleAdapter = new titleAdapter(titles,activity); + listview.setAdapter(titleAdapter); + listview.setOnItemClickListener(new AdapterView.OnItemClickListener(){ + + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + contentFragment cf= (contentFragment)((fragmentActivity) getActivity()). + getSupportFragmentManager().findFragmentById(R.id.content); + cf.setcontent(contents[i],imgs[i]); + + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/address.png b/app/src/main/res/drawable/address.png new file mode 100644 index 0000000..7318be0 Binary files /dev/null and b/app/src/main/res/drawable/address.png differ diff --git a/app/src/main/res/drawable/apple.jpg b/app/src/main/res/drawable/apple.jpg new file mode 100644 index 0000000..5f7a431 Binary files /dev/null and b/app/src/main/res/drawable/apple.jpg differ diff --git a/app/src/main/res/drawable/apple1.jpg b/app/src/main/res/drawable/apple1.jpg new file mode 100644 index 0000000..adcb63f Binary files /dev/null and b/app/src/main/res/drawable/apple1.jpg differ diff --git a/app/src/main/res/drawable/arrow_down.png b/app/src/main/res/drawable/arrow_down.png new file mode 100644 index 0000000..6d95bb5 Binary files /dev/null and b/app/src/main/res/drawable/arrow_down.png differ diff --git a/app/src/main/res/drawable/arrow_right.png b/app/src/main/res/drawable/arrow_right.png new file mode 100644 index 0000000..84ded85 Binary files /dev/null and b/app/src/main/res/drawable/arrow_right.png differ diff --git a/app/src/main/res/drawable/banana.jpg b/app/src/main/res/drawable/banana.jpg new file mode 100644 index 0000000..5c5c801 Binary files /dev/null and b/app/src/main/res/drawable/banana.jpg differ diff --git a/app/src/main/res/drawable/button_login.xml b/app/src/main/res/drawable/button_login.xml new file mode 100644 index 0000000..d093f1b --- /dev/null +++ b/app/src/main/res/drawable/button_login.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/button_register.xml b/app/src/main/res/drawable/button_register.xml new file mode 100644 index 0000000..3eb0673 --- /dev/null +++ b/app/src/main/res/drawable/button_register.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/cailun.jpg b/app/src/main/res/drawable/cailun.jpg new file mode 100644 index 0000000..6455879 Binary files /dev/null and b/app/src/main/res/drawable/cailun.jpg differ diff --git a/app/src/main/res/drawable/carambola.jpg b/app/src/main/res/drawable/carambola.jpg new file mode 100644 index 0000000..dfdbaf1 Binary files /dev/null and b/app/src/main/res/drawable/carambola.jpg differ diff --git a/app/src/main/res/drawable/cart.png b/app/src/main/res/drawable/cart.png new file mode 100644 index 0000000..96c1cfd Binary files /dev/null and b/app/src/main/res/drawable/cart.png differ diff --git a/app/src/main/res/drawable/city.png b/app/src/main/res/drawable/city.png new file mode 100644 index 0000000..790fb2b Binary files /dev/null and b/app/src/main/res/drawable/city.png differ diff --git a/app/src/main/res/drawable/coconut.jpg b/app/src/main/res/drawable/coconut.jpg new file mode 100644 index 0000000..1b0cb32 Binary files /dev/null and b/app/src/main/res/drawable/coconut.jpg differ diff --git a/app/src/main/res/drawable/dog.png b/app/src/main/res/drawable/dog.png new file mode 100644 index 0000000..0d3bb2a Binary files /dev/null and b/app/src/main/res/drawable/dog.png differ diff --git a/app/src/main/res/drawable/fresh.png b/app/src/main/res/drawable/fresh.png new file mode 100644 index 0000000..4ab4c93 Binary files /dev/null and b/app/src/main/res/drawable/fresh.png differ diff --git a/app/src/main/res/drawable/fruit_kind_selector.xml b/app/src/main/res/drawable/fruit_kind_selector.xml new file mode 100644 index 0000000..f54970f --- /dev/null +++ b/app/src/main/res/drawable/fruit_kind_selector.xml @@ -0,0 +1,7 @@ + + + ; + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/gelunbu.jpg b/app/src/main/res/drawable/gelunbu.jpg new file mode 100644 index 0000000..fa42591 Binary files /dev/null and b/app/src/main/res/drawable/gelunbu.jpg differ diff --git a/app/src/main/res/drawable/grape.jpg b/app/src/main/res/drawable/grape.jpg new file mode 100644 index 0000000..226c2aa Binary files /dev/null and b/app/src/main/res/drawable/grape.jpg differ diff --git a/app/src/main/res/drawable/grape1.jpg b/app/src/main/res/drawable/grape1.jpg new file mode 100644 index 0000000..ee9a568 Binary files /dev/null and b/app/src/main/res/drawable/grape1.jpg differ diff --git a/app/src/main/res/drawable/grapefruit.jpg b/app/src/main/res/drawable/grapefruit.jpg new file mode 100644 index 0000000..08d15ba Binary files /dev/null and b/app/src/main/res/drawable/grapefruit.jpg differ diff --git a/app/src/main/res/drawable/grapefruit1.jpg b/app/src/main/res/drawable/grapefruit1.jpg new file mode 100644 index 0000000..5baab34 Binary files /dev/null and b/app/src/main/res/drawable/grapefruit1.jpg differ diff --git a/app/src/main/res/drawable/grapefruit2.jpg b/app/src/main/res/drawable/grapefruit2.jpg new file mode 100644 index 0000000..596e1e1 Binary files /dev/null and b/app/src/main/res/drawable/grapefruit2.jpg differ diff --git a/app/src/main/res/drawable/greengrape.jpg b/app/src/main/res/drawable/greengrape.jpg new file mode 100644 index 0000000..a1df67f Binary files /dev/null and b/app/src/main/res/drawable/greengrape.jpg differ diff --git a/app/src/main/res/drawable/hamimelon.jpg b/app/src/main/res/drawable/hamimelon.jpg new file mode 100644 index 0000000..ba789c0 Binary files /dev/null and b/app/src/main/res/drawable/hamimelon.jpg differ diff --git a/app/src/main/res/drawable/hamimelon1.jpg b/app/src/main/res/drawable/hamimelon1.jpg new file mode 100644 index 0000000..c7ebc14 Binary files /dev/null and b/app/src/main/res/drawable/hamimelon1.jpg differ diff --git a/app/src/main/res/drawable/hot.png b/app/src/main/res/drawable/hot.png new file mode 100644 index 0000000..89d5cf8 Binary files /dev/null and b/app/src/main/res/drawable/hot.png differ diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..0d025f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img.png b/app/src/main/res/drawable/img.png new file mode 100644 index 0000000..4da09ea Binary files /dev/null and b/app/src/main/res/drawable/img.png differ diff --git a/app/src/main/res/drawable/kongzi.jpg b/app/src/main/res/drawable/kongzi.jpg new file mode 100644 index 0000000..5f2a0a0 Binary files /dev/null and b/app/src/main/res/drawable/kongzi.jpg differ diff --git a/app/src/main/res/drawable/laozi.jpg b/app/src/main/res/drawable/laozi.jpg new file mode 100644 index 0000000..aacd5f4 Binary files /dev/null and b/app/src/main/res/drawable/laozi.jpg differ diff --git a/app/src/main/res/drawable/leechee.jpg b/app/src/main/res/drawable/leechee.jpg new file mode 100644 index 0000000..413828c Binary files /dev/null and b/app/src/main/res/drawable/leechee.jpg differ diff --git a/app/src/main/res/drawable/mengzi.jpg b/app/src/main/res/drawable/mengzi.jpg new file mode 100644 index 0000000..c3640e0 Binary files /dev/null and b/app/src/main/res/drawable/mengzi.jpg differ diff --git a/app/src/main/res/drawable/orange.png b/app/src/main/res/drawable/orange.png new file mode 100644 index 0000000..70e8db8 Binary files /dev/null and b/app/src/main/res/drawable/orange.png differ diff --git a/app/src/main/res/drawable/orange1.jpg b/app/src/main/res/drawable/orange1.jpg new file mode 100644 index 0000000..65d181c Binary files /dev/null and b/app/src/main/res/drawable/orange1.jpg differ diff --git a/app/src/main/res/drawable/password.png b/app/src/main/res/drawable/password.png new file mode 100644 index 0000000..1c6c4f5 Binary files /dev/null and b/app/src/main/res/drawable/password.png differ diff --git a/app/src/main/res/drawable/pear.jpg b/app/src/main/res/drawable/pear.jpg new file mode 100644 index 0000000..d8d231c Binary files /dev/null and b/app/src/main/res/drawable/pear.jpg differ diff --git a/app/src/main/res/drawable/pear1.jpg b/app/src/main/res/drawable/pear1.jpg new file mode 100644 index 0000000..5f8bab2 Binary files /dev/null and b/app/src/main/res/drawable/pear1.jpg differ diff --git a/app/src/main/res/drawable/people.png b/app/src/main/res/drawable/people.png new file mode 100644 index 0000000..8655e29 Binary files /dev/null and b/app/src/main/res/drawable/people.png differ diff --git a/app/src/main/res/drawable/pineapple.jpg b/app/src/main/res/drawable/pineapple.jpg new file mode 100644 index 0000000..2599727 Binary files /dev/null and b/app/src/main/res/drawable/pineapple.jpg differ diff --git a/app/src/main/res/drawable/purplegrape.jpg b/app/src/main/res/drawable/purplegrape.jpg new file mode 100644 index 0000000..5ff7050 Binary files /dev/null and b/app/src/main/res/drawable/purplegrape.jpg differ diff --git a/app/src/main/res/drawable/recomend.png b/app/src/main/res/drawable/recomend.png new file mode 100644 index 0000000..faf215e Binary files /dev/null and b/app/src/main/res/drawable/recomend.png differ diff --git a/app/src/main/res/drawable/setting.png b/app/src/main/res/drawable/setting.png new file mode 100644 index 0000000..34c2f2f Binary files /dev/null and b/app/src/main/res/drawable/setting.png differ diff --git a/app/src/main/res/drawable/sex.png b/app/src/main/res/drawable/sex.png new file mode 100644 index 0000000..acb8197 Binary files /dev/null and b/app/src/main/res/drawable/sex.png differ diff --git a/app/src/main/res/drawable/shopping.png b/app/src/main/res/drawable/shopping.png new file mode 100644 index 0000000..3cc443c Binary files /dev/null and b/app/src/main/res/drawable/shopping.png differ diff --git a/app/src/main/res/drawable/small_orange.jpg b/app/src/main/res/drawable/small_orange.jpg new file mode 100644 index 0000000..a4dad83 Binary files /dev/null and b/app/src/main/res/drawable/small_orange.jpg differ diff --git a/app/src/main/res/drawable/spinner_drop_down_shape.xml b/app/src/main/res/drawable/spinner_drop_down_shape.xml new file mode 100644 index 0000000..64306b1 --- /dev/null +++ b/app/src/main/res/drawable/spinner_drop_down_shape.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/sure_apssword.png b/app/src/main/res/drawable/sure_apssword.png new file mode 100644 index 0000000..0e7cee9 Binary files /dev/null and b/app/src/main/res/drawable/sure_apssword.png differ diff --git a/app/src/main/res/drawable/user.png b/app/src/main/res/drawable/user.png new file mode 100644 index 0000000..47d8362 Binary files /dev/null and b/app/src/main/res/drawable/user.png differ diff --git a/app/src/main/res/drawable/user_account.png b/app/src/main/res/drawable/user_account.png new file mode 100644 index 0000000..e70142a Binary files /dev/null and b/app/src/main/res/drawable/user_account.png differ diff --git a/app/src/main/res/drawable/user_general.png b/app/src/main/res/drawable/user_general.png new file mode 100644 index 0000000..cf57947 Binary files /dev/null and b/app/src/main/res/drawable/user_general.png differ diff --git a/app/src/main/res/drawable/user_icon.png b/app/src/main/res/drawable/user_icon.png new file mode 100644 index 0000000..d5309b1 Binary files /dev/null and b/app/src/main/res/drawable/user_icon.png differ diff --git a/app/src/main/res/drawable/user_pay.png b/app/src/main/res/drawable/user_pay.png new file mode 100644 index 0000000..3fd6f50 Binary files /dev/null and b/app/src/main/res/drawable/user_pay.png differ diff --git a/app/src/main/res/drawable/user_sex.png b/app/src/main/res/drawable/user_sex.png new file mode 100644 index 0000000..da0e318 Binary files /dev/null and b/app/src/main/res/drawable/user_sex.png differ diff --git a/app/src/main/res/drawable/venus.png b/app/src/main/res/drawable/venus.png new file mode 100644 index 0000000..0d0499d Binary files /dev/null and b/app/src/main/res/drawable/venus.png differ diff --git a/app/src/main/res/drawable/watermelon.jpg b/app/src/main/res/drawable/watermelon.jpg new file mode 100644 index 0000000..6c757e7 Binary files /dev/null and b/app/src/main/res/drawable/watermelon.jpg differ diff --git a/app/src/main/res/drawable/watermelon1.jpg b/app/src/main/res/drawable/watermelon1.jpg new file mode 100644 index 0000000..ec169ce Binary files /dev/null and b/app/src/main/res/drawable/watermelon1.jpg differ diff --git a/app/src/main/res/layout/activity_fragment.xml b/app/src/main/res/layout/activity_fragment.xml new file mode 100644 index 0000000..dcb34a5 --- /dev/null +++ b/app/src/main/res/layout/activity_fragment.xml @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_fruit_fragment.xml b/app/src/main/res/layout/activity_fruit_fragment.xml new file mode 100644 index 0000000..ac96919 --- /dev/null +++ b/app/src/main/res/layout/activity_fruit_fragment.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..ea3fdde --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_user.xml b/app/src/main/res/layout/activity_user.xml new file mode 100644 index 0000000..cc5a1ea --- /dev/null +++ b/app/src/main/res/layout/activity_user.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_user_database.xml b/app/src/main/res/layout/activity_user_database.xml new file mode 100644 index 0000000..afebfc3 --- /dev/null +++ b/app/src/main/res/layout/activity_user_database.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/content_user.xml b/app/src/main/res/layout/content_user.xml new file mode 100644 index 0000000..26e21a8 --- /dev/null +++ b/app/src/main/res/layout/content_user.xml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +