From 461692a37fe06fc3c43c80cb70eecd6ad85fcddb Mon Sep 17 00:00:00 2001
From: unknown <1229394978@qq.com>
Date: Tue, 18 Apr 2023 18:49:40 +0800
Subject: [PATCH] Init
---
app/build.gradle | 2 +
app/src/main/AndroidManifest.xml | 2 +-
.../com/example/register/IndexActivity.java | 122 ++++++++++
.../example/register/SetDetailFragment.java | 14 +-
.../register/adapter/ProductAdapter.java | 69 ++++++
.../register/dateoperation/Database.java | 85 +++++++
.../com/example/register/entity/Product.java | 6 +
.../register/fragment/IndexFragment.java | 109 +++++++++
.../register/fragment/PearsonFragment.java | 64 +++++
.../register/fragment/ProductFragment.java | 21 ++
.../register/fragment/SetDetailFragment.java | 20 +-
.../fragment/ShoppingCartFragment.java | 21 ++
.../com/example/register/loginActivity.java | 62 ++++-
.../example/register/registerActivity.java | 27 ++-
.../com/example/register/userActivity.java | 3 +-
app/src/main/res/drawable/apple.png | Bin 0 -> 1988 bytes
app/src/main/res/drawable/applep.png | Bin 0 -> 8824 bytes
app/src/main/res/drawable/arrow_right.png | Bin 0 -> 233 bytes
app/src/main/res/drawable/chengzi.png | Bin 0 -> 1666 bytes
app/src/main/res/drawable/index.png | Bin 0 -> 1272 bytes
app/src/main/res/drawable/index_menu.xml | 16 ++
app/src/main/res/drawable/juzi.png | Bin 0 -> 1898 bytes
app/src/main/res/drawable/juzip.png | Bin 0 -> 8150 bytes
app/src/main/res/drawable/lemon.png | Bin 0 -> 2954 bytes
app/src/main/res/drawable/lemonp.png | Bin 0 -> 10312 bytes
app/src/main/res/drawable/li.png | Bin 0 -> 1862 bytes
app/src/main/res/drawable/mangguo.png | Bin 0 -> 2192 bytes
app/src/main/res/drawable/orange.png | Bin 0 -> 6129 bytes
app/src/main/res/drawable/pearson.png | Bin 0 -> 3302 bytes
app/src/main/res/drawable/product.png | Bin 0 -> 1315 bytes
app/src/main/res/drawable/shoppingcart.png | Bin 0 -> 1155 bytes
app/src/main/res/drawable/shuiguo.png | Bin 0 -> 1212 bytes
app/src/main/res/drawable/xigua.png | Bin 0 -> 2622 bytes
app/src/main/res/drawable/xiguap.png | Bin 0 -> 6605 bytes
app/src/main/res/drawable/youzi.png | Bin 0 -> 1798 bytes
app/src/main/res/drawable/youzip.png | Bin 0 -> 9547 bytes
app/src/main/res/layout/activity_main.xml | 29 +++
.../res/layout/categoty_detail_content.xml | 2 +
app/src/main/res/layout/content_index.xml | 221 ++++++++++++++++++
app/src/main/res/layout/content_nav.xml | 118 ++++++++++
app/src/main/res/layout/content_product.xml | 11 +
app/src/main/res/layout/content_shopping.xml | 11 +
app/src/main/res/layout/index_famous.xml | 55 +++++
app/src/main/res/layout/register.xml | 2 +-
app/src/main/res/layout/user.xml | 6 +
45 files changed, 1071 insertions(+), 27 deletions(-)
create mode 100644 app/src/main/java/com/example/register/IndexActivity.java
create mode 100644 app/src/main/java/com/example/register/adapter/ProductAdapter.java
create mode 100644 app/src/main/java/com/example/register/dateoperation/Database.java
create mode 100644 app/src/main/java/com/example/register/fragment/IndexFragment.java
create mode 100644 app/src/main/java/com/example/register/fragment/PearsonFragment.java
create mode 100644 app/src/main/java/com/example/register/fragment/ProductFragment.java
create mode 100644 app/src/main/java/com/example/register/fragment/ShoppingCartFragment.java
create mode 100644 app/src/main/res/drawable/apple.png
create mode 100644 app/src/main/res/drawable/applep.png
create mode 100644 app/src/main/res/drawable/arrow_right.png
create mode 100644 app/src/main/res/drawable/chengzi.png
create mode 100644 app/src/main/res/drawable/index.png
create mode 100644 app/src/main/res/drawable/index_menu.xml
create mode 100644 app/src/main/res/drawable/juzi.png
create mode 100644 app/src/main/res/drawable/juzip.png
create mode 100644 app/src/main/res/drawable/lemon.png
create mode 100644 app/src/main/res/drawable/lemonp.png
create mode 100644 app/src/main/res/drawable/li.png
create mode 100644 app/src/main/res/drawable/mangguo.png
create mode 100644 app/src/main/res/drawable/orange.png
create mode 100644 app/src/main/res/drawable/pearson.png
create mode 100644 app/src/main/res/drawable/product.png
create mode 100644 app/src/main/res/drawable/shoppingcart.png
create mode 100644 app/src/main/res/drawable/shuiguo.png
create mode 100644 app/src/main/res/drawable/xigua.png
create mode 100644 app/src/main/res/drawable/xiguap.png
create mode 100644 app/src/main/res/drawable/youzi.png
create mode 100644 app/src/main/res/drawable/youzip.png
create mode 100644 app/src/main/res/layout/activity_main.xml
create mode 100644 app/src/main/res/layout/content_index.xml
create mode 100644 app/src/main/res/layout/content_nav.xml
create mode 100644 app/src/main/res/layout/content_product.xml
create mode 100644 app/src/main/res/layout/content_shopping.xml
create mode 100644 app/src/main/res/layout/index_famous.xml
diff --git a/app/build.gradle b/app/build.gradle
index 00a9f41..dc6b522 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -39,4 +39,6 @@ dependencies {
implementation 'liji.library.dev:citypickerview:1.1.0'
+
+ implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bc295fc..8313eaa 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -28,7 +28,7 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/register/IndexActivity.java b/app/src/main/java/com/example/register/IndexActivity.java
new file mode 100644
index 0000000..7d06d81
--- /dev/null
+++ b/app/src/main/java/com/example/register/IndexActivity.java
@@ -0,0 +1,122 @@
+package com.example.register;
+
+import android.app.Activity;
+import android.app.FragmentTransaction;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.annotation.Nullable;
+
+import com.example.register.fragment.IndexFragment;
+import com.example.register.fragment.PearsonFragment;
+import com.example.register.fragment.ProductFragment;
+import com.example.register.fragment.ShoppingCartFragment;
+
+import com.example.register.R;
+
+
+public class IndexActivity extends Activity implements View.OnClickListener {
+ private IndexFragment indexFragment;
+ private ProductFragment productFragment;
+ private ShoppingCartFragment shoppingCartFragment;
+ private PearsonFragment pearsonFragment;
+ private LinearLayout indexLine, productLine, shoppingCartLine, pearsonLine;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ init();
+ initIndexFragment();
+ }
+
+ /**
+ * 组件初始化
+ */
+ private void init() {
+ indexLine = findViewById(R.id.content_index);
+ indexLine.setOnClickListener(this);
+ productLine = findViewById(R.id.content_product);
+ productLine.setOnClickListener(this);
+ shoppingCartLine = findViewById(R.id.content_cart);
+ shoppingCartLine.setOnClickListener(this);
+ pearsonLine = findViewById(R.id.content_pearson);
+ pearsonLine.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.content_index:
+ initIndexFragment();
+ break;
+ case R.id.content_product:
+ initproductFragment();
+ break;
+ case R.id.content_cart:
+ initshoppingCartFragment();
+ break;
+ case R.id.content_pearson:
+ initpearsonFragment();
+ break;
+ }
+ }
+
+ /**
+ * 初始化首页Fragment
+ */
+ private void initIndexFragment() {
+ //开启事务,fragment的控制是由事务来实现的
+ FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ if (indexFragment == null) {
+ indexFragment = new IndexFragment();
+ }
+ transaction.replace(R.id.main_content, indexFragment);
+ transaction.commit();
+ }
+
+ /**
+ * 初始化产品Fragment
+ */
+ private void initproductFragment() {
+ //开启事务,fragment的控制是由事务来实现的
+ FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ if (productFragment == null) {
+ productFragment = new ProductFragment();
+ }
+ transaction.replace(R.id.main_content, productFragment);
+ transaction.commit();
+ }
+
+ /**
+ * 初始化购物车Fragment
+ */
+ private void initshoppingCartFragment() {
+ //开启事务,fragment的控制是由事务来实现的
+ FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ if (shoppingCartFragment == null) {
+ shoppingCartFragment = new ShoppingCartFragment();
+ }
+ transaction.replace(R.id.main_content, shoppingCartFragment);
+ transaction.commit();
+ }
+
+ /**
+ * 初始化个人Fragment
+ */
+ private void initpearsonFragment() {
+ //开启事务,fragment的控制是由事务来实现的
+ FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ if (pearsonFragment == null) {
+ Intent intent = IndexActivity.this.getIntent();
+ Bundle bundle = intent.getExtras();
+ pearsonFragment = new PearsonFragment();
+ pearsonFragment.setArguments(bundle);
+ }
+ transaction.replace(R.id.main_content, pearsonFragment);
+ transaction.commit();
+ }
+
+}
diff --git a/app/src/main/java/com/example/register/SetDetailFragment.java b/app/src/main/java/com/example/register/SetDetailFragment.java
index 0d79577..c878085 100644
--- a/app/src/main/java/com/example/register/SetDetailFragment.java
+++ b/app/src/main/java/com/example/register/SetDetailFragment.java
@@ -18,7 +18,7 @@ import java.util.Objects;
public class SetDetailFragment extends Fragment {
private View view;
private ImageView imageView;
- private TextView nameText, priceText;
+ private TextView nameText, priceText ,storyText;
@SuppressLint("SetTextI18n")
@Nullable
@@ -30,14 +30,15 @@ public class SetDetailFragment extends Fragment {
}
CategoryActivity categoryActivity = (CategoryActivity) getActivity();
Objects.requireNonNull(categoryActivity).setOnChangeListener(product -> {
- Log.i("sss", "onCreateView: " + product.getProductName());
- imageView.setBackgroundResource(product.getImageUrlId());
- nameText.setText(product.getProductName());
- priceText.setText(product.getProductPrice().toString());
- });
+ Log.i("sss", "onCreateView: " + product.getProductName());
+ imageView.setBackgroundResource(product.getImageUrlId());
+ nameText.setText(product.getProductName());
+ priceText.setText(product.getProductPrice().toString());
+ });
return view;
}
+
/**
* 内容组件初始化
*/
@@ -48,3 +49,4 @@ public class SetDetailFragment extends Fragment {
}
}
+
diff --git a/app/src/main/java/com/example/register/adapter/ProductAdapter.java b/app/src/main/java/com/example/register/adapter/ProductAdapter.java
new file mode 100644
index 0000000..f52705e
--- /dev/null
+++ b/app/src/main/java/com/example/register/adapter/ProductAdapter.java
@@ -0,0 +1,69 @@
+package com.example.register.adapter;
+
+import android.content.Context;
+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.register.entity.Product;
+import com.example.register.R;
+
+import java.util.List;
+
+public class ProductAdapter extends BaseAdapter {
+ private List productList;
+ private LayoutInflater layoutInflater;
+
+ public ProductAdapter(Context context, List productList) {
+ this.productList = productList;
+ this.layoutInflater = LayoutInflater.from(context);
+ }
+
+ @Override
+ public int getCount() {
+ return productList.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return productList.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder viewHolder;
+ if (convertView == null) {
+ Log.i("aa", "getView: "+"aa");
+ convertView = layoutInflater.inflate(R.layout.categoty_detail_content, null);
+ viewHolder = new ViewHolder();
+ viewHolder.productImage = convertView.findViewById(R.id.category_product_image);
+ viewHolder.productName = convertView.findViewById(R.id.category_product_name);
+ viewHolder.productPrice = convertView.findViewById(R.id.category_product_price);
+ convertView.setTag(viewHolder);
+ } else {
+ viewHolder = (ViewHolder) convertView.getTag();
+ }
+ Product product = productList.get(position);
+ Log.i("product", "getView: "+product.toString());
+ if (product != null) {
+ viewHolder.productImage.setBackgroundResource(product.getImageUrlId());
+ viewHolder.productName.setText(product.getProductName());
+ viewHolder.productPrice.setText(String.valueOf(product.getProductPrice()));
+ }
+ return convertView;
+ }
+
+ class ViewHolder {
+ ImageView productImage;
+ TextView productName, productPrice;
+ }
+}
diff --git a/app/src/main/java/com/example/register/dateoperation/Database.java b/app/src/main/java/com/example/register/dateoperation/Database.java
new file mode 100644
index 0000000..1f96404
--- /dev/null
+++ b/app/src/main/java/com/example/register/dateoperation/Database.java
@@ -0,0 +1,85 @@
+package com.example.register.dateoperation;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+public class Database extends SQLiteOpenHelper {
+ public Database(@Nullable Context context) {
+ super(context, "orange", null, 1);
+ }
+
+ @Override
+ public void onCreate(SQLiteDatabase db) {
+ //创建用户表
+ String sql = "create table orange_user(id integer primary key autoincrement, username varchar(50), password varchar(50),sex varchar(10),city carchar(50))";
+ db.execSQL(sql);
+ }
+
+ @Override
+ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+
+ }
+
+ /**
+ * 插入数据
+ *
+ * @param sqLiteDatabase
+ * @param username
+ * @param password
+ * @param sex
+ * @param city
+ */
+ public void insertUser(SQLiteDatabase sqLiteDatabase, String username, String password, String sex, String city) {
+ ContentValues contentValues = new ContentValues();
+ contentValues.put("username", username);
+ contentValues.put("password", password);
+ contentValues.put("sex", sex);
+ contentValues.put("city", city);
+ sqLiteDatabase.insert("orange_user", null, contentValues);
+ sqLiteDatabase.close();
+ }
+
+ /**
+ * 更新数据
+ */
+ public void update(SQLiteDatabase sqLiteDatabase,int id,String username,String passwd,String sex,int age){
+ //创建一个ContentValues对象
+ ContentValues values = new ContentValues();
+ //以键值对的形式插入
+ values.put("username",username);
+ values.put("passwd",passwd);
+ values.put("sex",sex);
+ values.put("age",age);
+ //执行修改方法
+ sqLiteDatabase.update("user",values,"id=?",new String[]{id+""} );
+ sqLiteDatabase.close();
+ }
+
+
+ /**
+ * 查询数据
+ *
+ * @param sqLiteDatabase
+ * @param bundle
+ * @return
+ */
+ public Bundle queryUserInfo(SQLiteDatabase sqLiteDatabase, Bundle bundle) {
+ String username = bundle.getString("username");
+ Cursor cursor = sqLiteDatabase.rawQuery("select * from orange_user where username=?", new String[]{username});
+ if (cursor != null) {
+ while (cursor.moveToNext()) {
+ bundle.putString("sex", cursor.getString(3));
+ bundle.putString("city", cursor.getString(4));
+ }
+ }
+ cursor.close();
+ sqLiteDatabase.close();
+ return bundle;
+ }
+}
diff --git a/app/src/main/java/com/example/register/entity/Product.java b/app/src/main/java/com/example/register/entity/Product.java
index f03fa1e..a45a9a7 100644
--- a/app/src/main/java/com/example/register/entity/Product.java
+++ b/app/src/main/java/com/example/register/entity/Product.java
@@ -28,7 +28,13 @@ public class Product {
this.imageUrlId = imageUrlId;
}
+ // public String getCharacterStory(){ return characterStory;}
+
+ //public void setCharacterStory(String characterStory){
+ // this.characterStory=characterStory;
+ //}
private Integer imageUrlId;
private String productName;
private BigDecimal productPrice;
+ // private String characterStory;
}
diff --git a/app/src/main/java/com/example/register/fragment/IndexFragment.java b/app/src/main/java/com/example/register/fragment/IndexFragment.java
new file mode 100644
index 0000000..1115ace
--- /dev/null
+++ b/app/src/main/java/com/example/register/fragment/IndexFragment.java
@@ -0,0 +1,109 @@
+package com.example.register.fragment;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.GridView;
+import android.widget.LinearLayout;
+import android.widget.SearchView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.example.register.adapter.ProductAdapter;
+import com.example.register.entity.Product;
+import com.example.register.R;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+public class IndexFragment extends Fragment implements View.OnClickListener {
+ private SearchView searchView;
+ private LinearLayout orangeLine, youziLine, juziLine, xiguaLine, liLine, appleLine, lemonLine, mangguoLine;
+ private GridView gridView;
+ private List productList;
+ private ProductAdapter productAdapter;
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = LayoutInflater.from(getActivity()).inflate(R.layout.content_index, container, false);
+ init(view);
+ return view;
+ }
+
+ /**
+ * 初始化组件
+ */
+ private void init(View view) {
+ searchView = view.findViewById(R.id.searchView);
+ searchView.setOnClickListener(this);
+ orangeLine = view.findViewById(R.id.chengzi);
+ orangeLine.setOnClickListener(this);
+ youziLine = view.findViewById(R.id.youzi);
+ youziLine.setOnClickListener(this);
+ juziLine = view.findViewById(R.id.juzi);
+ juziLine.setOnClickListener(this);
+ xiguaLine = view.findViewById(R.id.xigua);
+ xiguaLine.setOnClickListener(this);
+ liLine = view.findViewById(R.id.li);
+ liLine.setOnClickListener(this);
+ lemonLine = view.findViewById(R.id.lemon);
+ lemonLine.setOnClickListener(this);
+ mangguoLine = view.findViewById(R.id.mangguo);
+ mangguoLine.setOnClickListener(this);
+ appleLine = view.findViewById(R.id.apple);
+ appleLine.setOnClickListener(this);
+ gridView = view.findViewById(R.id.index_famous_gridview);
+ initData();
+ productAdapter = new ProductAdapter(getActivity(), productList);
+ gridView.setAdapter(productAdapter);
+ }
+
+
+ @Override
+ public void onClick(View v) {
+
+ }
+
+ /**
+ * 初始化商品数据
+ */
+ private void initData() {
+ productList = new ArrayList<>();
+ Product product = new Product();
+ product.setImageUrlId(R.drawable.juzip);
+ product.setProductName("橘子");
+ product.setProductPrice(new BigDecimal("9.9"));
+ Product product1 = new Product();
+ product1.setImageUrlId(R.drawable.orange);
+ product1.setProductName("橙子");
+ product1.setProductPrice(new BigDecimal("29.9"));
+ Product product2 = new Product();
+ product2.setImageUrlId(R.drawable.youzip);
+ product2.setProductName("柚子");
+ product2.setProductPrice(new BigDecimal("19.9"));
+ Product product3 = new Product();
+ product3.setImageUrlId(R.drawable.xiguap);
+ product3.setProductName("西瓜");
+ product3.setProductPrice(new BigDecimal("19.9"));
+ Product product4 = new Product();
+ product4.setImageUrlId(R.drawable.applep);
+ product4.setProductName("苹果");
+ product4.setProductPrice(new BigDecimal("49.9"));
+ Product product5 = new Product();
+ product5.setImageUrlId(R.drawable.lemonp);
+ product5.setProductName("柠檬");
+ product5.setProductPrice(new BigDecimal("9.9"));
+ productList.add(product);
+ productList.add(product1);
+ productList.add(product2);
+ productList.add(product3);
+ productList.add(product4);
+ productList.add(product5);
+
+ }
+}
diff --git a/app/src/main/java/com/example/register/fragment/PearsonFragment.java b/app/src/main/java/com/example/register/fragment/PearsonFragment.java
new file mode 100644
index 0000000..9f3cf51
--- /dev/null
+++ b/app/src/main/java/com/example/register/fragment/PearsonFragment.java
@@ -0,0 +1,64 @@
+package com.example.register.fragment;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.example.register.R;
+
+public class PearsonFragment extends Fragment implements View.OnClickListener {
+ private ImageView userIconImage;
+ private TextView usernameText, userSexText, userCityText;
+ private LinearLayout usernameLine, userSexline, userCityLine, userPayLine, userSettingLine, userGeneralLine;
+
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = LayoutInflater.from(getActivity()).inflate(R.layout.user, container, false);
+ init(view);
+ return view;
+ }
+
+ /**
+ * 组件初始化
+ */
+ private void init(View view) {
+ userIconImage = view.findViewById(R.id.user_face);
+ usernameText = view.findViewById(R.id.login_name);
+ userSexText = view.findViewById(R.id.reg_sex);
+ userCityText = view.findViewById(R.id.reg_address);
+ usernameLine = view.findViewById(R.id.login_name_line);
+ userSexline = view.findViewById(R.id.reg_sex_line);
+ userCityLine = view.findViewById(R.id.reg_address_line);
+ userPayLine = view.findViewById(R.id.redbag_line);
+ userSettingLine = view.findViewById(R.id.user_setting);
+ //userGeneralLine = view.findViewById(R.id.user_general);
+ setData();
+ }
+
+ /**
+ * 组件赋值
+ */
+ private void setData() {
+ Bundle bundle = getArguments();
+ usernameText.setText(String.format("用户名:%s", bundle.getString("username")));
+ userSexText.setText(String.format("性别:%s", bundle.getString("sex")));
+ userCityText.setText(String.format("城市:%s", bundle.getString("city")));
+ }
+
+ @Override
+ public void onClick(View v) {
+
+ }
+
+
+}
diff --git a/app/src/main/java/com/example/register/fragment/ProductFragment.java b/app/src/main/java/com/example/register/fragment/ProductFragment.java
new file mode 100644
index 0000000..04d41a8
--- /dev/null
+++ b/app/src/main/java/com/example/register/fragment/ProductFragment.java
@@ -0,0 +1,21 @@
+package com.example.register.fragment;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.example.register.R;
+
+public class ProductFragment extends Fragment {
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = LayoutInflater.from(getActivity()).inflate(R.layout.content_product, container, false);
+ return view;
+ }
+}
diff --git a/app/src/main/java/com/example/register/fragment/SetDetailFragment.java b/app/src/main/java/com/example/register/fragment/SetDetailFragment.java
index cbfbcdd..9935299 100644
--- a/app/src/main/java/com/example/register/fragment/SetDetailFragment.java
+++ b/app/src/main/java/com/example/register/fragment/SetDetailFragment.java
@@ -15,13 +15,14 @@ import androidx.annotation.Nullable;
import com.example.register.R;
import com.example.register.CategoryActivity;
+import com.example.register.entity.Product;
import java.util.Objects;
public class SetDetailFragment extends Fragment {
private View view;
private ImageView imageView;
- private TextView nameText, priceText;
+ private TextView nameText, priceText,storyText;
@SuppressLint("SetTextI18n")
@Nullable
@@ -32,12 +33,16 @@ public class SetDetailFragment extends Fragment {
init();
}
CategoryActivity categoryActivity = (CategoryActivity) getActivity();
- Objects.requireNonNull(categoryActivity).setOnChangeListener(product -> {
- Log.i("sss", "onCreateView: " + product.getProductName());
- imageView.setBackgroundResource(product.getImageUrlId());
- nameText.setText(product.getProductName());
- priceText.setText(product.getProductPrice().toString());
+ categoryActivity.setOnChangeListener(new CategoryActivity.OnChangeListener() {
+ @Override
+ public void changeText(Product product) {
+ imageView.setBackgroundResource(product.getImageUrlId());
+ nameText.setText(product.getProductName());
+ priceText.setText(product.getProductPrice().toString());
+
+ }
});
+
return view;
}
@@ -47,7 +52,8 @@ public class SetDetailFragment extends Fragment {
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);
+ priceText = view.findViewById(R.id.category_product_price);
+
}
}
diff --git a/app/src/main/java/com/example/register/fragment/ShoppingCartFragment.java b/app/src/main/java/com/example/register/fragment/ShoppingCartFragment.java
new file mode 100644
index 0000000..6229019
--- /dev/null
+++ b/app/src/main/java/com/example/register/fragment/ShoppingCartFragment.java
@@ -0,0 +1,21 @@
+package com.example.register.fragment;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.example.register.R;
+
+public class ShoppingCartFragment extends Fragment {
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = LayoutInflater.from(getActivity()).inflate(R.layout.content_shopping, container, false);
+ return view;
+ }
+}
diff --git a/app/src/main/java/com/example/register/loginActivity.java b/app/src/main/java/com/example/register/loginActivity.java
index eceae00..fc521b2 100644
--- a/app/src/main/java/com/example/register/loginActivity.java
+++ b/app/src/main/java/com/example/register/loginActivity.java
@@ -1,18 +1,24 @@
package com.example.register;
-
-
import android.content.Intent;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
+import android.view.View;
import android.widget.Button;
import android.widget.EditText;
-import android.util.Log;
+import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
-public class loginActivity extends AppCompatActivity {
+import com.example.register.IndexActivity;
+import com.example.register.registerActivity;
+import com.example.register.dateoperation.Database;
+
+
+public class loginActivity extends AppCompatActivity implements View.OnClickListener {
Button login, register;
- EditText username, password;
+ EditText usernameT, passwordT;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -20,8 +26,8 @@ public class loginActivity extends AppCompatActivity {
//对应xml文件中组件的连接
login = findViewById(R.id.login);
register = findViewById(R.id.register);
- username = findViewById(R.id.username);
- password = findViewById(R.id.password);
+ usernameT = findViewById(R.id.username);
+ passwordT = findViewById(R.id.password);
login.setOnClickListener(view -> {
Intent intent = new Intent();
@@ -34,4 +40,46 @@ public class loginActivity extends AppCompatActivity {
startActivity(intent);
});
}
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.register:
+ Intent intent = new Intent(loginActivity.this, registerActivity.class);
+ startActivity(intent);
+ break;
+ case R.id.login:
+ //注册时,我们引入了数据库,登录这里可以通过数据库进行验证,验证跳转到首页,不通过进行提示
+ if (validateLogin()) {
+ Intent intent1 = new Intent(loginActivity.this, IndexActivity.class);
+ Bundle bundle = new Bundle();
+ Database database = new Database(loginActivity.this);
+ bundle.putString("username", usernameT.getText().toString());
+ bundle = database.queryUserInfo(database.getReadableDatabase(), bundle);
+ intent1.putExtras(bundle);
+ startActivity(intent1);
+ } else {
+ Toast.makeText(loginActivity.this, "账号或者密码错误", Toast.LENGTH_SHORT).show();
+ }
+ break;
+ }
+ }
+ /**
+ * 登录验证
+ *
+ * @return
+ */
+ private boolean validateLogin() {
+ String username = usernameT.getText().toString();
+ String password = passwordT.getText().toString();
+ Database database = new Database(loginActivity.this);
+ SQLiteDatabase sqLiteDatabase = database.getReadableDatabase();
+ Cursor cursor = sqLiteDatabase.rawQuery("select * from orange_user where username=? and password=?", new String[]{username, password});
+ if (cursor.getCount() > 0) {
+ return true;
+ }
+ return false;
+ }
+
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/register/registerActivity.java b/app/src/main/java/com/example/register/registerActivity.java
index 10d4a1d..e7acb7d 100644
--- a/app/src/main/java/com/example/register/registerActivity.java
+++ b/app/src/main/java/com/example/register/registerActivity.java
@@ -1,20 +1,22 @@
package com.example.register;
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.graphics.Color;
import com.lljjcoder.citypickerview.widget.CityPicker;
-
+import androidx.annotation.Nullable;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
-
-
+import com.example.register.R;
+import com.example.register.dateoperation.Database;
public class registerActivity extends AppCompatActivity implements View.OnClickListener {
private EditText usernameEdit, passwordEdit, surePasswordEdit;
@@ -159,5 +161,22 @@ public class registerActivity extends AppCompatActivity implements View.OnClickL
}
-
+ /**
+ * 插入数据库的值
+ *
+ * @param sqLiteDatabase
+ * @param bundle
+ */
+ private void insertData(SQLiteDatabase sqLiteDatabase, Bundle bundle) {
+ ContentValues contentValues = new ContentValues();
+ contentValues.put("username", bundle.getString("usernameT"));
+ contentValues.put("password", bundle.getString("passwordT"));
+ contentValues.put("sex", bundle.getString("sex"));
+ contentValues.put("city", bundle.getString("city"));
+ sqLiteDatabase.insert("orange_user", null, contentValues);
+ sqLiteDatabase.close();
+ }
}
+
+
+
diff --git a/app/src/main/java/com/example/register/userActivity.java b/app/src/main/java/com/example/register/userActivity.java
index 828ec7d..9c3bb8b 100644
--- a/app/src/main/java/com/example/register/userActivity.java
+++ b/app/src/main/java/com/example/register/userActivity.java
@@ -1,4 +1,5 @@
package com.example.register;
+import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
@@ -81,7 +82,7 @@ public class userActivity extends AppCompatActivity implements View.OnClickListe
}
@Override
- public void onClick(View v) {
+ public void onClick(@NonNull View v) {
switch (v.getId()) {
case R.id.user_searchProduct:
Intent intent1 = new Intent(userActivity.this, CategoryActivity.class);
diff --git a/app/src/main/res/drawable/apple.png b/app/src/main/res/drawable/apple.png
new file mode 100644
index 0000000000000000000000000000000000000000..0810381d53b6ac6f3163f5dc3e3002e09562c290
GIT binary patch
literal 1988
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
M07*qoM6N<$f;J}@jQ{`u
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/index.png b/app/src/main/res/drawable/index.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc1ec04f66cffa7b889c016953f3616b8305adb9
GIT binary patch
literal 1272
zcmVop#=&eKH
z-<)^}Lr0G3n-TDRLZFwOBoNXvPRPE{;p=^LTSPAe9ZBZ8!8}U9{UW9=HCKu0Kq?-Z
zw2QZeRtv|Fs%mPTLm4}GTRx_louc!
zkNGjSs{w;Ec??b8@xl_!i<{GN<*H@2+#XRadyYXhFK;E_5~+vaBf2X0EkidC&p%W!
z&Fi(6q!QR;@U(7(nylU~R$579dqH%v7U;Ery##0Gz3F&(ya*l9a^DiT-7T~ou!rDd
zx+-@qRa(m#0EgT_ivll$Pv89JbAGXjB3gD2fzCUH
zc3R;||3Q}(H$l&kq8SGP3_F3Y6}YB~v)N%)`Y3@8i$Z$^T*KttM@rHd0plG}=+iGY
z;FVUts9Z?5Yy5BgaIGMu1*3};E%!0NN5mq4otu0}?rgxuM%zP=kfjCt(!>ICc^1-J
zYc(m!Y%kc|hb0wrwMrJ@+bOa~xM2)$;7s2a3YxuKbSnesyC>hrK$Xft2f
zLSZfQxDS$}dxsLyTF_RHmd5rLAH0L6+qxPG-u)sPa{!`Ft6g_!!jvA9cie@}P5{*L
ze}`t~qv?3~$kK)>k?SU6$LGR&S6U+Jxw%+ydI|cN9;JZaY7s}H&d|T=s@!S;E-$u9
z()bdL*PT#X6U>@uD~Gjuh)l%Z?-p?OmqjP(R9%&mmC#Ruamk6xp=a;IYuo(TApiTJ
z5rO_@b`kq8EQqHf+|&c17W7gvsQd~cnL9(wZ;HFsNy#{<$K?~HY-P}m!|5h6eU}N?
zP$wMwG|W?aJiKG2aPuF`lLv`<&%vz3->
zZq*`M_B4Us@|Ho|jS2B|OxCJJth>KdwCpK>dc;$CqqMtNx7`#gTJC*-KlBDiz=hGJ
z$K|p0l(x`Ta3q=CO-!Ewcu*j%I|<<@2~y8oEcm0Hfe>^N{0v7iZ+uFiH|$IuJtr_s
z`bdw521Mh8p-YBJGWQg?_{Y(H(InM%oB`+yi55=I#hR}<@p24ZG7q21G)oJho$IRU)#qq%qh0000
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/juzi.png b/app/src/main/res/drawable/juzi.png
new file mode 100644
index 0000000000000000000000000000000000000000..106df92a6a38fdf5074c2969a512e2e19dde5f7d
GIT binary patch
literal 1898
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
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/lemon.png b/app/src/main/res/drawable/lemon.png
new file mode 100644
index 0000000000000000000000000000000000000000..39f12cc86e2eee35fb7435398cb8dafd48007433
GIT binary patch
literal 2954
zcmV;53w88~P)@~BqtFcm+-#=5;^S$qV
zzxRFbyB>od2{Ats9QX;y|C=R$vPf4JIpX(DAS`BsU=#sd4B#S+_L~9_VSorZ^ZUM{
zFdNGU`44_ymi^8asX68y1{t?A46b4sXQ9P#O%2bFPwClW6U(~#0ES{fjjCvFP~}rG
zS@oym;wycn^qwJL@TsbjE#T5mmluEA^j$#p8pt8Pw}fS}hyfPa%!_uJ_?Z?R+wVfE
zjF{dDLIkKJ233uKVGLjyI~c|Wma&58MgdSxq~#<2xcIU$DQghM$ZIvxBbG0?1{Q0(!;F}0wL76A;d|rZDn0f@{aM1gnUe~|WZGTH4NR~(A%aD>j0?WAI
zur3FPgmCk{dF|iNwGBez2_(gh8W5{#9?XUtpsL}04UtJB06bXc37j=sH&XKka-_EO
zMP5H{bRXO5a#=ZwP;4O-wZ2unfx8raY|o-TJQjo`a&Bwj#=&B|Npr)tWHwv_hh;ek
zAjxN=YJ&hEf;3xtBuvz8@=jx7y9vZNt$c~+SQ
zZWOF0ADV>Qv+^(uuPNFj%*)DSG0uVAd_P2K=eAIDMSlhAgdv{Vlexg;1QHCEoFg*q
zZntf{U#}Zi*4q6U^ULq%PLuc91fN)v>I-{(Pp`KJQXS=9!EU2E-xUQ{(LYnL6Ud3s<-R0mLg5x%Pz9%D#bV
z`4A-e0F3-(7`e$1)1PU8#Ps&8O7(N?!0E`$R(CWTWYnzX!cdy{Zm!(dO~`n-Wu2RxGu+|V^{`?|7dd^r;0o9)&b`O9GBE{A~|
zgIMxuB*eG61Y|MZig;?R_MhAS&o1*1!zi2!e8sRSU
z1iC!@ETk`@!>#73V`k!(7@=F`S6SVTYCqyqPJ!z+986^3j=JN^h-%yle
znk-tY^@I%E1oW{zjYeT^wV3{LWw|%_Qhq>!-jDk_w>nwYHR5DQYc+aBMs6aEhN%Zd
zX=ekF;sBQPN)P~tW#zVT^PdJLr44oE-r%zQfV8v7c&J3^(f+jFvKViMl->m}`h9&1
zW{j+_uebC_NDk(rqM~?SKxmF0PYY8U2A2eW*>-&%QELup9?3>jS+n6<
zi0K_jN!#0jwwsqCDQ<|A4tU3Pto}j2s@8i|HKdg(EMwEcHf;;?r9#IhItw_^6r20?
z;F7@Xe1Np(5!$-a7Pc*A@(68lX|~T+$FLn42Of>WRYvnDOsr=NKcMNo1SELx8rp*
z3G>0}O2XdaO?@a3BY%Y}maOd5K^nO6npO3>5(tS^nsqx8ZHN0hHz68->dSa)?YrlB
z{Y&x%@?L>$Eyr`iTRW+q)LJxK)2z?whlWdw-`0RAs^Bv6QxH#eik_NIv^z8zuGOrR
zlHNg5dLL=I8Z`Sm%u8W1%tWK`>$s$RGrwcamA%#qc<#5DZn@fSUVI7NB$j+mYnbvO
zPFDsnyjBr#x(mXk12$?vB>9kw-WwtDSWYptr!gC5X^P8=Uke~~Hb#&-Q6Cy@F7pIj
zc||SC^mVZ0LX}~^=;z#ekoF@z$tQO6eGn2WwY_-#@Q}Cot%3{?n$;P`l2--I>4$1v
zA{}f{N=jQlk2K%?RhcJnN8UgvTx)b85ms^0040(&+
zYz0C;IxK%gH2!ct#)V!t5QUDnHC~$8)AFHv%RK&0eR9s8{p-2`gH%=bh1>p0b>2O@
z-VAo|eDb-zdyIUgim0-PNM+
zeTrf+{sy5~MeAO?zB3TLt`xLC$+%xGG?^j9spzbjs`}>+F7a>b6%e{8|GC!RkV@~+
za!ZDI{m`(tC2G;jp84*!zk*2ozMPeH>m(($Zhv#~@w&k!ftlGrcWaT%!nTt}+KV>{
zzoirPR=H;*+XA7jEWPxx#HucJqhXp3{3K=XH%-xbdX`b9
z|GcCwYl)FJ5V~92*>74oP)@r?+No|BUx%{p#=2Dl02j`+UBIxq?EEEs_z|@x{u_U*}|5=LPit
zOz*C$G05t%z<{C^r5*2xW)b^8!0ELmEhLA9#Om6(_(FlIl3TZLUOJIsm`Q|?bLd2f
z5OPOFMManQq}M<)Tep2fH0Upa#Z=K?;D$H};q8FV$uMM}-R_z|fyl~n7t0p33?rt&
zV!TlkLx>uc(wl3-@#Uk5ny6Cs%roT!&OVe@RaH$PgnU2<5g3NK!{_sLx-Z`uNLzEa
zzUnd<4FdX%Rlopy2YUjOW3kwWgpkY5@+(cUanpAcq5<`vC+MAV`4V`QG5!=dN5Q(B{9Ys;a?+
zkU2h|Z+XWhKNyfab?r6VPe6KobpNA;KN^et7v(;CetyH5XaE2J07*qoM6N<$f?}Jr
Ad;kCd
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/lemonp.png b/app/src/main/res/drawable/lemonp.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca5eca84fc6fed54c0441a05ce0b9e3d333db3f7
GIT binary patch
literal 10312
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
SP*iyU0000AEUC?Ys6gP-W=AflrvxD5k-<1)&)
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