diff --git a/chengzi/app/build.gradle b/chengzi/app/build.gradle
index 397fde6..7b1a69e 100644
--- a/chengzi/app/build.gradle
+++ b/chengzi/app/build.gradle
@@ -26,6 +26,9 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+ buildFeatures {
+ viewBinding true
+ }
}
dependencies {
@@ -33,6 +36,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'
+ implementation 'androidx.navigation:navigation-fragment:2.4.1'
+ implementation 'androidx.navigation:navigation-ui:2.4.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
diff --git a/chengzi/app/src/main/AndroidManifest.xml b/chengzi/app/src/main/AndroidManifest.xml
index 6b8ebd1..8c7bd1f 100644
--- a/chengzi/app/src/main/AndroidManifest.xml
+++ b/chengzi/app/src/main/AndroidManifest.xml
@@ -6,27 +6,36 @@
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
- tools:replace="android:theme"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Chengzi"
+ tools:replace="android:theme"
tools:targetApi="31">
+
+
+
-
-
+ android:exported="true" >
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/java/com/example/chengzi/Adapter.java b/chengzi/app/src/main/java/com/example/chengzi/Adapter.java
new file mode 100644
index 0000000..ae3e07e
--- /dev/null
+++ b/chengzi/app/src/main/java/com/example/chengzi/Adapter.java
@@ -0,0 +1,69 @@
+package com.example.chengzi;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.example.chengzi.R;
+
+import java.util.List;
+
+public class Adapter extends BaseAdapter {
+ private List productCategory;
+ private LayoutInflater layoutInflater;
+ private int selectionPosition = -1;
+
+ public Adapter(List productCategory, Context context) {
+ this.productCategory = productCategory;
+ this.layoutInflater = LayoutInflater.from(context);
+ }
+
+ @Override
+ public int getCount() {
+ return productCategory.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return productCategory.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder viewHolder = null;
+ if (convertView == null) {
+ viewHolder = new ViewHolder();
+ convertView = layoutInflater.inflate(R.layout.category_title, null);
+ Log.i("adapts", "getView: " + convertView);
+ viewHolder.tv = convertView.findViewById(R.id.categor_titles);
+ convertView.setTag(viewHolder);
+ } else {
+ viewHolder = (ViewHolder) convertView.getTag();
+ }
+ viewHolder.tv.setText(productCategory.get(position));
+ if (selectionPosition == position) {
+ viewHolder.tv.setBackgroundColor(Color.YELLOW);
+ } else {
+ viewHolder.tv.setBackgroundColor(Color.WHITE);
+ }
+ return convertView;
+ }
+
+ public void setSelectedPosition(int position) {
+ this.selectionPosition = position;
+ }
+
+ class ViewHolder {
+ TextView tv;
+ }
+}
diff --git a/chengzi/app/src/main/java/com/example/chengzi/CategoryActivity.java b/chengzi/app/src/main/java/com/example/chengzi/CategoryActivity.java
new file mode 100644
index 0000000..2417251
--- /dev/null
+++ b/chengzi/app/src/main/java/com/example/chengzi/CategoryActivity.java
@@ -0,0 +1,228 @@
+package com.example.chengzi;
+
+import android.app.Activity;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ListView;
+
+import androidx.annotation.Nullable;
+
+import com.example.chengzi.R;
+import com.example.chengzi.Adapter;
+import com.example.chengzi.Product;
+import com.example.chengzi.SetDetailFragment;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class CategoryActivity extends Activity {
+ public OnChangeListener onchangedListener;
+ private List productList;
+ private List productCategory = new ArrayList<>();
+ private ListView titleList;
+ private Adapter adapter;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.content_category);
+ initData();
+ init();
+ SetDetailFragment fragment = new SetDetailFragment();
+ FragmentManager fragmentManager = getFragmentManager();
+ FragmentTransaction transaction = fragmentManager.beginTransaction();
+ transaction.replace(R.id.category_detail, fragment);
+ transaction.commit();
+ titleList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ adapter.setSelectedPosition(position);
+ adapter.notifyDataSetInvalidated();
+ if (onchangedListener != null) {
+ onchangedListener.changeText(productList.get(position));
+ }
+ }
+ });
+ /* titleList.setOnItemClickListener((parent, view, position, id) -> {
+ adapter.setSelectedPosition(position);
+ adapter.notifyDataSetInvalidated();
+ if (onchangedListener != null) {
+ onchangedListener.changeText(productList.get(position));
+ }
+ });
+*/
+ }
+
+ public void setOnChangeListener(OnChangeListener onChangeListener) {
+ this.onchangedListener = onChangeListener;
+ }
+
+ public interface OnChangeListener {
+ void changeText(Product product);
+ }
+
+ /**
+ * 初始化数据
+ */
+ private void initData() {
+ productList = new ArrayList<>();
+ productCategory.add("文学");
+ productCategory.add("都市");
+ productCategory.add("科幻");
+ productCategory.add("武侠");
+ productCategory.add("玄幻");
+ productCategory.add("悬疑");
+ Product product0 = new Product();
+ product0.setImageUrlId(R.drawable.huozhe);
+ product0.setProductName("活 着");
+ product0.setProductPrice(new BigDecimal("1"));
+
+ product0.setImageUrlId2(R.drawable.rensheng);
+ product0.setProductName2("人生");
+ product0.setProductPrice2(new BigDecimal("2"));
+
+ product0.setImageUrlId3(R.drawable.biancheng);
+ product0.setProductName3("边城");
+ product0.setProductPrice3(new BigDecimal("3"));
+
+ product0.setImageUrlId4(R.drawable.dumu);
+ product0.setProductName4("毒木圣经");
+ product0.setProductPrice4(new BigDecimal("4"));
+
+ product0.setImageUrlId5(R.drawable.xiyouji);
+ product0.setProductName5("西游记");
+ product0.setProductPrice5(new BigDecimal("5"));
+
+ Product product1 = new Product();
+ product1.setImageUrlId(R.drawable.zhuixu);
+ product1.setProductName("龙王赘婿");
+ product1.setProductPrice(new BigDecimal("1"));
+
+ product1.setImageUrlId2(R.drawable.xiaohua);
+ product1.setProductName2("校花的贴身高手");
+ product1.setProductPrice2(new BigDecimal("2"));
+
+ product1.setImageUrlId3(R.drawable.bingwang);
+ product1.setProductName3("绝世兵王");
+ product1.setProductPrice3(new BigDecimal("3"));
+
+ product1.setImageUrlId4(R.drawable.lenshao);
+ product1.setProductName4("亿万冷少惹不得");
+ product1.setProductPrice4(new BigDecimal("4"));
+
+ product1.setImageUrlId5(R.drawable.yiyi);
+ product1.setProductName5("都市开局奖励一亿亿");
+ product1.setProductPrice5(new BigDecimal("5"));
+
+
+ Product product2 = new Product();
+ product2.setImageUrlId(R.drawable.santi);
+ product2.setProductName("三体");
+ product2.setProductPrice(new BigDecimal("1"));
+
+ product2.setImageUrlId2(R.drawable.jiqiren);
+ product2.setProductName2("机器人短篇合集");
+ product2.setProductPrice2(new BigDecimal("2"));
+
+ product2.setImageUrlId3(R.drawable.shaqiu);
+ product2.setProductName3("沙丘6:圣殿沙丘");
+ product2.setProductPrice3(new BigDecimal("3"));
+
+ product2.setImageUrlId4(R.drawable.xuebeng);
+ product2.setProductName4("SNOW CRASH");
+ product2.setProductPrice4(new BigDecimal("4"));
+
+ product2.setImageUrlId5(R.drawable.yanjing);
+ product2.setProductName5("带上她的眼睛");
+ product2.setProductPrice5(new BigDecimal("5"));
+
+
+ productList.add(product0);
+ productList.add(product1);
+ productList.add(product2);
+
+ Product product3 = new Product();
+ product3.setImageUrlId(R.drawable.jl);
+ product3.setProductName("剑来");
+ product3.setProductPrice(new BigDecimal("1"));
+
+ product3.setImageUrlId2(R.drawable.xzhdx);
+ product3.setProductName2("雪中悍刀行");
+ product3.setProductPrice2(new BigDecimal("2"));
+
+ product3.setImageUrlId3(R.drawable.sdyxz);
+ product3.setProductName3("射雕英雄传");
+ product3.setProductPrice3(new BigDecimal("3"));
+
+ product3.setImageUrlId4(R.drawable.tlbb);
+ product3.setProductName4("天龙八部");
+ product3.setProductPrice4(new BigDecimal("4"));
+
+ product3.setImageUrlId5(R.drawable.yttlj);
+ product3.setProductName5("倚天屠龙记");
+ product3.setProductPrice5(new BigDecimal("5"));
+
+
+ Product product4 = new Product();
+ product4.setImageUrlId(R.drawable.zt);
+ product4.setProductName("遮天");
+ product4.setProductPrice(new BigDecimal("1"));
+
+ product4.setImageUrlId2(R.drawable.fts);
+ product4.setProductName2("伏天氏");
+ product4.setProductPrice2(new BigDecimal("2"));
+
+ product4.setImageUrlId3(R.drawable.wmsj);
+ product4.setProductName3("完美世界");
+ product4.setProductPrice3(new BigDecimal("3"));
+
+ product4.setImageUrlId4(R.drawable.sx);
+ product4.setProductName4("圣墟");
+ product4.setProductPrice4(new BigDecimal("4"));
+
+ product4.setImageUrlId5(R.drawable.tc);
+ product4.setProductName5("太初");
+ product4.setProductPrice5(new BigDecimal("5"));
+
+
+
+ Product product5 = new Product();
+ product5.setImageUrlId(R.drawable.xyrxdxs);
+ product5.setProductName("嫌疑人x的献身");
+ product5.setProductPrice(new BigDecimal("1"));
+
+ product5.setImageUrlId2(R.drawable.fyqm);
+ product5.setProductName2("法医秦明");
+ product5.setProductPrice2(new BigDecimal("2"));
+
+ product5.setImageUrlId3(R.drawable.tczzfzzy);
+ product5.setProductName3("天才在左疯子在右");
+ product5.setProductPrice3(new BigDecimal("3"));
+
+ product5.setImageUrlId4(R.drawable.ss);
+ product5.setProductName4("时生");
+ product5.setProductPrice4(new BigDecimal("4"));
+
+ product5.setImageUrlId5(R.drawable.xlz);
+ product5.setProductName5("心理罪");
+ product5.setProductPrice5(new BigDecimal("5"));
+
+ productList.add(product3);
+ productList.add(product4);
+ productList.add(product5);
+ }
+
+ /**
+ * 初始化组件
+ */
+ private void init() {
+ titleList = findViewById(R.id.category_title_list);
+ adapter = new Adapter(productCategory, CategoryActivity.this);
+ titleList.setAdapter(adapter);
+ }
+}
\ No newline at end of file
diff --git a/chengzi/app/src/main/java/com/example/chengzi/Product.java b/chengzi/app/src/main/java/com/example/chengzi/Product.java
new file mode 100644
index 0000000..0862945
--- /dev/null
+++ b/chengzi/app/src/main/java/com/example/chengzi/Product.java
@@ -0,0 +1,112 @@
+package com.example.chengzi;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+import java.math.BigDecimal;
+
+public class Product {
+
+ public String getProductName() {
+ return productName;
+ }
+ public Integer getImageUrlId() {
+ return imageUrlId;
+ }
+ public void setImageUrlId(Integer imageUrlId) {
+ this.imageUrlId = imageUrlId;
+ }
+ public void setProductName(String productName) {
+ this.productName = productName;
+ }
+
+ public BigDecimal getProductPrice() {
+ return productPrice;
+ }
+
+ public void setProductPrice(BigDecimal productPrice) {
+ this.productPrice = productPrice;
+ }
+
+ public String getProductName2() {
+ return productName2;
+ }
+ public Integer getImageUrlId2() {
+ return imageUrlId2;
+ }
+ public void setImageUrlId2(Integer imageUrlId2) {
+ this.imageUrlId2 = imageUrlId2;
+ }
+ public void setProductName2(String productName2) {
+ this.productName2 = productName2;
+ }
+
+ public BigDecimal getProductPrice2() {
+ return productPrice2;
+ }
+ public void setProductPrice2(BigDecimal productPrice2) {
+ this.productPrice2 = productPrice2;
+ }
+ public String getProductName3() {
+ return productName3;
+ }
+ public Integer getImageUrlId3() {
+ return imageUrlId3;
+ }
+ public void setImageUrlId3(Integer imageUrlId3) {
+ this.imageUrlId3 = imageUrlId3;
+ }
+ public void setProductName3(String productName3) {
+ this.productName3 = productName3;
+ }
+
+ public BigDecimal getProductPrice3() {
+ return productPrice3;
+ }
+ public void setProductPrice3(BigDecimal productPrice3) {
+ this.productPrice3 = productPrice3;
+ }
+
+ public String getProductName4() {
+ return productName4;
+ }
+ public Integer getImageUrlId4() {
+ return imageUrlId4;
+ }
+ public void setImageUrlId4(Integer imageUrlId4) {
+ this.imageUrlId4 = imageUrlId4;
+ }
+ public void setProductName4(String productName4) {
+ this.productName4 = productName4;
+ }
+
+ public BigDecimal getProductPrice4() {
+ return productPrice4;
+ }
+ public void setProductPrice4(BigDecimal productPrice4) {
+ this.productPrice4 = productPrice4;
+ }
+ public String getProductName5() {
+ return productName5;
+ }
+ public Integer getImageUrlId5() {
+ return imageUrlId5;
+ }
+ public void setImageUrlId5(Integer imageUrlId5) {
+ this.imageUrlId5 = imageUrlId5;
+ }
+ public void setProductName5(String productName5) {
+ this.productName5 = productName5;
+ }
+
+ public BigDecimal getProductPrice5() {
+ return productPrice5;
+ }
+ public void setProductPrice5(BigDecimal productPrice5) {
+ this.productPrice5 = productPrice5;
+ }
+
+ private Integer imageUrlId,imageUrlId2,imageUrlId3,imageUrlId4,imageUrlId5;
+ private String productName,productName2,productName3,productName4,productName5;
+ private BigDecimal productPrice,productPrice2,productPrice3,productPrice4,productPrice5;
+}
diff --git a/chengzi/app/src/main/java/com/example/chengzi/SetDetailFragment.java b/chengzi/app/src/main/java/com/example/chengzi/SetDetailFragment.java
new file mode 100644
index 0000000..3e2a147
--- /dev/null
+++ b/chengzi/app/src/main/java/com/example/chengzi/SetDetailFragment.java
@@ -0,0 +1,97 @@
+package com.example.chengzi;
+
+import android.annotation.SuppressLint;
+import android.app.Fragment;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.example.chengzi.R;
+import com.example.chengzi.CategoryActivity;
+import com.example.chengzi.Product;
+
+import java.util.Objects;
+
+public class SetDetailFragment extends Fragment {
+ private View view;
+ private ImageView imageView,imageView2,imageView3,imageView4,imageView5;
+ private TextView nameText, priceText,nameText2,priceText2,nameText3,priceText3,nameText4,priceText4
+ ,nameText5,priceText5;
+
+ @SuppressLint("SetTextI18n")
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ view = inflater.inflate(R.layout.category_detail_content, container, false);
+ if (view != null) {
+ init();
+ }
+ CategoryActivity categoryActivity = (CategoryActivity) getActivity();
+ categoryActivity.setOnChangeListener(new CategoryActivity.OnChangeListener() {
+ @Override
+ public void changeText(Product product) {
+ imageView.setBackgroundResource(product.getImageUrlId());
+ nameText.setText(product.getProductName());
+ priceText.setText(product.getProductPrice().toString());
+
+ imageView2.setBackgroundResource(product.getImageUrlId2());
+ nameText2.setText(product.getProductName2());
+ priceText2.setText(product.getProductPrice2().toString());
+
+ imageView3.setBackgroundResource(product.getImageUrlId3());
+ nameText3.setText(product.getProductName3());
+ priceText3.setText(product.getProductPrice3().toString());
+
+ imageView4.setBackgroundResource(product.getImageUrlId4());
+ nameText4.setText(product.getProductName4());
+ priceText4.setText(product.getProductPrice4().toString());
+
+ imageView5.setBackgroundResource(product.getImageUrlId5());
+ nameText5.setText(product.getProductName5());
+ priceText5.setText(product.getProductPrice5().toString());
+ }
+ });
+ /* Objects.requireNonNull(categoryActivity).setOnChangeListener(product -> {
+ Log.i("sss", "onCreateView: " + product.getProductName());
+ imageView.setBackgroundResource(product.getImageUrlId());
+ nameText.setText(product.getProductName());
+ priceText.setText(product.getProductPrice().toString());
+ });
+
+ */
+ return view;
+ }
+
+ /**
+ * 内容组件初始化
+ */
+ private void init() {
+ imageView = view.findViewById(R.id.category_product_image);
+ nameText = view.findViewById(R.id.category_product_name);
+ priceText = view.findViewById(R.id.category_product_price);
+
+ imageView2 = view.findViewById(R.id.category_product_image2);
+ nameText2 = view.findViewById(R.id.category_product_name2);
+ priceText2 = view.findViewById(R.id.category_product_price2);
+
+ imageView3 = view.findViewById(R.id.category_product_image3);
+ nameText3 = view.findViewById(R.id.category_product_name3);
+ priceText3 = view.findViewById(R.id.category_product_price3);
+
+ imageView4 = view.findViewById(R.id.category_product_image4);
+ nameText4 = view.findViewById(R.id.category_product_name4);
+ priceText4 = view.findViewById(R.id.category_product_price4);
+
+ imageView5 = view.findViewById(R.id.category_product_image5);
+ nameText5 = view.findViewById(R.id.category_product_name5);
+ priceText5 = view.findViewById(R.id.category_product_price5);
+ }
+
+}
\ No newline at end of file
diff --git a/chengzi/app/src/main/java/com/example/chengzi/userinformation.java b/chengzi/app/src/main/java/com/example/chengzi/userinformation.java
index 918d04f..8fb0525 100644
--- a/chengzi/app/src/main/java/com/example/chengzi/userinformation.java
+++ b/chengzi/app/src/main/java/com/example/chengzi/userinformation.java
@@ -26,6 +26,7 @@ public class userinformation extends AppCompatActivity {
TextView name_Text = (TextView) findViewById(R.id.user_name);
TextView sex_Text = (TextView) findViewById(R.id.user_sex);
TextView city_Text = (TextView) findViewById(R.id.user_city);
+ TextView book = (TextView) findViewById(R.id.book);
name_Text.setText(name);
sex_Text.setText(sex);
city_Text.setText(city);
@@ -38,5 +39,14 @@ public class userinformation extends AppCompatActivity {
startActivity(intent);
}
});
+ Button button2=(Button) findViewById(R.id.book);
+ button2.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent();
+ intent.setClass(userinformation.this,CategoryActivity.class);
+ startActivity(intent);
+ }
+ });
}
}
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/drawable/arrow_down.png b/chengzi/app/src/main/res/drawable/arrow_down.png
index ca01021..8b13ff9 100644
Binary files a/chengzi/app/src/main/res/drawable/arrow_down.png and b/chengzi/app/src/main/res/drawable/arrow_down.png differ
diff --git a/chengzi/app/src/main/res/drawable/biancheng.jpg b/chengzi/app/src/main/res/drawable/biancheng.jpg
new file mode 100644
index 0000000..a314e0b
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/biancheng.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/bingwang.jpg b/chengzi/app/src/main/res/drawable/bingwang.jpg
new file mode 100644
index 0000000..e61b21c
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/bingwang.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/book.png b/chengzi/app/src/main/res/drawable/book.png
new file mode 100644
index 0000000..604c5ea
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/book.png differ
diff --git a/chengzi/app/src/main/res/drawable/dumu.jpg b/chengzi/app/src/main/res/drawable/dumu.jpg
new file mode 100644
index 0000000..b8c6d09
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/dumu.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/fts.jpg b/chengzi/app/src/main/res/drawable/fts.jpg
new file mode 100644
index 0000000..e7e23e4
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/fts.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/fyqm.jpg b/chengzi/app/src/main/res/drawable/fyqm.jpg
new file mode 100644
index 0000000..f8c4cbc
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/fyqm.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/huozhe.jpg b/chengzi/app/src/main/res/drawable/huozhe.jpg
new file mode 100644
index 0000000..ca0c40e
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/huozhe.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/jiqiren.jpg b/chengzi/app/src/main/res/drawable/jiqiren.jpg
new file mode 100644
index 0000000..d29f6af
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/jiqiren.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/jl.jpg b/chengzi/app/src/main/res/drawable/jl.jpg
new file mode 100644
index 0000000..72729f9
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/jl.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/lenshao.jpg b/chengzi/app/src/main/res/drawable/lenshao.jpg
new file mode 100644
index 0000000..87d04cd
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/lenshao.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/rensheng.jpg b/chengzi/app/src/main/res/drawable/rensheng.jpg
new file mode 100644
index 0000000..aa53f56
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/rensheng.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/santi.jpg b/chengzi/app/src/main/res/drawable/santi.jpg
new file mode 100644
index 0000000..b4db76a
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/santi.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/sdyxz.jpg b/chengzi/app/src/main/res/drawable/sdyxz.jpg
new file mode 100644
index 0000000..d601cf4
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/sdyxz.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/shaqiu.jpg b/chengzi/app/src/main/res/drawable/shaqiu.jpg
new file mode 100644
index 0000000..1ce1137
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/shaqiu.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/ss.jpg b/chengzi/app/src/main/res/drawable/ss.jpg
new file mode 100644
index 0000000..6a73d5d
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/ss.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/sx.jpg b/chengzi/app/src/main/res/drawable/sx.jpg
new file mode 100644
index 0000000..9edebda
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/sx.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/tc.jpg b/chengzi/app/src/main/res/drawable/tc.jpg
new file mode 100644
index 0000000..1c8253e
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/tc.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/tczzfzzy.jpg b/chengzi/app/src/main/res/drawable/tczzfzzy.jpg
new file mode 100644
index 0000000..a3e2438
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/tczzfzzy.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/tlbb.jpg b/chengzi/app/src/main/res/drawable/tlbb.jpg
new file mode 100644
index 0000000..c9472eb
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/tlbb.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/wmsj.jpg b/chengzi/app/src/main/res/drawable/wmsj.jpg
new file mode 100644
index 0000000..00030b4
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/wmsj.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/xiaohua.jpg b/chengzi/app/src/main/res/drawable/xiaohua.jpg
new file mode 100644
index 0000000..a4ef521
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/xiaohua.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/xiyouji.jpg b/chengzi/app/src/main/res/drawable/xiyouji.jpg
new file mode 100644
index 0000000..2be2b14
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/xiyouji.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/xlz.png b/chengzi/app/src/main/res/drawable/xlz.png
new file mode 100644
index 0000000..00845d9
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/xlz.png differ
diff --git a/chengzi/app/src/main/res/drawable/xuebeng.jpg b/chengzi/app/src/main/res/drawable/xuebeng.jpg
new file mode 100644
index 0000000..6755eba
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/xuebeng.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/xyrxdxs.jpg b/chengzi/app/src/main/res/drawable/xyrxdxs.jpg
new file mode 100644
index 0000000..d932ab2
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/xyrxdxs.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/xzhdx.png b/chengzi/app/src/main/res/drawable/xzhdx.png
new file mode 100644
index 0000000..273305e
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/xzhdx.png differ
diff --git a/chengzi/app/src/main/res/drawable/yanjing.jpg b/chengzi/app/src/main/res/drawable/yanjing.jpg
new file mode 100644
index 0000000..d315b92
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/yanjing.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/yiyi.jpg b/chengzi/app/src/main/res/drawable/yiyi.jpg
new file mode 100644
index 0000000..dafaa3f
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/yiyi.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/yttlj.jpg b/chengzi/app/src/main/res/drawable/yttlj.jpg
new file mode 100644
index 0000000..be24cab
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/yttlj.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/zhuixu.jpg b/chengzi/app/src/main/res/drawable/zhuixu.jpg
new file mode 100644
index 0000000..143ad3b
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/zhuixu.jpg differ
diff --git a/chengzi/app/src/main/res/drawable/zt.png b/chengzi/app/src/main/res/drawable/zt.png
new file mode 100644
index 0000000..0bc5240
Binary files /dev/null and b/chengzi/app/src/main/res/drawable/zt.png differ
diff --git a/chengzi/app/src/main/res/layout/category_detail_content.xml b/chengzi/app/src/main/res/layout/category_detail_content.xml
new file mode 100644
index 0000000..a9fb5ef
--- /dev/null
+++ b/chengzi/app/src/main/res/layout/category_detail_content.xml
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/layout/category_title.xml b/chengzi/app/src/main/res/layout/category_title.xml
new file mode 100644
index 0000000..1656a3c
--- /dev/null
+++ b/chengzi/app/src/main/res/layout/category_title.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/layout/content_category.xml b/chengzi/app/src/main/res/layout/content_category.xml
new file mode 100644
index 0000000..2b56177
--- /dev/null
+++ b/chengzi/app/src/main/res/layout/content_category.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/layout/fragment_set_detail.xml b/chengzi/app/src/main/res/layout/fragment_set_detail.xml
new file mode 100644
index 0000000..274d9ec
--- /dev/null
+++ b/chengzi/app/src/main/res/layout/fragment_set_detail.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/layout/userinformation.xml b/chengzi/app/src/main/res/layout/userinformation.xml
index 54ce8e5..a989ef7 100644
--- a/chengzi/app/src/main/res/layout/userinformation.xml
+++ b/chengzi/app/src/main/res/layout/userinformation.xml
@@ -133,5 +133,15 @@
android:background="@drawable/button_login"
android:textColor="#FFFFFF"
android:text="返 回 登 录"/>
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/navigation/nav_graph.xml b/chengzi/app/src/main/res/navigation/nav_graph.xml
new file mode 100644
index 0000000..b3fc02b
--- /dev/null
+++ b/chengzi/app/src/main/res/navigation/nav_graph.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/values-land/dimens.xml b/chengzi/app/src/main/res/values-land/dimens.xml
new file mode 100644
index 0000000..22d7f00
--- /dev/null
+++ b/chengzi/app/src/main/res/values-land/dimens.xml
@@ -0,0 +1,3 @@
+
+ 48dp
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/values-w1240dp/dimens.xml b/chengzi/app/src/main/res/values-w1240dp/dimens.xml
new file mode 100644
index 0000000..d73f4a3
--- /dev/null
+++ b/chengzi/app/src/main/res/values-w1240dp/dimens.xml
@@ -0,0 +1,3 @@
+
+ 200dp
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/values-w600dp/dimens.xml b/chengzi/app/src/main/res/values-w600dp/dimens.xml
new file mode 100644
index 0000000..22d7f00
--- /dev/null
+++ b/chengzi/app/src/main/res/values-w600dp/dimens.xml
@@ -0,0 +1,3 @@
+
+ 48dp
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/values/dimens.xml b/chengzi/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..125df87
--- /dev/null
+++ b/chengzi/app/src/main/res/values/dimens.xml
@@ -0,0 +1,3 @@
+
+ 16dp
+
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/values/strings.xml b/chengzi/app/src/main/res/values/strings.xml
index 167df20..ec9c2b5 100644
--- a/chengzi/app/src/main/res/values/strings.xml
+++ b/chengzi/app/src/main/res/values/strings.xml
@@ -1,3 +1,14 @@
小橙子
+ CategoryActivity
+
+ First Fragment
+ Second Fragment
+ Next
+ Previous
+
+ Hello first fragment
+ Hello second fragment. Arg: %1$s
+
+ Hello blank fragment
\ No newline at end of file
diff --git a/chengzi/app/src/main/res/values/themes.xml b/chengzi/app/src/main/res/values/themes.xml
index 6b39e3d..28c0f87 100644
--- a/chengzi/app/src/main/res/values/themes.xml
+++ b/chengzi/app/src/main/res/values/themes.xml
@@ -13,4 +13,13 @@
- ?attr/colorPrimaryVariant
+
+
+
+
+
+
\ No newline at end of file