From 8cf0eb6a07dc71103442e9551c41f871da702812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=AA=E7=9D=A1=E7=9A=84=E6=B0=B4=E7=93=B6?= Date: Fri, 25 Nov 2022 13:12:23 +0800 Subject: [PATCH] 1 --- .../com/tanshui/timeuse/CheckboxAdapter.java | 15 +- .../java/com/tanshui/timeuse/PieInfo.java | 50 +++++- .../java/com/tanshui/timeuse/ViewHolder.java | 2 - .../java/com/tanshui/timeuse/appTime.java | 30 ++-- .../java/com/tanshui/timeuse/appTimeUse.java | 18 +-- .../timeuse/database/timeUseDBHelper.java | 3 +- .../com/tanshui/timeuse/fragment/today.java | 55 +++---- .../com/tanshui/timeuse/fragment/week.java | 78 +++++----- .../tanshui/timeuse/fragment/yesterday.java | 43 +++--- .../main/java/com/tanshui/timeuse/report.java | 18 +-- .../timeuse/software_classification.java | 71 ++++----- .../java/com/tanshui/timeuse/task_add.java | 116 +++++++------- .../java/com/tanshui/timeuse/task_show.java | 146 ++++++++---------- .../com/tanshui/timeuse/util/PieChart.java | 23 ++- 14 files changed, 322 insertions(+), 346 deletions(-) diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/CheckboxAdapter.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/CheckboxAdapter.java index bb40d7b..031d3f7 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/CheckboxAdapter.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/CheckboxAdapter.java @@ -1,25 +1,18 @@ package com.tanshui.timeuse; -import android.content.ContentValues; + import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; -import android.widget.Button; -import android.widget.CheckBox; + import android.widget.CompoundButton; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.Switch; -import android.widget.TextView; -import android.widget.Toast; -import java.util.ArrayList; +import android.widget.Toast; import java.util.HashMap; import java.util.List; -import java.util.Map; + public class CheckboxAdapter extends BaseAdapter { private List> list; diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/PieInfo.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/PieInfo.java index 0503670..c62ffe8 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/PieInfo.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/PieInfo.java @@ -2,15 +2,55 @@ package com.tanshui.timeuse; public class PieInfo { - public float startAngle; // 开始绘制的角度 + private float startAngle; // 开始绘制的角度 - public float sweepAngle; // 扫过的角度 + private float sweepAngle; // 扫过的角度 - public int color; // 显示的颜色 + private int color; // 显示的颜色 - public float percent; // 所占百分比 + private float percent; // 所占百分比 - public boolean selected; // true为选中 + public float getStartAngle() { + return startAngle; + } + + public void setStartAngle(float startAngle) { + this.startAngle = startAngle; + } + + public float getSweepAngle() { + return sweepAngle; + } + + public void setSweepAngle(float sweepAngle) { + this.sweepAngle = sweepAngle; + } + + public int getColor() { + return color; + } + + public void setColor(int color) { + this.color = color; + } + + public float getPercent() { + return percent; + } + + public void setPercent(float percent) { + this.percent = percent; + } + + public boolean isSelected() { + return selected; + } + + public void setSelected(boolean selected) { + this.selected = selected; + } + + private boolean selected; // true为选中 public PieInfo(int color, float percent) { this.color = color; diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/ViewHolder.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/ViewHolder.java index 555f286..ff5e02c 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/ViewHolder.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/ViewHolder.java @@ -1,6 +1,5 @@ package com.tanshui.timeuse; -import android.widget.Button; import android.widget.CheckBox; import android.widget.TextView; @@ -9,5 +8,4 @@ public class ViewHolder { public TextView startTime=null; public TextView endTime=null; public CheckBox isFinished=null; - public Button deleteTask=null; } diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTime.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTime.java index 91f09bd..c9dfbf1 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTime.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTime.java @@ -12,13 +12,11 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; -import android.widget.Toast; import com.tanshui.timeuse.database.timeUseDBHelper; @@ -30,19 +28,17 @@ import java.util.Map; public class appTime extends AppCompatActivity { - private ArrayList mApplicationInfos; - private timeUseDBHelper dbHelper; - private List appInfoList; - private SimpleAdapter simpleAdapter; private ProgressDialog progressDialog; - private ArrayList> listItem; private String date; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_app_time); - + ArrayList mApplicationInfos; + timeUseDBHelper dbHelper; + List appInfoList; + SimpleAdapter simpleAdapter; dbHelper = timeUseDBHelper.getInstance(this); dbHelper.openWriteLink(); dbHelper.openReadLink(); @@ -76,7 +72,6 @@ public class appTime extends AppCompatActivity { }); mApplicationInfos=getAllAppInfo(this); - listItem = new ArrayList<>(); // 从早上8点开始监听 Calendar setBeginCal=Calendar.getInstance(); @@ -187,17 +182,14 @@ public class appTime extends AppCompatActivity { lv_app.setAdapter(simpleAdapter); // 显示app图标 - simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() { - @Override - public boolean setViewValue(View view, Object o, String s) { - if(view instanceof ImageView && o instanceof Drawable){ - - ImageView iv=(ImageView)view; - iv.setImageDrawable((Drawable)o); - return true; - } - else return false; + simpleAdapter.setViewBinder((view, o, s) -> { + if(view instanceof ImageView && o instanceof Drawable){ + + ImageView iv=(ImageView)view; + iv.setImageDrawable((Drawable)o); + return true; } + else return false; }); hideProgressDialog(); } diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTimeUse.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTimeUse.java index dccb411..6bc3b1d 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTimeUse.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/appTimeUse.java @@ -2,7 +2,6 @@ package com.tanshui.timeuse; import androidx.appcompat.app.AppCompatActivity; -import android.app.AppOpsManager; import android.app.ProgressDialog; import android.app.usage.UsageStats; import android.app.usage.UsageStatsManager; @@ -13,14 +12,14 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.provider.Settings; -import android.util.Log; + + import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; -import android.widget.Toast; + import com.tanshui.timeuse.database.timeUseDBHelper; import java.util.ArrayList; import java.util.Calendar; @@ -31,19 +30,18 @@ import java.util.Map; public class appTimeUse extends AppCompatActivity { - private ArrayList mApplicationInfos; - private timeUseDBHelper dbHelper; - private List appInfoList; - private SimpleAdapter simpleAdapter; + private ProgressDialog progressDialog; - private ArrayList> listItem; private String date; - + private ArrayList mApplicationInfos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_app_time_use); + ArrayList> listItem; + timeUseDBHelper dbHelper; + SimpleAdapter simpleAdapter; dbHelper = timeUseDBHelper.getInstance(this); dbHelper.openWriteLink(); dbHelper.openReadLink(); diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/database/timeUseDBHelper.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/database/timeUseDBHelper.java index 36f5096..11e93cc 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/database/timeUseDBHelper.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/database/timeUseDBHelper.java @@ -5,7 +5,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; -import android.util.Log; + import com.tanshui.timeuse.AppInfo; import com.tanshui.timeuse.taskInfo; @@ -19,7 +19,6 @@ public class timeUseDBHelper extends SQLiteOpenHelper { private static final String TABLE_UserList="UserList"; private static final String TABLE_appList="appList"; private static final String TABLE_appListYesterday="appListYesterday"; - private static final String TABLE_reportList="reportList"; private static final String TABLE_classifyList="classifyList"; private static final String TABLE_lastWeekList="lastWeekList"; private static final int DB_VERSION=1; diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/today.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/today.java index 414c7be..3f90f94 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/today.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/today.java @@ -2,13 +2,13 @@ package com.tanshui.timeuse.fragment; import android.graphics.Color; import android.os.Bundle; -import android.util.Log; + import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.LinearLayout; + import android.widget.TextView; -import android.widget.Toast; + import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; @@ -18,26 +18,27 @@ import com.tanshui.timeuse.PieInfo; import com.tanshui.timeuse.R; import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.taskInfo; -import com.tanshui.timeuse.util.ColorRandom; + import com.tanshui.timeuse.util.PieChart; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Calendar; + import java.util.Date; import java.util.List; public class today extends Fragment{ - private List pieInfoList=new ArrayList<>(); - private List appInfoList=new ArrayList<>(); - private List taskInfoList=new ArrayList<>(); - private timeUseDBHelper dbHepler; + @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_today, container, false); + List pieInfoList=new ArrayList<>(); + List appInfoList; + List taskInfoList; + timeUseDBHelper dbHepler; TextView btn1=view.findViewById(R.id.pie_btn1); TextView btn2=view.findViewById(R.id.pie_btn2); TextView btn3=view.findViewById(R.id.pie_btn3); @@ -167,11 +168,11 @@ public class today extends Fragment{ pie_chart1.startAnima(); long finalTotalTime = totalTime; btn1.setOnClickListener(v -> { - if (pieInfoList.get(0).selected) { - pieInfoList.get(0).selected = false; + if (pieInfoList.get(0).isSelected()) { + pieInfoList.get(0).setSelected(false); btn1.setText(topFive.get(0).getLabel()+" "+getTimeFromInt(topFive.get(0).getTimeLong())); } else { - pieInfoList.get(0).selected = true; + pieInfoList.get(0).setSelected(true); btn1.setText(topFive.get(0).getLabel()+" "+percentInstance.format((float)topFive.get(0).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -179,11 +180,11 @@ public class today extends Fragment{ pie_chart1.invalidate(); }); btn2.setOnClickListener(v -> { - if (pieInfoList.get(1).selected) { - pieInfoList.get(1).selected = false; + if (pieInfoList.get(1).isSelected()) { + pieInfoList.get(1).setSelected(false); btn2.setText(topFive.get(1).getLabel()+" "+getTimeFromInt(topFive.get(1).getTimeLong())); } else { - pieInfoList.get(1).selected = true; + pieInfoList.get(1).setSelected(true); btn2.setText(topFive.get(1).getLabel()+" "+percentInstance.format((float)topFive.get(1).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -191,11 +192,11 @@ public class today extends Fragment{ pie_chart1.invalidate(); }); btn3.setOnClickListener(v -> { - if (pieInfoList.get(2).selected) { - pieInfoList.get(2).selected = false; + if (pieInfoList.get(2).isSelected()) { + pieInfoList.get(2).setSelected(false); btn3.setText(topFive.get(2).getLabel()+" "+getTimeFromInt(topFive.get(2).getTimeLong())); } else { - pieInfoList.get(2).selected = true; + pieInfoList.get(2).setSelected(true); btn3.setText(topFive.get(2).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -203,11 +204,11 @@ public class today extends Fragment{ pie_chart1.invalidate(); }); btn4.setOnClickListener(v -> { - if (pieInfoList.get(3).selected) { - pieInfoList.get(3).selected = false; + if (pieInfoList.get(3).isSelected()) { + pieInfoList.get(3).setSelected(false); btn4.setText(topFive.get(3).getLabel()+" "+getTimeFromInt(topFive.get(3).getTimeLong())); } else { - pieInfoList.get(3).selected = true; + pieInfoList.get(3).setSelected(true); btn4.setText(topFive.get(3).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -215,11 +216,11 @@ public class today extends Fragment{ pie_chart1.invalidate(); }); btn5.setOnClickListener(v -> { - if (pieInfoList.get(4).selected) { - pieInfoList.get(4).selected = false; + if (pieInfoList.get(4).isSelected()) { + pieInfoList.get(4).setSelected(false); btn5.setText(topFive.get(4).getLabel()+" "+getTimeFromInt(topFive.get(4).getTimeLong())); } else { - pieInfoList.get(4).selected = true; + pieInfoList.get(4).setSelected(true); btn5.setText(topFive.get(4).getLabel()+" "+percentInstance.format((float)topFive.get(4).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -227,12 +228,12 @@ public class today extends Fragment{ pie_chart1.invalidate(); }); btn6.setOnClickListener(v -> { - if (pieInfoList.get(5).selected) { - pieInfoList.get(5).selected = false; + if (pieInfoList.get(5).isSelected()) { + pieInfoList.get(5).setSelected(false); btn6.setText("其他 "+getTimeFromInt((finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong()))); } else { - pieInfoList.get(5).selected = true; + pieInfoList.get(5).setSelected(true); btn6.setText("其他 "+percentInstance.format((float)(finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())/finalTotalTime)); } diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/week.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/week.java index 6aab5c5..6abb9b8 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/week.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/week.java @@ -24,7 +24,7 @@ import com.tanshui.timeuse.PieInfo; import com.tanshui.timeuse.R; import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.taskInfo; -import com.tanshui.timeuse.util.ColorRandom; + import com.tanshui.timeuse.util.PieChart; import com.tanshui.timeuse.util.dateList; @@ -42,15 +42,9 @@ import java.util.Map; import java.util.Set; public class week extends Fragment{ - private List pieInfoList=new ArrayList<>(); - private List pieInfoList1=new ArrayList<>(); - private List appInfoList=new ArrayList<>(); - private List taskInfoList=new ArrayList<>(); - private List taskInfoListWeek=new ArrayList<>(); + private timeUseDBHelper dbHepler; -// 折线图 - private LineChart line; - private LineChart line1; + @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -73,17 +67,25 @@ public class week extends Fragment{ PieChart pie_chart1=view.findViewById(R.id.week_pie_chart1); PieChart pie_chart2=view.findViewById(R.id.week_pie_chart2); + List pieInfoList=new ArrayList<>(); + List pieInfoList1=new ArrayList<>(); + List appInfoList; + List taskInfoList; + List taskInfoListWeek=new ArrayList<>(); dbHepler = timeUseDBHelper.getInstance(view.getContext()); dbHepler.openReadLink(); appInfoList=dbHepler.queryAllLastWeekInfo(); taskInfoList=dbHepler.queryAllTaskInfo(); +// 折线图 + LineChart line; + LineChart line1; // 获取今天和昨天日期 SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(System.currentTimeMillis()-1000*60*60*24); String yes=formatter.format(date); - date = new Date(System.currentTimeMillis()); - String today=formatter.format(date); +// date = new Date(System.currentTimeMillis()); +// String today=formatter.format(date); int todayNum=0; @@ -347,60 +349,60 @@ public class week extends Fragment{ line1.setData(lineData1); btn1.setOnClickListener(v -> { - if (pieInfoList.get(0).selected) { - pieInfoList.get(0).selected = false; + if (pieInfoList.get(0).isSelected()) { + pieInfoList.get(0).setSelected(false); } else { - pieInfoList.get(0).selected = true; + pieInfoList.get(0).setSelected(true); } pie_chart1.setData(pieInfoList); // 不执行动画 pie_chart1.invalidate(); }); btn2.setOnClickListener(v -> { - if (pieInfoList.get(1).selected) { - pieInfoList.get(1).selected = false; + if (pieInfoList.get(1).isSelected()) { + pieInfoList.get(1).setSelected(false); } else { - pieInfoList.get(1).selected = true; + pieInfoList.get(1).setSelected(true); } pie_chart1.setData(pieInfoList); // 不执行动画 pie_chart1.invalidate(); }); btn3.setOnClickListener(v -> { - if (pieInfoList.get(2).selected) { - pieInfoList.get(2).selected = false; + if (pieInfoList.get(2).isSelected()) { + pieInfoList.get(2).setSelected(false); } else { - pieInfoList.get(2).selected = true; + pieInfoList.get(2).setSelected(true); } pie_chart1.setData(pieInfoList); // 不执行动画 pie_chart1.invalidate(); }); btn4.setOnClickListener(v -> { - if (pieInfoList.get(3).selected) { - pieInfoList.get(3).selected = false; + if (pieInfoList.get(3).isSelected()) { + pieInfoList.get(3).setSelected(false); } else { - pieInfoList.get(3).selected = true; + pieInfoList.get(3).setSelected(true); } pie_chart1.setData(pieInfoList); // 不执行动画 pie_chart1.invalidate(); }); btn5.setOnClickListener(v -> { - if (pieInfoList.get(4).selected) { - pieInfoList.get(4).selected = false; + if (pieInfoList.get(4).isSelected()) { + pieInfoList.get(4).setSelected(false); } else { - pieInfoList.get(4).selected = true; + pieInfoList.get(4).setSelected(true); } pie_chart1.setData(pieInfoList); // 不执行动画 pie_chart1.invalidate(); }); btn6.setOnClickListener(v -> { - if (pieInfoList.get(5).selected) { - pieInfoList.get(5).selected = false; + if (pieInfoList.get(5).isSelected()) { + pieInfoList.get(5).setSelected(false); } else { - pieInfoList.get(5).selected = true; + pieInfoList.get(5).setSelected(true); } pie_chart1.setData(pieInfoList); // 不执行动画 @@ -425,30 +427,30 @@ public class week extends Fragment{ btn_study.setTextColor(Color.parseColor("#EE3B3B")); btn_life.setTextColor(Color.parseColor("#0033FF")); btn_fun.setOnClickListener(v -> { - if (pieInfoList1.get(0).selected) { - pieInfoList1.get(0).selected = false; + if (pieInfoList1.get(0).isSelected()) { + pieInfoList1.get(0).setSelected(false); } else { - pieInfoList1.get(0).selected = true; + pieInfoList1.get(0).setSelected(true); } pie_chart2.setData(pieInfoList1); // 不执行动画 pie_chart2.invalidate(); }); btn_study.setOnClickListener(v -> { - if (pieInfoList1.get(1).selected) { - pieInfoList1.get(1).selected = false; + if (pieInfoList1.get(1).isSelected()) { + pieInfoList1.get(1).setSelected(false); } else { - pieInfoList1.get(1).selected = true; + pieInfoList1.get(1).setSelected(true); } pie_chart2.setData(pieInfoList1); // 不执行动画 pie_chart2.invalidate(); }); btn_life.setOnClickListener(v -> { - if (pieInfoList1.get(2).selected) { - pieInfoList1.get(2).selected = false; + if (pieInfoList1.get(2).isSelected()) { + pieInfoList1.get(2).setSelected(false); } else { - pieInfoList1.get(2).selected = true; + pieInfoList1.get(2).setSelected(true); } pie_chart2.setData(pieInfoList1); // 不执行动画 diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/yesterday.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/yesterday.java index a46128b..ae5cdeb 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/yesterday.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/fragment/yesterday.java @@ -24,15 +24,16 @@ import java.util.Date; import java.util.List; public class yesterday extends Fragment { - private List pieInfoList=new ArrayList<>(); - private List appInfoList=new ArrayList<>(); - private List taskInfoList=new ArrayList<>(); + private timeUseDBHelper dbHelper; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_yesterday, container, false); + List pieInfoList=new ArrayList<>(); + List appInfoList; + List taskInfoList; dbHelper = timeUseDBHelper.getInstance(view.getContext()); dbHelper.openReadLink(); appInfoList=dbHelper.queryAllAppYesterdayInfo(); @@ -133,11 +134,11 @@ public class yesterday extends Fragment { pie_chart1.startAnima(); long finalTotalTime = totalTime; btn1.setOnClickListener(v -> { - if (pieInfoList.get(0).selected) { - pieInfoList.get(0).selected = false; + if (pieInfoList.get(0).isSelected()) { + pieInfoList.get(0).setSelected(false); btn1.setText(topFive.get(0).getLabel()+" "+getTimeFromInt(topFive.get(0).getTimeLong())); } else { - pieInfoList.get(0).selected = true; + pieInfoList.get(0).setSelected(true); btn1.setText(topFive.get(0).getLabel()+" "+percentInstance.format((float)topFive.get(0).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -145,11 +146,11 @@ public class yesterday extends Fragment { pie_chart1.invalidate(); }); btn2.setOnClickListener(v -> { - if (pieInfoList.get(1).selected) { - pieInfoList.get(1).selected = false; + if (pieInfoList.get(1).isSelected()) { + pieInfoList.get(1).setSelected(false); btn2.setText(topFive.get(1).getLabel()+" "+getTimeFromInt(topFive.get(1).getTimeLong())); } else { - pieInfoList.get(1).selected = true; + pieInfoList.get(1).setSelected(true); btn2.setText(topFive.get(1).getLabel()+" "+percentInstance.format((float)topFive.get(1).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -157,11 +158,11 @@ public class yesterday extends Fragment { pie_chart1.invalidate(); }); btn3.setOnClickListener(v -> { - if (pieInfoList.get(2).selected) { - pieInfoList.get(2).selected = false; + if (pieInfoList.get(2).isSelected()) { + pieInfoList.get(2).setSelected(false); btn3.setText(topFive.get(2).getLabel()+" "+getTimeFromInt(topFive.get(2).getTimeLong())); } else { - pieInfoList.get(2).selected = true; + pieInfoList.get(2).setSelected(true); btn3.setText(topFive.get(2).getLabel()+" "+percentInstance.format((float)topFive.get(2).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -169,11 +170,11 @@ public class yesterday extends Fragment { pie_chart1.invalidate(); }); btn4.setOnClickListener(v -> { - if (pieInfoList.get(3).selected) { - pieInfoList.get(3).selected = false; + if (pieInfoList.get(3).isSelected()) { + pieInfoList.get(3).setSelected(false); btn4.setText(topFive.get(3).getLabel()+" "+getTimeFromInt(topFive.get(3).getTimeLong())); } else { - pieInfoList.get(3).selected = true; + pieInfoList.get(3).setSelected(true); btn4.setText(topFive.get(3).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -181,11 +182,11 @@ public class yesterday extends Fragment { pie_chart1.invalidate(); }); btn5.setOnClickListener(v -> { - if (pieInfoList.get(4).selected) { - pieInfoList.get(4).selected = false; + if (pieInfoList.get(4).isSelected()) { + pieInfoList.get(4).setSelected(false); btn5.setText(topFive.get(4).getLabel()+" "+getTimeFromInt(topFive.get(4).getTimeLong())); } else { - pieInfoList.get(4).selected = true; + pieInfoList.get(4).setSelected(true); btn5.setText(topFive.get(4).getLabel()+" "+percentInstance.format((float)topFive.get(4).getTimeLong()/ finalTotalTime)); } pie_chart1.setData(pieInfoList); @@ -193,12 +194,12 @@ public class yesterday extends Fragment { pie_chart1.invalidate(); }); btn6.setOnClickListener(v -> { - if (pieInfoList.get(5).selected) { - pieInfoList.get(5).selected = false; + if (pieInfoList.get(5).isSelected()) { + pieInfoList.get(5).setSelected(true); btn6.setText("其他 "+getTimeFromInt((finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong()))); } else { - pieInfoList.get(5).selected = true; + pieInfoList.get(5).setSelected(true); btn6.setText("其他 "+percentInstance.format((float)(finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())/finalTotalTime)); } diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/report.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/report.java index 38740ba..0a256eb 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/report.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/report.java @@ -15,20 +15,15 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.Color; import android.os.Bundle; -import android.text.format.DateUtils; -import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; -import android.widget.Toast; import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.fragment.today; import com.tanshui.timeuse.fragment.week; import com.tanshui.timeuse.fragment.yesterday; -import com.tanshui.timeuse.util.ColorRandom; -import com.tanshui.timeuse.util.PieChart; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -39,12 +34,9 @@ import java.util.List; import java.util.Map; public class report extends AppCompatActivity { - private Button jump_appUse; - private Button jump_list; - private Button jump_report; - private View jump_appClassify; + private timeUseDBHelper dbHelper; - private List appInfoList; + //声明Tab的布局文件 private LinearLayout mTabYesterday; @@ -69,6 +61,10 @@ public class report extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_report); + Button jump_appUse; + Button jump_list; + View jump_appClassify; + List appInfoList; dbHelper=timeUseDBHelper.getInstance(this); dbHelper.openReadLink(); Intent intent=getIntent(); @@ -95,10 +91,8 @@ public class report extends AppCompatActivity { // date =String.format("%s-%s-%s", nowYear, nowMonth, nowDay); - TextView taskNumber=findViewById(R.id.taskNumber); jump_appUse = findViewById(R.id.jump_appUse2); jump_list=findViewById(R.id.jump_list2); - jump_report=findViewById(R.id.jump_report2); jump_appClassify =findViewById(R.id.jump_appClassify2); // XmlPullParser parser = report.this.getResources().getXml(R.layout.taskitem); // AttributeSet attributes = Xml.asAttributeSet(parser); diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/software_classification.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/software_classification.java index 52ddd14..cd9e301 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/software_classification.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/software_classification.java @@ -24,7 +24,6 @@ import java.util.List; public class software_classification extends AppCompatActivity { private final String[] appClassifyArray={"娱乐","学习","生活"}; - private List appName=new ArrayList<>(); private List appInfoList; private List allAppList=new ArrayList<>(); private String date; @@ -35,6 +34,7 @@ public class software_classification extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_software_classification); + List appName=new ArrayList<>(); timeUseDBHelper dbHelper = timeUseDBHelper.getInstance(this); dbHelper.openReadLink(); appInfoList = dbHelper.queryAllClassifyInfo(); @@ -107,57 +107,42 @@ public class software_classification extends AppCompatActivity { } }); - confirm.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Log.d("data",appInfo.getClassify()); - if(dbHelper.updateAppClassify(appInfo)>0) - Toast.makeText(software_classification.this, "修改应用分类成功", Toast.LENGTH_SHORT).show(); + confirm.setOnClickListener(v -> { + Log.d("data",appInfo.getClassify()); + if(dbHelper.updateAppClassify(appInfo)>0) + Toast.makeText(software_classification.this, "修改应用分类成功", Toast.LENGTH_SHORT).show(); // 刷新数据 - appInfoList =dbHelper.queryAllClassifyInfo(); - } + appInfoList =dbHelper.queryAllClassifyInfo(); }); // 点击按钮跳转 - jump_appUse.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(software_classification.this, appTimeUse.class); - intent.putExtra("date",date); - showProgressDialog("","正在加载"); - startActivity(intent); - } + jump_appUse.setOnClickListener(v -> { + Intent intent1 =new Intent(); + intent1.setClass(software_classification.this, appTimeUse.class); + intent1.putExtra("date",date); + showProgressDialog("","正在加载"); + startActivity(intent1); }); - jump_report.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(software_classification.this, report.class); - intent.putExtra("date",date); - showProgressDialog("","正在加载"); - startActivity(intent); - } + jump_report.setOnClickListener(v -> { + Intent intent12 =new Intent(); + intent12.setClass(software_classification.this, report.class); + intent12.putExtra("date",date); + showProgressDialog("","正在加载"); + startActivity(intent12); }); - jump_appClassify.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(software_classification.this, software_classification.class); - intent.putExtra("date",date); - showProgressDialog("","正在加载"); - startActivity(intent); - } + jump_appClassify.setOnClickListener(v -> { + Intent intent13 =new Intent(); + intent13.setClass(software_classification.this, software_classification.class); + intent13.putExtra("date",date); + showProgressDialog("","正在加载"); + startActivity(intent13); }); - jump_list.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(software_classification.this, task_show.class); - startActivity(intent); - } + jump_list.setOnClickListener(v -> { + Intent intent14 =new Intent(); + intent14.setClass(software_classification.this, task_show.class); + startActivity(intent14); }); } diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_add.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_add.java index a63d969..59bdf02 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_add.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_add.java @@ -18,27 +18,26 @@ import android.widget.Toast; import com.tanshui.timeuse.database.timeUseDBHelper; -import java.util.ArrayList; import java.util.Calendar; -import java.util.List; public class task_add extends AppCompatActivity { private EditText task_content; - private Button StartTime; - private Button EndTime; - private Button btn_down; - private Button btn_del; + private TextView tv_startTime; private TextView tv_endTime; private String decs; private timeUseDBHelper dbHelper; - private String date; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_task_add); - taskInfo task=new taskInfo(); + taskInfo task=new taskInfo(); + Button StartTime; + Button EndTime; + Button btn_down; + String date; task_content=findViewById(R.id.task_content); StartTime=findViewById(R.id.StartTime); EndTime=findViewById(R.id.EndTime); @@ -52,28 +51,22 @@ public class task_add extends AppCompatActivity { task.setFinished(false); task.setDate(date); - StartTime.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Dialog dia=new Dialog(task_add.this); - dia.create(); - Calendar time=Calendar.getInstance(); + StartTime.setOnClickListener(v -> { + Dialog dia=new Dialog(task_add.this); + dia.create(); + Calendar time=Calendar.getInstance(); // 显示时间选择器 - TimePickerDialog timeDialog=new TimePickerDialog(task_add.this, new TimePickerDialog.OnTimeSetListener() { - @Override - public void onTimeSet(TimePicker view, int hourOfDay, int minute) { - String min= Integer.toString(minute); - min=minute>=10?min:"0"+min; + TimePickerDialog timeDialog=new TimePickerDialog(task_add.this, (view, hourOfDay, minute) -> { + String min= Integer.toString(minute); + min=minute>=10?min:"0"+min; - decs = String.format("%s点%s分", hourOfDay, min); - task.setStartTime(decs); - task.setStartHour(hourOfDay); - task.setStartMin(minute); - tv_startTime.setText("任务开始时间:"+decs); - } - },time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE),true); - timeDialog.show(); - } + decs = String.format("%s点%s分", hourOfDay, min); + task.setStartTime(decs); + task.setStartHour(hourOfDay); + task.setStartMin(minute); + tv_startTime.setText("任务开始时间:"+decs); + },time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE),true); + timeDialog.show(); }); EndTime.setOnClickListener(new View.OnClickListener() { @@ -99,46 +92,43 @@ public class task_add extends AppCompatActivity { } }); - btn_down.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { + btn_down.setOnClickListener(v -> { - if(!task_content.getText().toString().isEmpty()){ - task.setContent(task_content.getText().toString()); - }else{ + if(!task_content.getText().toString().isEmpty()){ + task.setContent(task_content.getText().toString()); + }else{ // list为空,弹出提示 - AlertDialog.Builder builder = new AlertDialog.Builder(task_add.this); - builder.setTitle("标题"); - builder.setMessage("内容11111"); - builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - Toast.makeText(task_add.this, "确定", Toast.LENGTH_SHORT).show(); - } - }); - builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - Toast.makeText(task_add.this, "取消", Toast.LENGTH_SHORT).show(); - } - }); - AlertDialog alertDialog = builder.create(); - alertDialog.show(); - return; - } -// 将新增的任务添加到数据库 - if(dbHelper.insertTaskInfos(task)>0) - Toast.makeText(task_add.this,"添加任务成功",Toast.LENGTH_SHORT).show(); -// 延时1秒跳转页面 - new Handler().postDelayed(new Runnable() { + AlertDialog.Builder builder = new AlertDialog.Builder(task_add.this); + builder.setTitle("标题"); + builder.setMessage("内容11111"); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override - public void run() { - Intent intent=new Intent(task_add.this,task_show.class); - startActivity(intent); + public void onClick(DialogInterface dialog, int which) { + Toast.makeText(task_add.this, "确定", Toast.LENGTH_SHORT).show(); } - },1000); - + }); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Toast.makeText(task_add.this, "取消", Toast.LENGTH_SHORT).show(); + } + }); + AlertDialog alertDialog = builder.create(); + alertDialog.show(); + return; } +// 将新增的任务添加到数据库 + if(dbHelper.insertTaskInfos(task)>0) + Toast.makeText(task_add.this,"添加任务成功",Toast.LENGTH_SHORT).show(); +// 延时1秒跳转页面 + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + Intent intent1 =new Intent(task_add.this,task_show.class); + startActivity(intent1); + } + },1000); + }); } diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_show.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_show.java index f602954..68ca5a3 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_show.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/task_show.java @@ -62,7 +62,7 @@ public class task_show extends Activity { private ListView lv_task; private List taskInfos; private List appInfos; - private List classifyList; + private ArrayList> listItem; private SimpleAdapter adapter; private SQLiteDatabase write; @@ -74,11 +74,11 @@ public class task_show extends Activity { private NotificationManager notificationManager; private Notification notification; private Handler handler; + private List finishTask=new ArrayList<>(); private Runnable runnable; private Boolean f; private NotificationChannel channel; - private List finishTask=new ArrayList<>(); - private View jump_appClassify; + private ProgressDialog progressDialog; @Override @@ -87,7 +87,9 @@ public class task_show extends Activity { setContentView(R.layout.activity_task_show); // main_tabFragment main_tabFragment=new main_tabFragment(); // getSupportFragmentManager().beginTransaction().add(R.id.main_frame, main_tabFragment).show(main_tabFragment).commitAllowingStateLoss(); + List classifyList; + View jump_appClassify; textView = findViewById(R.id.tv); lv_task=findViewById(R.id.lv_task); changeDate = findViewById(R.id.changeDate); @@ -159,73 +161,58 @@ public class task_show extends Activity { // 点击按钮更改日期 - changeDate.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - DatePickerDialog dateDialog = new DatePickerDialog(task_show.this, - new DatePickerDialog.OnDateSetListener() { - @Override - public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { + changeDate.setOnClickListener(v -> { + DatePickerDialog dateDialog = new DatePickerDialog(task_show.this, + new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { // 更新日期选择器为新选的日期 - nowYear=year; - nowMonth=month+1; - nowDay=dayOfMonth; - String day=dayOfMonth>=10?dayOfMonth+"":"0"+dayOfMonth; - String months=month+1>=10?month+1+"":"0"+month+1; - decs = String.format("%s-%s-%s", year, months, day); - setList(); - textView.setText(decs); - } - }, - - nowYear, - nowMonth-1, - nowDay); - - dateDialog.show(); + nowYear=year; + nowMonth=month+1; + nowDay=dayOfMonth; + String day=dayOfMonth>=10?dayOfMonth+"":"0"+dayOfMonth; + String months=month+1>=10?month+1+"":"0"+month+1; + decs = String.format("%s-%s-%s", year, months, day); + setList(); + textView.setText(decs); + } + }, + + nowYear, + nowMonth-1, + nowDay); + + dateDialog.show(); - } }); // 点击按钮添加任务 - addTask.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(task_show.this, task_add.class); - intent.putExtra("date",decs); - startActivity(intent); - } + addTask.setOnClickListener(v -> { + Intent intent=new Intent(); + intent.setClass(task_show.this, task_add.class); + intent.putExtra("date",decs); + startActivity(intent); }); // 点击按钮跳转 - jump_appUse.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(task_show.this, appTimeUse.class); - intent.putExtra("date",decs); - showProgressDialog("","正在加载"); - startActivity(intent); - } + jump_appUse.setOnClickListener(v -> { + Intent intent=new Intent(); + intent.setClass(task_show.this, appTimeUse.class); + intent.putExtra("date",decs); + showProgressDialog("","正在加载"); + startActivity(intent); }); - jump_report.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(task_show.this, report.class); - intent.putExtra("date",decs); - showProgressDialog("","正在加载"); - startActivity(intent); - } + jump_report.setOnClickListener(v -> { + Intent intent=new Intent(); + intent.setClass(task_show.this, report.class); + intent.putExtra("date",decs); + showProgressDialog("","正在加载"); + startActivity(intent); }); - jump_appClassify.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(task_show.this, software_classification.class); - intent.putExtra("date",decs); - startActivity(intent); - } + jump_appClassify.setOnClickListener(v -> { + Intent intent=new Intent(); + intent.setClass(task_show.this, software_classification.class); + intent.putExtra("date",decs); + startActivity(intent); }); // CheckboxAdapter checkboxAdapter=new CheckboxAdapter(task_show.this,listItem); // lv_task.setAdapter(checkboxAdapter); @@ -388,26 +375,23 @@ public class task_show extends Activity { dialog_check = dialogView.findViewById(R.id.dialog_check); - dialog_delete.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AlertDialog.Builder builder1=new AlertDialog.Builder(task_show.this); - builder1.setMessage("确定删除?"); - builder1.setPositiveButton("确定", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - ContentValues values = new ContentValues(); - values.put("content" , dialog_edit.getText().toString()); - write.delete("taskList","content=?",new String[]{listItem.get(position).get("ItemContent").toString()}); - // 重新从数据库获取修改的数据 - taskInfos=dbHelper.queryAllTaskInfo(); - setList(); - Toast.makeText(task_show.this, "删除成功", Toast.LENGTH_SHORT).show(); - } - }); - builder1.setNegativeButton("取消", null); - builder1.show(); - } + dialog_delete.setOnClickListener(v -> { + AlertDialog.Builder builder1=new AlertDialog.Builder(task_show.this); + builder1.setMessage("确定删除?"); + builder1.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ContentValues values = new ContentValues(); + values.put("content" , dialog_edit.getText().toString()); + write.delete("taskList","content=?",new String[]{listItem.get(position).get("ItemContent").toString()}); + // 重新从数据库获取修改的数据 + taskInfos=dbHelper.queryAllTaskInfo(); + setList(); + Toast.makeText(task_show.this, "删除成功", Toast.LENGTH_SHORT).show(); + } + }); + builder1.setNegativeButton("取消", null); + builder1.show(); }); /*Dialog dialog = new MyDialog(PublishActivity.this,R.style.MyDialog); dialog.show();*/ diff --git a/src/timeUse/app/src/main/java/com/tanshui/timeuse/util/PieChart.java b/src/timeUse/app/src/main/java/com/tanshui/timeuse/util/PieChart.java index 47650a3..ee7f4f3 100644 --- a/src/timeUse/app/src/main/java/com/tanshui/timeuse/util/PieChart.java +++ b/src/timeUse/app/src/main/java/com/tanshui/timeuse/util/PieChart.java @@ -9,7 +9,6 @@ import android.graphics.RectF; import android.util.AttributeSet; import android.util.Log; import android.view.View; -import android.widget.Toast; import androidx.annotation.Nullable; @@ -68,21 +67,21 @@ public class PieChart extends View { return; } for (int i = 0; i < mPieModelList.size(); i++) { - if (mPieModelList.get(i).percent > 0) { + if (mPieModelList.get(i).getPercent() > 0) { // 如果当前角度在这个扇形中 - if (mAnimaAngle >= mPieModelList.get(i).startAngle && - mAnimaAngle <= (mPieModelList.get(i).startAngle + mPieModelList.get(i).sweepAngle)) { + if (mAnimaAngle >= mPieModelList.get(i).getStartAngle() && + mAnimaAngle <= (mPieModelList.get(i).getStartAngle() + mPieModelList.get(i).getSweepAngle())) { - drawColor(canvas, mPieModelList.get(i).color, mPieModelList.get(i).startAngle, mAnimaAngle - mPieModelList.get(i).startAngle); + drawColor(canvas, mPieModelList.get(i).getColor(), mPieModelList.get(i).getStartAngle(), mAnimaAngle - mPieModelList.get(i).getStartAngle()); } // 如果当前角度进入第二个扇形 - else if (mAnimaAngle >= (mPieModelList.get(i).startAngle + mPieModelList.get(i).sweepAngle)) { - drawColor(canvas, mPieModelList.get(i).color, mPieModelList.get(i).startAngle, mPieModelList.get(i).sweepAngle); + else if (mAnimaAngle >= (mPieModelList.get(i).getStartAngle() + mPieModelList.get(i).getSweepAngle())) { + drawColor(canvas, mPieModelList.get(i).getColor(), mPieModelList.get(i).getStartAngle(), mPieModelList.get(i).getSweepAngle()); } // 如果seleted为true,让该部分突出 - if (mPieModelList.get(i).selected) { - drawSelectedView(canvas, mPieModelList.get(i).color, mPieModelList.get(i).startAngle, mPieModelList.get(i).sweepAngle); + if (mPieModelList.get(i).isSelected()) { + drawSelectedView(canvas, mPieModelList.get(i).getColor(), mPieModelList.get(i).getStartAngle(), mPieModelList.get(i).getSweepAngle()); } } } @@ -129,11 +128,11 @@ public class PieChart extends View { for (int i = 0; i < mPieModelList.size(); i++) { PieInfo model = mPieModelList.get(i); if (i == 0) { - model.startAngle = 0; + model.setStartAngle(0); } else { - model.startAngle = mPieModelList.get(i - 1).startAngle + mPieModelList.get(i - 1).sweepAngle; + model.setStartAngle(mPieModelList.get(i - 1).getStartAngle() + mPieModelList.get(i - 1).getSweepAngle()); } - model.sweepAngle = (model.percent * 360); + model.setSweepAngle(model.getPercent() * 360); } }