diff --git a/app/build.gradle b/app/build.gradle
index 4a7ec58..e270a87 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -23,7 +23,7 @@ android {
defaultConfig {
applicationId "com.hjx.parent"
- minSdk 24
+ minSdk 26
targetSdk 32
versionCode 1005
versionName "1.0.0.5"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0e5e222..79761ab 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -157,6 +157,7 @@
+
{
+
+ private String id;
+ private int type; // 0:周 1:阶段
+ private Student student;
+
+ private StDetail mData;
+
+ final String indent = " ";
+
+ private boolean a4 = false;
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ binding.root.postDelayed(() -> {
+ float scale = 1f * binding.getRoot().getWidth() / binding.root.getWidth();
+ if (scale >= 1) return;
+ binding.root.setScaleX(scale);
+ binding.root.setScaleY(scale);
+ }, 100);
+ }
+
+ @SuppressLint("CheckResult")
+ @Override
+ public void initView(Bundle savedInstanceState) {
+ id = getIntent().getStringExtra("id");
+ type = getIntent().getIntExtra("type", 0);
+ student = (Student) getIntent().getSerializableExtra("student");
+
+ if (type == 1) binding.tvTitle.setText("阶段作业学习总结");
+
+ Glide.with(this).load(student.photo).into(binding.ivAvatar);
+ binding.tvStuName.setText(student.stuName);
+
+ setupChart();
+ NetWorks.service_url.getHuyouDetail(NetWorks.getHeader(), id)
+ .subscribeOn(Schedulers.io())
+ .map(response -> response.getData())
+ .map(data -> {
+ if (type == 1) data.formatCollection();
+ return data;
+ })
+ .observeOn(AndroidSchedulers.mainThread())
+ .compose(RxLifecycleAndroid.bindActivity(getRxLifecycle()))
+ .subscribe((data, th) -> {
+ mData = data;
+ if (th != null) th.printStackTrace();
+ if (data != null) showData(data);
+ });
+
+ binding.btnShare.setOnClickListener(v -> {
+ Uri shareUri = prepareShare();
+ if (shareUri != null) {
+ Intent shareIntent = new Intent(Intent.ACTION_SEND);
+ shareIntent.setType("image/jpeg");
+ shareIntent.putExtra(Intent.EXTRA_STREAM, shareUri);
+ shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+
+ startActivity(shareIntent);
+ }
+ });
+
+ binding.btnSwitch.setOnClickListener(v -> {
+ switchPage();
+ });
+
+ }
+
+ private SimpleDateFormat getFormatWithGmt8(String pattern) {
+ SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.CHINA);
+ format.setTimeZone(TimeZone.getTimeZone("GMT+16"));
+ return format;
+ }
+
+ @SuppressLint("SetTextI18n")
+ private void showData(StDetail data) {
+ binding.tvGrade.setText(data.grade);
+ binding.tvSubject.setText(data.homeworkSubject);
+ String start = getFormatWithGmt8("yyyy.M.d").format(data.startTime);
+ String end = new SimpleDateFormat(" - M.d", Locale.CHINA).format(data.endTime);
+ binding.tvDate.setText(start + end);
+
+ if (data.points == null) data.points = new ArrayList<>();
+ if (data.points.size() == 0) {
+ binding.cpBefore.setValue(0);
+ binding.cpAfter.setValue(0);
+ binding.pgBefore.setText("0");
+ binding.pgAfter.setText("0");
+ } else {
+ float before = 0;
+ float after = 0;
+ for (StDetail.Point point: data.points) {
+ before += point.beforeState;
+ after += point.afterState;
+ }
+ before = (int) (100f * before / data.points.size() + 0.5f);
+ after = (int) (100f * after / data.points.size() + 0.5f);
+ binding.cpBefore.setValue(before);
+ binding.cpAfter.setValue(after);
+ DecimalFormat format = new DecimalFormat("0");
+ binding.pgBefore.setText(format.format(before));
+ binding.pgAfter.setText(format.format(after));
+
+ String comment;
+ if (after >= 90) {
+ comment = "知识点掌握的比较扎实,多练习多巩固掌握一般的知识点会有很大帮助。";
+ } else if (after >= 80) {
+ comment = "知识点掌握程度有进步,还要再继续学习,多练习,不断巩固。";
+ } else if (after >= 60) {
+ comment = "薄弱知识点还有进步空间,再多做一些类似题目来巩固知识点,继续努力。";
+ } else {
+ comment = "你的薄弱知识点还需要再深入了解,有不清楚的地方及时问老师,继续加油。";
+ }
+ String percent = new DecimalFormat("0%").format(after / 100);
+ String temp = indent + "通过学习,你的薄弱知识点掌握程度为 %s," + comment;
+ temp = String.format(temp, fromColor(percent, "#F24E38"));
+ binding.tvWeakRate.setText(Html.fromHtml(temp, Html.FROM_HTML_MODE_COMPACT));
+ }
+
+ binding.tvTotalRate.setText(new DecimalFormat("0").format(100f * data.correct / data.total));
+ binding.tvTotalCorrect.setText(String.valueOf(data.correct));
+ binding.tvTotalError.setText(String.valueOf(data.total - data.correct));
+ if (data.total == 0) {
+ binding.tvRating.setText("");
+ } else {
+ float rate = 100f * data.correct / data.total;
+ String comment;
+ if (rate >= 90) {
+ comment = "掌握程度比较优秀,你对知识的理解和运用能力非常强,这是你努力的结果。请继续保持这份优秀,在未来的学习中,可以继续挑战更难的题目,勇攀高峰。";
+ } else if (rate >= 80) {
+ comment = "掌握良好。接下来,跟随老师的学习规划,针对薄弱环节重点突破。加油,只要持之以恒,坚持下去,你一定会更加出色。";
+ } else if (rate >= 60) {
+ comment = "掌握程度一般。不过别灰心,你有提升的潜力。跟随老师的步伐,制定合理的学习计划,多做一些练习题来巩固知识。老师相信你一定可以做到。";
+ } else {
+ comment = "掌握程度较为薄弱。但不要放弃,这正是你奋起直追的好时机。认真分析自己的问题,从基础开始逐步提升。老师会一直支持你,只要你有决心,就没有克服不了的困难。";
+ }
+ String rateStr = new DecimalFormat("0%").format(rate / 100f);
+ String temp;
+ if (type == 0) {
+ temp = indent + "在本周作业中,你的综合正确率是 %s," + comment;
+ } else {
+ temp = indent + "你的综合正确率是 %s," + comment;
+ }
+ temp = String.format(temp, fromColor(rateStr, "#3BC3B6"));
+ binding.tvRating.setText(Html.fromHtml(temp, Html.FROM_HTML_MODE_COMPACT));
+ }
+
+ List entries = new ArrayList<>();
+ if (type == 0) {
+ entries.add(new Entry(1, data.mondayCorrection));
+ entries.add(new Entry(2, data.tuesdayCorrection));
+ entries.add(new Entry(3, data.wednesdayCorrection));
+ entries.add(new Entry(4, data.thursdayCorrection));
+ entries.add(new Entry(5, data.fridayCorrection));
+ } else {
+ for (int i = 0; i < data.correctionList.size(); i ++) {
+ StDetail.Correction c = data.correctionList.get(i);
+ entries.add(new Entry(i, c.correction));
+ }
+ XAxis xAxis = binding.lineChart.getXAxis();
+ xAxis.setLabelCount(Math.min(entries.size(), 5), true);
+ xAxis.setValueFormatter(new ValueFormatter() {
+ SimpleDateFormat format = new SimpleDateFormat("M.d", Locale.CHINA);
+ @Override
+ public String getFormattedValue(float value) {
+ int index = (int) value;
+ if (index < 0 || index >= data.correctionList.size()) return "";
+ Date date = data.correctionList.get(index).date;
+ return format.format(date);
+ }
+ });
+ }
+
+ LineDataSet set = new LineDataSet(entries, "");
+ set.setColor(0xFF3BC3B6);
+ set.setCircleColor(0xFF3BC3B6);
+ set.setDrawFilled(true);
+ set.setDrawCircles(type == 0 || entries.size() == 1);
+ set.setDrawValues(false);
+ set.setHighlightEnabled(false);
+ set.setDrawHighlightIndicators(false);
+ set.setFillDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.bg_line_chart_fill2, null));
+ binding.lineChart.setData(new LineData(set));
+ binding.lineChart.invalidate();
+
+ if (!data.points.isEmpty()) {
+ int exNo = 0, goodNo = 0, normalNo = 0, weakNo = 0;
+ float total = 0;
+ for (StDetail.Point point: data.points) {
+ total += point.afterState;
+ if (point.afterState >= 0.9) {
+ exNo ++;
+ } else if (point.afterState >= 0.8) {
+ goodNo ++;
+ } else if (point.afterState >= 0.6) {
+ normalNo ++;
+ } else {
+ weakNo ++;
+ }
+ }
+ binding.tvExcellent.setText(String.valueOf(exNo));
+ binding.tvGood.setText(String.valueOf(goodNo));
+ binding.tvNormal.setText(String.valueOf(normalNo));
+ binding.tvWeak.setText(String.valueOf(weakNo));
+
+ float exRate = 100f * exNo / data.points.size();
+ float goodRate = 100f * goodNo / data.points.size();
+ float normalRate = 100f * normalNo / data.points.size();
+ float weakRate = 100f * weakNo / data.points.size();
+ binding.cpGood.setValue(goodRate + normalRate + weakRate);
+ binding.cpNormal.setValue(normalRate + weakRate);
+ binding.cpWeak.setValue(weakRate);
+ binding.tvAvePoint.setText(new DecimalFormat("0").format(100f * total / data.points.size()));
+ }
+
+ List points = new ArrayList<>();
+ for (StDetail.Point point: data.points) {
+ if (point.beforeState < 1) points.add(point);
+ }
+ binding.tableRoot.setClipToOutline(true);
+ binding.rvPoint.setAdapter(new Adapter(points));
+ binding.tableRoot.setVisibility(points.isEmpty() ? View.GONE : View.VISIBLE);
+ binding.flPointDesc.setVisibility(points.isEmpty() ? View.GONE : View.VISIBLE);
+ binding.flEmptyPoints.setVisibility(points.isEmpty() ? View.VISIBLE : View.GONE);
+ }
+
+ private void setupChart() {
+ binding.lineChart.getLegend().setForm(Legend.LegendForm.NONE);
+ binding.lineChart.setScaleEnabled(false);
+ binding.lineChart.setTouchEnabled(false);
+ binding.lineChart.setDescription(null);
+ binding.lineChart.getAxisRight().setEnabled(false);
+ YAxis yAxis = binding.lineChart.getAxisLeft();
+ yAxis.setDrawAxisLine(false);
+ yAxis.setDrawGridLines(true);
+ yAxis.setGridColor(0xFFDDDDDD);
+ yAxis.setTextColor(0xFF333333);
+ if (type == 0) {
+ yAxis.setTextSize(16);
+ yAxis.setXOffset(16);
+ } else {
+ yAxis.setTextSize(13);
+ }
+ yAxis.setAxisMinimum(0);
+ yAxis.setAxisMaximum(1);
+ yAxis.setLabelCount(5, true);
+ yAxis.setValueFormatter(new ValueFormatter() {
+ @Override
+ public String getFormattedValue(float value) {
+ return new DecimalFormat("0%").format(value);
+ }
+ });
+
+ XAxis xAxis = binding.lineChart.getXAxis();
+ xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
+ xAxis.setDrawAxisLine(false);
+ xAxis.setDrawGridLines(false);
+ xAxis.setTextColor(0xFF333333);
+ xAxis.setTextSize(16);
+ xAxis.setYOffset(16);
+ if (type == 0) {
+ xAxis.setAxisMinimum(0.5f);
+ xAxis.setAxisMaximum(5.5f);
+ xAxis.setLabelCount(11, true);
+ xAxis.setValueFormatter(new ValueFormatter() {
+ @Override
+ public String getFormattedValue(float value) {
+ if (value == 1) {
+ return "周一";
+ } else if (value == 2) {
+ return "周二";
+ } else if (value == 3) {
+ return "周三";
+ } else if (value == 4) {
+ return "周四";
+ } else if (value == 5) {
+ return "周五";
+ }
+ return "";
+ }
+ });
+ } else {
+ xAxis.setTextSize(13);
+ }
+ }
+
+ private String fromColor(String str, String color) {
+ return String.format("%s", color, str);
+ }
+
+ private void switchPage() {
+ Intent intent = new Intent(getIntent());
+ intent.putExtra("a4", !a4);
+ startActivity(intent);
+ finish();
+ }
+
+ private Uri prepareShare() {
+ try {
+ binding.toolbar.setVisibility(View.INVISIBLE);
+ Bitmap bitmap = BitmapUtils.shotView(binding.root);
+ binding.toolbar.setVisibility(View.VISIBLE);
+
+ String fileName = student.stuName + "_周作业学习报告_" + System.currentTimeMillis();
+ return ContentUtil.saveBitmapToGallery(this, bitmap, fileName);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ protected ActivityHuyouDetailBinding getViewBinding() {
+ a4 = getIntent().getBooleanExtra("a4", false);
+ View view;
+ if (a4) view = getLayoutInflater().inflate(R.layout.activity_huyou_detail_a4, null);
+ else view = getLayoutInflater().inflate(R.layout.activity_huyou_detail, null);
+ return ActivityHuyouDetailBinding.bind(view);
+ }
+
+ public static class Adapter extends BaseQuickAdapter {
+
+ public Adapter(@Nullable List data) {
+ super(R.layout.item_huyou_point, data);
+ }
+
+ @Override
+ protected void convert(@NonNull BaseViewHolder holder, StDetail.Point point) {
+ DecimalFormat format1 = new DecimalFormat("0%");
+ DecimalFormat format2 = new DecimalFormat("0");
+ holder.setText(R.id.tvName, point.pointName);
+ holder.setText(R.id.tvBefore, format1.format(point.beforeState));
+ holder.setText(R.id.tvAfter, format1.format(point.afterState));
+ holder.setText(R.id.tvGap, format2.format(point.gap * 100));
+ holder.setGone(R.id.ivFlag, getData().indexOf(point) == 0);
+ holder.getView(R.id.tvName).setTooltipText(point.pointName);
+
+ TextView before = holder.getView(R.id.tvBeforeState);
+ TextView after = holder.getView(R.id.tvAfterState);
+
+ if (point.beforeState >= 0.9) {
+ before.setText("掌握优秀");
+ before.setBackgroundTintList(ColorStateList.valueOf(0xFF4FBB7A));
+ } else if (point.beforeState >= 0.8) {
+ before.setText("掌握良好");
+ before.setBackgroundTintList(ColorStateList.valueOf(0xFF489AFA));
+ } else if (point.beforeState >= 0.6) {
+ before.setText("掌握一般");
+ before.setBackgroundTintList(ColorStateList.valueOf(0xFFF58725));
+ } else {
+ before.setText("掌握薄弱");
+ before.setBackgroundTintList(ColorStateList.valueOf(0xFFEA5127));
+ }
+ if (point.afterState >= 0.9) {
+ after.setText("掌握优秀");
+ after.setBackgroundTintList(ColorStateList.valueOf(0xFF4FBB7A));
+ } else if (point.afterState >= 0.8) {
+ after.setText("掌握良好");
+ after.setBackgroundTintList(ColorStateList.valueOf(0xFF489AFA));
+ } else if (point.afterState >= 0.6) {
+ after.setText("掌握一般");
+ after.setBackgroundTintList(ColorStateList.valueOf(0xFFF58725));
+ } else {
+ after.setText("掌握薄弱");
+ after.setBackgroundTintList(ColorStateList.valueOf(0xFFEA5127));
+ }
+
+ holder.setText(R.id.tvHuyou, format1.format(point.correctness));
+ }
+
+ }
+
+}
diff --git a/app/src/main/java/com/hjx/parent/StuHomeworkActivity.java b/app/src/main/java/com/hjx/parent/StuHomeworkActivity.java
index bf705e4..9ad4906 100644
--- a/app/src/main/java/com/hjx/parent/StuHomeworkActivity.java
+++ b/app/src/main/java/com/hjx/parent/StuHomeworkActivity.java
@@ -131,10 +131,21 @@ public class StuHomeworkActivity extends BaseRxActivity goHuyou(data, 0);
+ stageAdapter.detailCall = data -> goHuyou(data, 1);
+
getWeekHuyou();
getStageHuyou();
}
+ private void goHuyou(StDetail data, int type) {
+ Intent intent = new Intent(this, HuyouDetailActivity.class);
+ intent.putExtra("id", data.id);
+ intent.putExtra("type", type);
+ intent.putExtra("student", state.student);
+ startActivity(intent);
+ }
+
@Override
protected void onStart() {
super.onStart();
@@ -422,6 +433,7 @@ public class StuHomeworkActivity extends BaseRxActivity {
public Function1 deleteCall;
+ public Function1 detailCall;
public Student student;
public HuyouAdapter(@Nullable List data) {
@@ -458,6 +470,14 @@ public class StuHomeworkActivity extends BaseRxActivity {
+ if (deleteCall != null) deleteCall.invoke(data);
+ });
+ btnDetail.setOnClickListener(v -> {
+ if (detailCall != null) detailCall.invoke(data);
+ });
}
private SimpleDateFormat getFormatWithGmt8(String pattern) {
diff --git a/app/src/main/res/drawable/bg_circle.xml b/app/src/main/res/drawable/bg_circle.xml
new file mode 100644
index 0000000..4efebc7
--- /dev/null
+++ b/app/src/main/res/drawable/bg_circle.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_huyou_a4.xml b/app/src/main/res/drawable/bg_huyou_a4.xml
new file mode 100644
index 0000000..4b2127d
--- /dev/null
+++ b/app/src/main/res/drawable/bg_huyou_a4.xml
@@ -0,0 +1,12 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_huyou_table_bg.xml b/app/src/main/res/drawable/bg_huyou_table_bg.xml
new file mode 100644
index 0000000..9ef3584
--- /dev/null
+++ b/app/src/main/res/drawable/bg_huyou_table_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_hy_analyse_title.xml b/app/src/main/res/drawable/bg_hy_analyse_title.xml
new file mode 100644
index 0000000..f447bf6
--- /dev/null
+++ b/app/src/main/res/drawable/bg_hy_analyse_title.xml
@@ -0,0 +1,17 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_hy_point_title.xml b/app/src/main/res/drawable/bg_hy_point_title.xml
new file mode 100644
index 0000000..8ecbd9c
--- /dev/null
+++ b/app/src/main/res/drawable/bg_hy_point_title.xml
@@ -0,0 +1,17 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_hy_summary_title.xml b/app/src/main/res/drawable/bg_hy_summary_title.xml
new file mode 100644
index 0000000..d59299c
--- /dev/null
+++ b/app/src/main/res/drawable/bg_hy_summary_title.xml
@@ -0,0 +1,17 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_hy_weak_title.xml b/app/src/main/res/drawable/bg_hy_weak_title.xml
new file mode 100644
index 0000000..672bc2d
--- /dev/null
+++ b/app/src/main/res/drawable/bg_hy_weak_title.xml
@@ -0,0 +1,17 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_line_chart_fill2.xml b/app/src/main/res/drawable/bg_line_chart_fill2.xml
new file mode 100644
index 0000000..cd16f0d
--- /dev/null
+++ b/app/src/main/res/drawable/bg_line_chart_fill2.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/png_huyou_logo.png b/app/src/main/res/drawable/png_huyou_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e520203ed9216fbd760211d443f1ae9c5e920ac
GIT binary patch
literal 26495
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