diff --git a/.idea/misc.xml b/.idea/misc.xml
index 965af90..c1eb07d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -23,10 +23,11 @@
-
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 43d710f..d846309 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,22 +33,22 @@
tools:targetApi="31">
-
-
-
-
-
-
-
+ android:exported="true" >
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/android/activity/adapter/GoodsTypeAdapter.java b/app/src/main/java/com/android/activity/adapter/GoodsTypeAdapter.java
new file mode 100644
index 0000000..77498ef
--- /dev/null
+++ b/app/src/main/java/com/android/activity/adapter/GoodsTypeAdapter.java
@@ -0,0 +1,61 @@
+package com.android.activity.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.R;
+import com.android.bean.GoodsType;
+
+import java.util.List;
+
+public class GoodsTypeAdapter extends RecyclerView.Adapter {
+ private List goodsTypeList;
+ private Context context;
+ private int resourceId;
+ private ViewHolder holder;
+
+ public GoodsTypeAdapter(List goodsTypeList, Context context,int resourceId) {
+ this.goodsTypeList = goodsTypeList;
+ this.context = context;
+ this.resourceId = resourceId;
+ }
+
+ @NonNull
+ @Override
+ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context)
+ .inflate(resourceId,parent,false);
+ holder = new ViewHolder(view);
+ return holder;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+ GoodsType goodsType = goodsTypeList.get(position);
+ Log.d("1",goodsType.getType());
+ holder.textView.setText(goodsType.getType());
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return goodsTypeList.size();
+ }
+
+ public class ViewHolder extends RecyclerView.ViewHolder {
+ TextView textView;
+ public ViewHolder(@NonNull View itemView) {
+ super(itemView);
+
+ textView = itemView.findViewById(R.id.tv_goods_type_item);
+ }
+ }
+}
diff --git a/app/src/main/java/com/android/activity/fragment/HomePageFragment.java b/app/src/main/java/com/android/activity/fragment/HomePageFragment.java
index 96c9d35..1b0cf76 100644
--- a/app/src/main/java/com/android/activity/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/android/activity/fragment/HomePageFragment.java
@@ -3,22 +3,41 @@ package com.android.activity.fragment;
import android.content.Context;
import android.os.Bundle;
+import androidx.annotation.Nullable;
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.ArrayAdapter;
+import android.widget.Button;
import com.android.R;
+import com.android.activity.adapter.GoodsTypeAdapter;
+import com.android.bean.GoodsType;
+import com.android.bean.ResponseData;
+import com.android.model.goods.GoodsListener;
+import com.android.model.goods.GoodsModelimpl;
+
+import java.util.List;
/**
* A simple {@link Fragment} subclass.
*com.android.activity.fragment.HomePageFragment
* create an instance of this fragment.
*/
-public class HomePageFragment extends Fragment {
+public class HomePageFragment extends Fragment implements View.OnClickListener, GoodsListener {
private Context context = null;
+ private Button button;
+ private GoodsModelimpl goodsModelimpl;
+ private List goodsTypeList;
+ private GoodsTypeAdapter goodsTypeAdapter = null;
+ private RecyclerView recyclerView;
+ private View rootView;
+
@@ -32,14 +51,50 @@ public class HomePageFragment extends Fragment {
super.onCreate(savedInstanceState);
}
+ private void initGoodsTypeData() {
+ goodsModelimpl = new GoodsModelimpl();
+ goodsModelimpl.getAllGoodsType(this);
+
+ }
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
context = getActivity();
- View rootView = inflater.inflate(R.layout.fragment_home_page,
+ rootView = inflater.inflate(R.layout.fragment_home_page,
container, false);
+ Log.e("1","onCreateView");
+ initGoodsTypeData();
+
+
+
return rootView;
}
+
+
+
+ @Override
+ public void onGetAllGoodsType(ResponseData> responseData) {
+ this.goodsTypeList = responseData.getData();
+ initRecyclerview();
+
+
+ }
+
+ private void initRecyclerview() {
+ recyclerView = rootView.findViewById(R.id.lv_goodsType_list);
+
+ goodsTypeAdapter = new GoodsTypeAdapter(goodsTypeList,context,R.layout.list_good_stype_item);
+
+ LinearLayoutManager llm = new LinearLayoutManager(context);
+ recyclerView.setLayoutManager(llm);
+ recyclerView.setAdapter(goodsTypeAdapter);
+ }
+
+ @Override
+ public void onClick(View v) {
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/android/bean/Goods.java b/app/src/main/java/com/android/bean/Goods.java
new file mode 100644
index 0000000..1d68518
--- /dev/null
+++ b/app/src/main/java/com/android/bean/Goods.java
@@ -0,0 +1,143 @@
+package com.android.bean;
+
+import java.util.List;
+
+
+public class Goods {
+
+ private String addr;
+ private String appKey;
+ private String avatar;
+ private String content;
+ private String username;
+ private String typeName;
+ private Integer createTime;
+ private Integer id;
+ private Integer imageCode;
+ private Integer price;
+ private Integer status;
+ private Integer tUserId;
+ private Integer tuserId;
+ private Integer typeId;
+ private List array;
+
+ public String getAddr() {
+ return addr;
+ }
+
+ public void setAddr(String addr) {
+ this.addr = addr;
+ }
+
+ public String getAppKey() {
+ return appKey;
+ }
+
+ public void setAppKey(String appKey) {
+ this.appKey = appKey;
+ }
+
+ public String getAvatar() {
+ return avatar;
+ }
+
+ public void setAvatar(String avatar) {
+ this.avatar = avatar;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getTypeName() {
+ return typeName;
+ }
+
+ public void setTypeName(String typeName) {
+ this.typeName = typeName;
+ }
+
+ public Integer getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Integer createTime) {
+ this.createTime = createTime;
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getImageCode() {
+ return imageCode;
+ }
+
+ public void setImageCode(Integer imageCode) {
+ this.imageCode = imageCode;
+ }
+
+ public Integer getPrice() {
+ return price;
+ }
+
+ public void setPrice(Integer price) {
+ this.price = price;
+ }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public Integer gettUserId() {
+ return tUserId;
+ }
+
+ public void settUserId(Integer tUserId) {
+ this.tUserId = tUserId;
+ }
+
+ public Integer getTuserId() {
+ return tuserId;
+ }
+
+ public void setTuserId(Integer tuserId) {
+ this.tuserId = tuserId;
+ }
+
+ public Integer getTypeId() {
+ return typeId;
+ }
+
+ public void setTypeId(Integer typeId) {
+ this.typeId = typeId;
+ }
+
+ public List getArray() {
+ return array;
+ }
+
+ public void setArray(List array) {
+ this.array = array;
+ }
+}
diff --git a/app/src/main/java/com/android/bean/GoodsType.java b/app/src/main/java/com/android/bean/GoodsType.java
new file mode 100644
index 0000000..ff5e78b
--- /dev/null
+++ b/app/src/main/java/com/android/bean/GoodsType.java
@@ -0,0 +1,22 @@
+package com.android.bean;
+
+public class GoodsType {
+ private Integer id;
+ private String type;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+}
diff --git a/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java b/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java
new file mode 100644
index 0000000..9ab3c18
--- /dev/null
+++ b/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java
@@ -0,0 +1,20 @@
+package com.android.model.goods;
+
+import com.android.bean.GoodsType;
+import com.android.bean.ResponseData;
+
+import java.util.List;
+
+import io.reactivex.rxjava3.core.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Headers;
+
+public interface GoodsHttp_interface {
+ @GET("tran/goods/type")
+ @Headers({"appId:b34ac21286ae45938add627b418a4871",
+ "appSecret:67526def9de11d4a64f5e80e60ed3372eea69"})
+ Observable>> sendGetAllGoodsType();
+
+
+
+}
diff --git a/app/src/main/java/com/android/model/goods/GoodsListener.java b/app/src/main/java/com/android/model/goods/GoodsListener.java
new file mode 100644
index 0000000..5e3ff31
--- /dev/null
+++ b/app/src/main/java/com/android/model/goods/GoodsListener.java
@@ -0,0 +1,11 @@
+package com.android.model.goods;
+
+import com.android.bean.GoodsType;
+import com.android.bean.ResponseData;
+import com.android.bean.User;
+
+import java.util.List;
+
+public interface GoodsListener {
+ void onGetAllGoodsType(ResponseData> responseData);
+}
diff --git a/app/src/main/java/com/android/model/goods/GoodsModel.java b/app/src/main/java/com/android/model/goods/GoodsModel.java
new file mode 100644
index 0000000..7a92b1c
--- /dev/null
+++ b/app/src/main/java/com/android/model/goods/GoodsModel.java
@@ -0,0 +1,8 @@
+package com.android.model.goods;
+
+import com.android.model.login.LoginListener;
+
+public interface GoodsModel {
+ void getAllGoodsType(GoodsListener goodsListener);
+
+}
diff --git a/app/src/main/java/com/android/model/goods/GoodsModelimpl.java b/app/src/main/java/com/android/model/goods/GoodsModelimpl.java
new file mode 100644
index 0000000..849edc2
--- /dev/null
+++ b/app/src/main/java/com/android/model/goods/GoodsModelimpl.java
@@ -0,0 +1,64 @@
+package com.android.model.goods;
+
+import android.util.Log;
+
+import com.android.bean.GoodsType;
+import com.android.bean.ResponseData;
+import com.android.model.login.LoginListener;
+
+import java.util.List;
+
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+import retrofit2.Retrofit;
+import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class GoodsModelimpl implements GoodsModel{
+ private String TAG ="GoodsModelimpl";
+
+
+
+ @Override
+ public void getAllGoodsType(GoodsListener goodsListener) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://47.107.52.7:88/member/")
+ .addConverterFactory(GsonConverterFactory.create())
+ .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
+ .build();
+ GoodsHttp_interface httpInterface =
+ retrofit.create(GoodsHttp_interface.class);
+ Observable>> observable
+ = httpInterface.sendGetAllGoodsType();
+
+ observable
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull ResponseData> listResponseData) {
+ Log.e(TAG,listResponseData.getMsg());
+ goodsListener.onGetAllGoodsType(listResponseData);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+}
diff --git a/app/src/main/res/layout/fragment_home_page.xml b/app/src/main/res/layout/fragment_home_page.xml
index 445105c..cfe4e1e 100644
--- a/app/src/main/res/layout/fragment_home_page.xml
+++ b/app/src/main/res/layout/fragment_home_page.xml
@@ -5,10 +5,12 @@
android:layout_height="match_parent"
tools:context=".activity.fragment.HomePageFragment">
-
-
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_good_stype_item.xml b/app/src/main/res/layout/list_good_stype_item.xml
new file mode 100644
index 0000000..0063625
--- /dev/null
+++ b/app/src/main/res/layout/list_good_stype_item.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file