3 import java.util.Calendar;
\r
4 import java.util.Date;
\r
5 import java.util.List;
\r
7 import org.afree.chart.AFreeChart;
\r
8 import org.afree.chart.ChartFactory;
\r
9 import org.afree.chart.plot.PlotOrientation;
\r
10 import org.afree.data.category.DefaultCategoryDataset;
\r
12 import android.content.Context;
\r
13 import android.content.Intent;
\r
14 import android.os.Bundle;
\r
15 import android.view.View;
\r
16 import android.view.View.OnClickListener;
\r
17 import android.widget.Button;
\r
18 import android.widget.TextView;
\r
20 import com.td.db.History;
\r
21 import com.td.db.HistoryDao;
\r
22 import com.td.utility.BaseActivity;
\r
23 import com.td.utility.DateUtil;
\r
24 import com.td.utility.Debug;
\r
25 import com.td.utility.EditPrefUtil;
\r
27 public class HistoryActivity extends BaseActivity {
\r
28 public static final String PREF_HIS_YEAR = "HIS_YEAR";
\r
29 public static final String PREF_HIS_MONTH = "HIS_MONTH";
\r
30 public static final String PREF_HIS_DAY = "HIS_DAY";
\r
31 public static final String PREF_HIS_YMD_POS = "HIS_YMD_POS";
\r
33 public static final String PREF_HIS_ST_HOUR = "HIS_ST_HOUR";
\r
34 public static final String PREF_HIS_ST_MINUTE = "HIS_ST_MINUTE";
\r
35 public static final String PREF_HIS_EN_HOUR = "HIS_EN_HOUR";
\r
36 public static final String PREF_HIS_EN_MINUTE = "HIS_EN_MINUTE";
\r
38 public static final String PREF_HIS_UNIT = "HIS_UNIT";
\r
40 public static final int[] unit = { 10, 30, 60 };
\r
42 private TextView textView1;
\r
43 private EditPrefUtil pref = new EditPrefUtil(this);
\r
45 private int prefYear;
\r
46 private int prefMonth;
\r
47 private int prefDay;
\r
48 private int prefYmdPos;
\r
49 private int prefUnit;
\r
51 private int prefStHour;
\r
52 private int prefStMinute;
\r
53 private int prefEnHour;
\r
54 private int prefEnMinute;
\r
56 private Date currentDate;
\r
59 public void onCreate(Bundle savedInstanceState) {
\r
60 super.onCreate(savedInstanceState);
\r
61 setContentView(R.layout.history);
\r
64 Button button1 = (Button) findViewById(R.id.button11);
\r
65 button1.setOnClickListener(new OnClickListener() {
\r
66 public void onClick(View view) {
\r
67 Intent intent = new Intent(HistoryActivity.this,
\r
68 (Class<?>) HistoryConfActivity.class);
\r
69 startActivityForResult(intent, -1);
\r
73 Button button2 = (Button) findViewById(R.id.button12);
\r
74 button2.setOnClickListener(new OnClickListener() {
\r
75 public void onClick(View view) {
\r
76 HistoryActivity.this.finish();
\r
80 textView1 = (TextView) findViewById(R.id.textView11);
\r
82 // HistoryDao dao = HistoryDao.getInstance();
\r
83 // // List<History> list = dao.search(this);
\r
84 // Calendar cal = Calendar.getInstance();
\r
85 // Date date = cal.getTime();
\r
86 // int ymd = DateUtil.getYmd(date);
\r
87 // List<History> list = dao.search(this, ymd, DateUtil.HM_MIN,
\r
88 // DateUtil.HM_MAX);
\r
90 // DefaultCategoryDataset dataset = new DefaultCategoryDataset();
\r
91 // for (History history : list) {
\r
92 // int period = history.getPeriod();
\r
94 // if (period > 0) {
\r
96 // // val = history.getNum() * 60 / period;
\r
97 // val = history.getNum();
\r
99 // int hm = history.getHm();
\r
100 // String text = (hm / 100) + ":" + (hm % 100);
\r
101 // String route = "<none>";
\r
102 // switch (history.getRouteId()) {
\r
104 // route = "
\8b\9e\95l
\93\8c\96k
\90ü";
\r
107 // route = "
\93\8c\8aC
\93¹
\90ü";
\r
110 // route = "
\8b\9e\8b}
\90ü";
\r
113 // Debug.d(this, route + " " + text + " " + val);
\r
114 // dataset.setValue(val, route, text);
\r
117 // AFreeChart chart = ChartFactory.createLineChart("
\82Â
\82Ô
\82â
\82«
\97\9a\97ð", "
\8e\9e\8d\8f",
\r
118 // "
\82Â
\82Ô
\82â
\82«
\90\94(
\89ñ/
\8e\9e)", dataset, PlotOrientation.VERTICAL, true,
\r
121 // HistoryView spcv = (HistoryView) findViewById(R.id.spcv);
\r
122 // spcv.setChart(chart);
\r
123 } catch (Exception e) {
\r
125 Debug.d(this, null, e);
\r
130 protected void onStart() {
\r
134 Calendar cal = Calendar.getInstance();
\r
135 Date date = cal.getTime();
\r
136 prefYear = pref.getInt(PREF_HIS_YEAR, date.getYear());
\r
137 prefMonth = pref.getInt(PREF_HIS_MONTH, date.getMonth());
\r
138 prefDay = pref.getInt(PREF_HIS_DAY, date.getDate());
\r
141 prefEnHour = pref.getInt(PREF_HIS_EN_HOUR, date.getHours());
\r
142 prefEnMinute = pref.getInt(PREF_HIS_EN_MINUTE, date.getMinutes());
\r
143 cal = Calendar.getInstance();
\r
144 cal.set(Calendar.HOUR_OF_DAY, prefEnHour);
\r
145 cal.set(Calendar.MINUTE, prefEnMinute);
\r
146 date = cal.getTime();
\r
147 cal.add(Calendar.HOUR, -H);
\r
148 Date startDate = cal.getTime();
\r
151 if (date.getDate() == startDate.getDate()) {
\r
152 hour = startDate.getHours();
\r
153 minute = startDate.getMinutes();
\r
155 prefStHour = pref.getInt(PREF_HIS_ST_HOUR, hour);
\r
156 prefStMinute = pref.getInt(PREF_HIS_ST_MINUTE, minute);
\r
159 prefYmdPos = pref.getInt(PREF_HIS_YMD_POS, M - 1);
\r
161 cal.add(Calendar.DATE, -(M - (prefYmdPos + 1)));
\r
162 currentDate = cal.getTime();
\r
164 prefUnit = pref.getInt(PREF_HIS_UNIT, 0);
\r
169 HistoryDao dao = HistoryDao.getInstance();
\r
170 // // List<History> list = dao.search(this);
\r
171 // Calendar cal = Calendar.getInstance();
\r
172 // Date date = cal.getTime();
\r
173 // int ymd = DateUtil.getYmd(date);
\r
175 // int ymd = (1900 + currentDate.getYear()) * 10000
\r
176 // + (currentDate.getMonth() + 1) * 100
\r
177 // + currentDate.getDate();
\r
178 // int from = prefStHour * 100 + prefStMinute;
\r
179 // int to = prefEnHour * 100 + prefEnMinute;
\r
180 int ymd = DateUtil.getYmd(currentDate.getYear(), currentDate.getMonth(), currentDate.getDate());
\r
181 int from = DateUtil.getHm(prefStHour, prefStMinute);
\r
182 int to = DateUtil.getHm(prefEnHour, prefEnMinute);
\r
183 List<History> list = dao.search(this, ymd, from, to);
\r
185 DefaultCategoryDataset dataset = new DefaultCategoryDataset();
\r
186 for (History history : list) {
\r
187 int period = history.getPeriod();
\r
191 // val = history.getNum() * 60 / period;
\r
192 val = history.getNum();
\r
194 int hm = history.getHm();
\r
196 //String text = (hm / 100) + ":" + (hm % 100);
\r
197 String text = DateUtil.formattedDate(hm);
\r
198 String route = "<none>";
\r
199 switch (history.getRouteId()) {
\r
201 route = "
\8b\9e\95l
\93\8c\96k
\90ü";
\r
204 route = "
\93\8c\8aC
\93¹
\90ü";
\r
207 route = "
\8b\9e\8b}
\90ü";
\r
210 Debug.d(this, route + " " + text + " " + val);
\r
211 dataset.setValue(val, route, text);
\r
214 AFreeChart chart = ChartFactory.createLineChart("
\82Â
\82Ô
\82â
\82«
\97\9a\97ð", "
\8e\9e\8d\8f",
\r
215 "
\82Â
\82Ô
\82â
\82«
\90\94(
\89ñ/
\8e\9e)", dataset, PlotOrientation.VERTICAL, true,
\r
218 HistoryView spcv = (HistoryView) findViewById(R.id.spcv);
\r
219 spcv.setChart(chart);
\r
221 String text = DateUtil.formattedDate(ymd, from, to);
\r
222 textView1.setText(text);
\r
224 } catch (Exception e) {
\r
226 Debug.d(this, null, e);
\r
230 public static void init(Context context) {
\r
231 EditPrefUtil pref = new EditPrefUtil(context);
\r
233 pref.remove(PREF_HIS_YEAR);
\r
234 pref.remove(PREF_HIS_MONTH);
\r
235 pref.remove(PREF_HIS_DAY);
\r
236 pref.remove(PREF_HIS_YMD_POS);
\r
238 pref.remove(PREF_HIS_ST_HOUR);
\r
239 pref.remove(PREF_HIS_ST_MINUTE);
\r
240 pref.remove(PREF_HIS_EN_HOUR);
\r
241 pref.remove(PREF_HIS_EN_MINUTE);
\r
243 pref.remove(PREF_HIS_UNIT);
\r