From aaa8f7bb0d8fd8f88e9b2702fe27e11cb6c393b8 Mon Sep 17 00:00:00 2001 From: Lixin <2563946749@qq.com> Date: Mon, 23 Dec 2024 00:21:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A411?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Adapter/ShoppingTrolleyAdapter.java | 67 ++++++++++ .../java/com/example/myapplication/Api.java | 9 ++ .../example/myapplication/FindFragment.java | 121 +++++++++++++++++- .../example/myapplication/HomeFragment.java | 55 +++++++- .../ShoppingTrolleyFragment.java | 69 +++++++++- .../myapplication/dao/RecommendResult.java | 47 +++++++ .../myapplication/dao/ShoptrolleyResult.java | 49 +++++++ .../shuiguoxiangqingActivity.java | 70 ++++++++++ app/src/main/res/drawable/jiahao.png | Bin 0 -> 906 bytes app/src/main/res/drawable/jianhao.png | Bin 0 -> 981 bytes app/src/main/res/drawable/zhuanfa.png | Bin 0 -> 716 bytes .../res/layout/activity_shuiguoxiangqing.xml | 43 +++++-- app/src/main/res/layout/find_moban.xml | 68 +++++++++- app/src/main/res/layout/fragment_find.xml | 1 + .../res/layout/fragment_shopping_trolley.xml | 8 ++ .../res/layout/shopping_trolley_moban.xml | 92 +++++++++++++ 16 files changed, 681 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/com/example/myapplication/Adapter/ShoppingTrolleyAdapter.java create mode 100644 app/src/main/java/com/example/myapplication/dao/RecommendResult.java create mode 100644 app/src/main/java/com/example/myapplication/dao/ShoptrolleyResult.java create mode 100644 app/src/main/res/drawable/jiahao.png create mode 100644 app/src/main/res/drawable/jianhao.png create mode 100644 app/src/main/res/drawable/zhuanfa.png create mode 100644 app/src/main/res/layout/shopping_trolley_moban.xml diff --git a/app/src/main/java/com/example/myapplication/Adapter/ShoppingTrolleyAdapter.java b/app/src/main/java/com/example/myapplication/Adapter/ShoppingTrolleyAdapter.java new file mode 100644 index 0000000..c975337 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/Adapter/ShoppingTrolleyAdapter.java @@ -0,0 +1,67 @@ +package com.example.myapplication.Adapter; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.example.myapplication.R; +import com.example.myapplication.dao.ShoptrolleyResult; + +import java.util.List; + +public class ShoppingTrolleyAdapter extends RecyclerView.Adapter { + + private List rowsBeans; + + public ShoppingTrolleyAdapter(List rowsBeans) { + this.rowsBeans = rowsBeans; + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.shopping_trolley_moban, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + ShoptrolleyResult.RowsBean rowsBean = rowsBeans.get(position); + holder.textView103.setText(rowsBean.shopname); + holder.textView104.setText(rowsBean.shopguige); + holder.textView105.setText(String.valueOf(rowsBean.price)); + holder.textView106.setText(String.valueOf(rowsBean.shopnumber)); + + // 加载图片,这里假设你使用 Glide 库 + if (rowsBean.shoppicture != null) { + Glide.with(holder.itemView.getContext()).load(rowsBean.shoppicture).into(holder.imageView10); + } + } + + @Override + public int getItemCount() { + return rowsBeans.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + TextView textView103; + TextView textView104; + TextView textView105; + TextView textView106; + ImageView imageView10; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + textView103 = itemView.findViewById(R.id.textView103); + textView104 = itemView.findViewById(R.id.textView104); + textView105 = itemView.findViewById(R.id.textView105); + textView106 = itemView.findViewById(R.id.textView106); + imageView10 = itemView.findViewById(R.id.imageView10); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/Api.java b/app/src/main/java/com/example/myapplication/Api.java index 8f972c6..7367b17 100644 --- a/app/src/main/java/com/example/myapplication/Api.java +++ b/app/src/main/java/com/example/myapplication/Api.java @@ -2,6 +2,8 @@ package com.example.myapplication; import com.example.myapplication.dao.GoodsinformationResult; import com.example.myapplication.dao.LoginResult; +import com.example.myapplication.dao.RecommendResult; +import com.example.myapplication.dao.ShoptrolleyResult; import com.example.myapplication.dao.ShouyeshuiguoResult; import com.example.myapplication.dao.UserInformationResult; import com.example.myapplication.dao.UserInformationResult2; @@ -37,4 +39,11 @@ public interface Api { @GET("system/vip/list") Call getVipdata(@Header("Authorization") String token); + @GET("system/recommend/list") + Call getRecommend(@Header("Authorization") String token); + + @GET("system/shopcar/list") + Call getShoptrolley(@Header("Authorization") String token); + + } diff --git a/app/src/main/java/com/example/myapplication/FindFragment.java b/app/src/main/java/com/example/myapplication/FindFragment.java index 6f22a8d..2bd3925 100644 --- a/app/src/main/java/com/example/myapplication/FindFragment.java +++ b/app/src/main/java/com/example/myapplication/FindFragment.java @@ -1,19 +1,136 @@ package com.example.myapplication; +import static android.content.Context.MODE_PRIVATE; + +import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.example.myapplication.Utils.RetrofitUtils; +import com.example.myapplication.dao.RecommendResult; + +import java.util.ArrayList; +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; public class FindFragment extends Fragment { + + private List list = new ArrayList<>(); + private FindMyAdapter adapter; + private RecyclerView recyclerView; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_find, container, false); + View view = inflater.inflate(R.layout.fragment_find, container, false); + + recyclerView = view.findViewById(R.id.recyclerView2); // 假设你的 RecyclerView 的 ID 是 recyclerView + adapter = new FindMyAdapter(list); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + + SharedPreferences sharedPreferences = getActivity().getSharedPreferences("data", MODE_PRIVATE); + String token = sharedPreferences.getString("token", ""); + Call recommendResultCall = + RetrofitUtils.getRetrofit("http://192.168.56.115:8080/").create(Api.class).getRecommend("Bearer " + token); + recommendResultCall.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + RecommendResult recommendResult = response.body(); + if (recommendResult != null) { + if (recommendResult.code == 200) { + // 清空原有数据 + list.clear(); + // 将新数据添加到列表中 + for (RecommendResult.RowsBean rowsBean : recommendResult.rows) { + list.add(rowsBean); + } + adapter.notifyDataSetChanged(); + } else if (recommendResult.code == 401) { + // 处理未授权的情况,例如提示用户重新登录 + Log.e("FindFragment", "Unauthorized access"); + } else { + // 处理其他错误情况 + Log.e("FindFragment", "Error code: " + recommendResult.code); + } + } else { + // 处理响应为空的情况 + Log.e("FindFragment", "Response body is null"); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + // 处理网络错误或其他异常 + t.printStackTrace(); + Log.e("FindFragment", "Network error: " + t.getMessage()); + } + }); + return view; } -} \ No newline at end of file + + // 创建 FindMyAdapter 类 + public class FindMyAdapter extends RecyclerView.Adapter { + + private List rowsBeans; + + public FindMyAdapter(List rowsBeans) { + this.rowsBeans = rowsBeans; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.find_moban, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + RecommendResult.RowsBean rowsBean = rowsBeans.get(position); + holder.textView80.setText(rowsBean.tuijianyu); + holder.textView101.setText(String.valueOf(rowsBean.tuijiannumber)); + holder.textView102.setText(rowsBean.tuijianname); + + // 加载图片,这里假设你使用 Glide 库 + if (rowsBean.picture != null) { + Glide.with(holder.itemView.getContext()).load(rowsBean.picture).into(holder.imageView8); + } + } + + @Override + public int getItemCount() { + return rowsBeans.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + TextView textView80; + TextView textView101; + TextView textView102; + ImageView imageView8; + + public ViewHolder(View itemView) { + super(itemView); + textView80 = itemView.findViewById(R.id.textView80); + textView101 = itemView.findViewById(R.id.textView101); + textView102 = itemView.findViewById(R.id.textView102); + imageView8 = itemView.findViewById(R.id.imageView8); + } + } + } +} diff --git a/app/src/main/java/com/example/myapplication/HomeFragment.java b/app/src/main/java/com/example/myapplication/HomeFragment.java index 705de3d..caf4873 100644 --- a/app/src/main/java/com/example/myapplication/HomeFragment.java +++ b/app/src/main/java/com/example/myapplication/HomeFragment.java @@ -18,6 +18,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.example.myapplication.Utils.RetrofitUtils; +import com.example.myapplication.dao.GoodsinformationResult; import com.example.myapplication.dao.ShouyeshuiguoResult; import java.util.ArrayList; @@ -47,6 +48,9 @@ public class HomeFragment extends Fragment { recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerView.setAdapter(myAdapter); + // 调用 fetchAndSaveGoodsinformation 方法 + fetchAndSaveGoodsinformation(); + SharedPreferences sharedPreferences = getActivity().getSharedPreferences("data", MODE_PRIVATE); String token = sharedPreferences.getString("token", ""); Call shouyeshuiguoResultCall = @@ -88,6 +92,48 @@ public class HomeFragment extends Fragment { return view; } + private void fetchAndSaveGoodsinformation() { + SharedPreferences sharedPreferences = getActivity().getSharedPreferences("data", MODE_PRIVATE); + String token = sharedPreferences.getString("token", ""); + Call goodsinformationResultCall = + RetrofitUtils.getRetrofit("http://192.168.56.115:8080/").create(Api.class).getGoodsinformation("Bearer " + token); + goodsinformationResultCall.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + GoodsinformationResult goodsinformationResult = response.body(); + if (goodsinformationResult != null) { + if (goodsinformationResult.code == 200) { + SharedPreferences.Editor editor = sharedPreferences.edit(); + for (GoodsinformationResult.RowsBean rowsBean : goodsinformationResult.rows) { + editor.putString("supplier_" + rowsBean.goodsid, rowsBean.supplier); + editor.putString("standard_" + rowsBean.goodsid, rowsBean.standard); + editor.putString("locality_" + rowsBean.goodsid, rowsBean.locality); + editor.putString("qualityguaranteeperiod_" + rowsBean.goodsid, rowsBean.qualityguaranteeperiod); + editor.putString("particular_" + rowsBean.goodsid, rowsBean.particular); + editor.putString("picture1_" + rowsBean.goodsid, rowsBean.picture1); + editor.putString("picture2_" + rowsBean.goodsid, rowsBean.picture2); + editor.putString("picture3_" + rowsBean.goodsid, rowsBean.picture3); + editor.putString("goodsid_" + rowsBean.goodsid, rowsBean.goodsid.toString()); + } + editor.apply(); + } else if (goodsinformationResult.code == 401) { + Log.e("HomeFragment", "Unauthorized access"); + } else { + Log.e("HomeFragment", "Error code: " + goodsinformationResult.code); + } + } else { + Log.e("HomeFragment", "Response body is null"); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + t.printStackTrace(); + Log.e("HomeFragment", "Network error: " + t.getMessage()); + } + }); + } + public class MyViewHolder extends RecyclerView.ViewHolder { TextView textView1, textView2, textView3, textView4; ImageButton imageButton1; @@ -135,14 +181,19 @@ public class HomeFragment extends Fragment { .into(holder.imageButton1); } - holder.imageButton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int clickedPosition = holder.getAdapterPosition(); if (clickedPosition != RecyclerView.NO_POSITION) { Intent intent = new Intent(HomeFragment.this.getActivity(), shuiguoxiangqingActivity.class); - intent.putExtra("id", list.get(clickedPosition).picture); + ShouyeshuiguoResult.RowsBean item = list.get(clickedPosition); + intent.putExtra("picture", item.picture); + intent.putExtra("price", item.price); + intent.putExtra("goodsname", item.goodsname); + intent.putExtra("time1", item.time1); + intent.putExtra("time2", item.time2); + intent.putExtra("goodsid", item.goodsId); // 添加这一行 startActivity(intent); } } diff --git a/app/src/main/java/com/example/myapplication/ShoppingTrolleyFragment.java b/app/src/main/java/com/example/myapplication/ShoppingTrolleyFragment.java index 960c275..fcc5454 100644 --- a/app/src/main/java/com/example/myapplication/ShoppingTrolleyFragment.java +++ b/app/src/main/java/com/example/myapplication/ShoppingTrolleyFragment.java @@ -1,19 +1,84 @@ package com.example.myapplication; +import static android.content.Context.MODE_PRIVATE; + +import android.content.SharedPreferences; import android.os.Bundle; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.example.myapplication.Adapter.ShoppingTrolleyAdapter; +import com.example.myapplication.Utils.RetrofitUtils; +import com.example.myapplication.dao.ShoptrolleyResult; + +import java.util.ArrayList; +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; public class ShoppingTrolleyFragment extends Fragment { + + private List list = new ArrayList<>(); + private ShoppingTrolleyAdapter adapter; + private RecyclerView recyclerView; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_shopping_trolley, container, false); + View view = inflater.inflate(R.layout.fragment_shopping_trolley, container, false); + + recyclerView = view.findViewById(R.id.recyclerView3); // 假设你的 RecyclerView 的 ID 是 recyclerView + adapter = new ShoppingTrolleyAdapter(list); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + + SharedPreferences sharedPreferences = getActivity().getSharedPreferences("data", MODE_PRIVATE); + String token = sharedPreferences.getString("token", ""); + Call shoptrolleyResultCall = + RetrofitUtils.getRetrofit("http://192.168.56.115:8080/").create(Api.class).getShoptrolley("Bearer " + token); + shoptrolleyResultCall.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + ShoptrolleyResult shoptrolleyResult = response.body(); + if (shoptrolleyResult != null) { + if (shoptrolleyResult.code == 200) { + // 清空原有数据 + list.clear(); + // 将新数据添加到列表中 + for (ShoptrolleyResult.RowsBean rowsBean : shoptrolleyResult.rows) { + list.add(rowsBean); + } + adapter.notifyDataSetChanged(); + } else if (shoptrolleyResult.code == 401) { + // 处理未授权的情况,例如提示用户重新登录 + Log.e("ShoppingTrolleyFragment", "Unauthorized access"); + } else { + // 处理其他错误情况 + Log.e("ShoppingTrolleyFragment", "Error: " + shoptrolleyResult.code); + } + } else { + // 处理响应为空的情况 + Log.e("ShoppingTrolleyFragment", "Response is null"); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + // 处理网络错误或其他异常 + t.printStackTrace(); + Log.e("ShoppingTrolleyFragment", "Network error: " + t.getMessage()); + } + }); + return view; } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/example/myapplication/dao/RecommendResult.java b/app/src/main/java/com/example/myapplication/dao/RecommendResult.java new file mode 100644 index 0000000..eeb2607 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/dao/RecommendResult.java @@ -0,0 +1,47 @@ +package com.example.myapplication.dao; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +import lombok.Data; +import lombok.NoArgsConstructor; + +@lombok.NoArgsConstructor +@lombok.Data +public class RecommendResult { + + @SerializedName("total") + public Integer total; + @SerializedName("rows") + public List rows; + @SerializedName("code") + public Integer code; + @SerializedName("msg") + public String msg; + + @lombok.NoArgsConstructor + @lombok.Data + public static class RowsBean { + @SerializedName("createBy") + public Object createBy; + @SerializedName("createTime") + public Object createTime; + @SerializedName("updateBy") + public Object updateBy; + @SerializedName("updateTime") + public Object updateTime; + @SerializedName("remark") + public Object remark; + @SerializedName("id") + public Integer id; + @SerializedName("tuijianname") + public String tuijianname; + @SerializedName("tuijiannumber") + public Integer tuijiannumber; + @SerializedName("tuijianyu") + public String tuijianyu; + @SerializedName("picture") + public Object picture; + } +} diff --git a/app/src/main/java/com/example/myapplication/dao/ShoptrolleyResult.java b/app/src/main/java/com/example/myapplication/dao/ShoptrolleyResult.java new file mode 100644 index 0000000..01d33e8 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/dao/ShoptrolleyResult.java @@ -0,0 +1,49 @@ +package com.example.myapplication.dao; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@Data +public class ShoptrolleyResult { + + @SerializedName("total") + public Integer total; + @SerializedName("rows") + public List rows; + @SerializedName("code") + public Integer code; + @SerializedName("msg") + public String msg; + + @NoArgsConstructor + @Data + public static class RowsBean { + @SerializedName("createBy") + public Object createBy; + @SerializedName("createTime") + public Object createTime; + @SerializedName("updateBy") + public Object updateBy; + @SerializedName("updateTime") + public Object updateTime; + @SerializedName("remark") + public Object remark; + @SerializedName("id") + public Integer id; + @SerializedName("shopname") + public String shopname; + @SerializedName("shopguige") + public String shopguige; + @SerializedName("price") + public Double price; + @SerializedName("shopnumber") + public Integer shopnumber; + @SerializedName("shoppicture") + public Object shoppicture; + } +} diff --git a/app/src/main/java/com/example/myapplication/shuiguoxiangqingActivity.java b/app/src/main/java/com/example/myapplication/shuiguoxiangqingActivity.java index 2e1fb20..8a789ff 100644 --- a/app/src/main/java/com/example/myapplication/shuiguoxiangqingActivity.java +++ b/app/src/main/java/com/example/myapplication/shuiguoxiangqingActivity.java @@ -2,10 +2,15 @@ package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; +import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.content.Intent; import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.TextView; + +import com.bumptech.glide.Glide; public class shuiguoxiangqingActivity extends AppCompatActivity { @@ -14,6 +19,71 @@ public class shuiguoxiangqingActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shuiguoxiangqing); + // 获取传递过来的数据 + Intent intent = getIntent(); + String picture = intent.getStringExtra("picture"); + double price = intent.getDoubleExtra("price", 0.0); + String goodsname = intent.getStringExtra("goodsname"); + String time1 = intent.getStringExtra("time1"); + String time2 = intent.getStringExtra("time2"); + int goodsid = intent.getIntExtra("goodsid", -1); // 添加这一行来获取 goodsid + + + // 设置数据到视图组件 + ImageView imageView7 = findViewById(R.id.imageView7); + TextView textView81 = findViewById(R.id.textView81); + TextView textView84 = findViewById(R.id.textView84); + TextView textView88 = findViewById(R.id.textView88); + TextView textView89 = findViewById(R.id.textView89); + + // 使用 Glide 加载图片 + if (picture != null && !picture.isEmpty()) { + Glide.with(this).load(picture).into(imageView7); + } + textView81.setText(String.valueOf(price)); + textView84.setText(goodsname); + textView88.setText(time1); + textView89.setText(time2); + + + // 从 SharedPreferences 中获取数据 + SharedPreferences sharedPreferences = getSharedPreferences("data", MODE_PRIVATE); + String supplier = sharedPreferences.getString("supplier_" + goodsid, ""); + String standard = sharedPreferences.getString("standard_" + goodsid, ""); + String locality = sharedPreferences.getString("locality_" + goodsid, ""); + String qualityguaranteeperiod = sharedPreferences.getString("qualityguaranteeperiod_" + goodsid, ""); + String particular = sharedPreferences.getString("particular_" + goodsid, ""); + String picture1 = sharedPreferences.getString("picture1_" + goodsid, ""); + String picture2 = sharedPreferences.getString("picture2_" + goodsid, ""); + String picture3 = sharedPreferences.getString("picture3_" + goodsid, ""); + + // 设置数据到视图组件 + TextView textView95 = findViewById(R.id.textView95); + TextView textView96 = findViewById(R.id.textView96); + TextView textView97 = findViewById(R.id.textView97); + TextView textView98 = findViewById(R.id.textView98); + TextView textView100 = findViewById(R.id.textView100); + ImageView imageView13 = findViewById(R.id.imageView13); + ImageView imageView14 = findViewById(R.id.imageView14); + ImageView imageView15 = findViewById(R.id.imageView15); + + textView95.setText(supplier); + textView96.setText(standard); + textView97.setText(locality); + textView98.setText(qualityguaranteeperiod); + textView100.setText(particular); + + if (picture1 != null && !picture1.isEmpty()) { + Glide.with(this).load(picture1).into(imageView13); + } + if (picture2 != null && !picture2.isEmpty()) { + Glide.with(this).load(picture2).into(imageView14); + } + if (picture3 != null && !picture3.isEmpty()) { + Glide.with(this).load(picture3).into(imageView15); + } + + //返回 ImageButton imageButton = findViewById(R.id.imageButton31); imageButton.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/res/drawable/jiahao.png b/app/src/main/res/drawable/jiahao.png new file mode 100644 index 0000000000000000000000000000000000000000..1fdc141516a566fe605635beca0af51ee6daac30 GIT binary patch literal 906 zcmV;519kj~P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D10P95K~z{r)tNC; z>o5?8_q{_v0WEa2(83X*h8sW)N1z6704;CuYuI!``0A>8Z%(rpU%dcvwzXS+-=B2P}j9|kf+rf4_^F&-bQyC)ve1=;Qv%*yOXmm*iMEx5vGQAxFTq97Nxc&wztEJ zISdIy(+3)2h=I%%*4JMS4zkv0X4samA(@SSMlr^^$t--ZK+y+8d zcB9|DOLx5VeI8na(pJ}DU4Ly6w+t;=8s-QqXbR%%75Dx9=T>J}vrPYXP-j@LFkKm@ z_ohDn5^Vr@(vH1t7QGioTcEZ?Vpc87R*6X6MeW0Y_eRzSVC8a)TCMjI=g1#HZ7rj%!ig?3)_n#G%@)OM3+(8PHYYQFH$1*1WS+a?#A;pB5fjw zojIxd8ID+S1f~;XWSbad){4z-Ip^dv9I-_YOV5JLo4k5`}Zt8scR#TJo*E!!W@bRz-da=n{`e gY=g)?o^K%X4}vCEzIgkbRR91007*qoM6N<$f^8O}=l}o! literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/jianhao.png b/app/src/main/res/drawable/jianhao.png new file mode 100644 index 0000000000000000000000000000000000000000..3b7337dadab4b0683ec76169d146bac33ded7115 GIT binary patch literal 981 zcmV;`11kK9P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D18PY`K~!i%-I+Tt zZ9x>r*S#M=NrFm3N9EBd_y{x#6j~v4d<2CGwT2dnhED6z5rv+@M<9{IKYOj5Icpw! z_UzZae#yyRv(MQx^Pjb5X3ai-IzP}a;V)l*1;0v6wPE)7Nc8lS*>VK~1KG8|pJ;rX zXksEOS4?>^hlfOOZ$#(kd?SLPA)=WXqUmX(#YMhZo^&w~flpZ=Y;&^`QN_jF-4X5X zX5Mgt&Vk|Kt}VaCvp(?K)6?!V2^159P=XK*I)ITy*dTm-K-B9i(Zxk3Ob>|E15YIo zF9ss?yeQMS%rhOTCF+b5v$|@B2pUTq!5(~~QtF48AO{DX&gf|G=k}JrtPoc_XJ`Cn z9APo&v~HjdAp$yYwlz0bsJ(EQ&CmBv(vy?$1g`?UA1d@Ox%#jEx^40$ynf2v}L^4rZix+@8^U$;Jj74S~)lc*iZqT!!J5Cc;aj+r>tk zgDpny%nJ)_Gz`3hj6y)>kb^De{+sd z;m+1D!{33uG@DEE-d@-{&(B1kpIk@;r%!mmhne8c&JrCTXSRcKVz#!3uCBO{$oe|b z_BIzBm>I#y2+{R*W;^H&v#&2Un9zu|L9Jo7zfbi3&V>YCUWk^Kh?bZ6h66Lqay(;a z&B#O*i&xhO@h%_nbB`vyq&zx5b$J3(K@QPbMeXaAS)xlS)*i zkIPM>lgp_oHr#~63`8V&wV}g&aF7i*wium4=)|)r(5~s3h}6nGXLP8U$JnMgI%0!~ zcvIsRqt6l;r6%W&ZVz6G*ueeAW_ScIGz3&u^7UyHx?O-Hb40st&j38EkFGeE*Nr~1 zqYse-=obUvUNhWWqgEBDTfaF)+Yxg`@Q0Zo9>GVuORvcIJL1cvMt6<00000NkvXXu0mjf D_=38I literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/zhuanfa.png b/app/src/main/res/drawable/zhuanfa.png new file mode 100644 index 0000000000000000000000000000000000000000..2a06ad56009a86758b0cc2ee54034ae238fc4d83 GIT binary patch literal 716 zcmV;-0yF)IP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0%1u+K~z{r?U>z8 z6G0Tm54?ce@&MLAxhJS?yaf4<;kMfJ1&BuOB@jrwFM;p^1i}qqNJJ$8?Om0q53uDC z`r#AE{&&wNJ3G7WOuOy$g5S-|X_MJsXXc!l?Z|%z8gfRt9cmsVlVTu}cI}SpjRr^h z^gVIP`v+v(cQlqx(ffC6PMhX$)amO?V)h{D^_#T0{n4FOT?W1<%XwBB zf2g0`D(q~1h%8asl8{0fvF(~$R+6SvEKvUWGmbozBq8R?Y0OG5EHBQ}%F+Ty3X=Yb zF=!zABA=sF%8Hl7lA`dMWcAew&A*(9&Teda(}LjlpTBM^NkR}MVHlX3opD=9vikG3 zFIlS#vi#}vl-rjiaSE7b-MP{Q%a9=1Y_+&&2HZIzn4K8sPdtR|zWGt1)AI|C)X3+& zUyOlqTBMx^1;HIs1qkkJZEz$aNS=MVpzH4yj^e?9%TBTN#o|B`sz_$D - - + + + + + + diff --git a/app/src/main/res/layout/find_moban.xml b/app/src/main/res/layout/find_moban.xml index 77d9ef6..fecc7c9 100644 --- a/app/src/main/res/layout/find_moban.xml +++ b/app/src/main/res/layout/find_moban.xml @@ -1,6 +1,72 @@ + android:layout_height="180dp"> + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_find.xml b/app/src/main/res/layout/fragment_find.xml index 2ddca6b..6fb89a6 100644 --- a/app/src/main/res/layout/fragment_find.xml +++ b/app/src/main/res/layout/fragment_find.xml @@ -76,6 +76,7 @@ app:layout_constraintStart_toStartOf="parent"> + diff --git a/app/src/main/res/layout/shopping_trolley_moban.xml b/app/src/main/res/layout/shopping_trolley_moban.xml new file mode 100644 index 0000000..95dd7f0 --- /dev/null +++ b/app/src/main/res/layout/shopping_trolley_moban.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file