сохранить пользовательские данные в течение дня (в тот же день -> много пользовательских данных)
У меня есть приложение, где пользователь вводит данные в edittext и нажимает кнопку сохранения.
Нажав «Сохранить», я сохраняю в файл пользовательские данные (в одном столбце) и текущую дату (в другом столбце).
Затем я нажимаю другую кнопку и делаю график (используя achartengine) дату (ось X) (ось Y).
Таким образом, ввод данных в течение дня приводит к сохранению, например: «1» (пользовательские данные) -> 20.04.2013, «2» -> 20.04.2013, «3» -> 20.04.2013 ,
И на графике у меня есть 3 точки по оси Y (хорошо) и 3 точки по оси X (не хорошо).
Я хочу иметь одну точку на оси х, потому что данные были введены в тот же день.
Я сохраняю данные:
public void savefunc(){
SimpleDateFormat thedate = new SimpleDateFormat("dd/MM/yyyy");
Date d=new Date();
String formattedDate=thedate.format(d);
Log.d("tag","format"+formattedDate);
dates_Strings.add(formattedDate);
double thedata=Double.parseDouble(value.getText().toString().trim());
mydata.add(thedata);
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File (sdCard, "MyFiles");
directory.mkdirs();
File file = new File(directory, filename);
FileOutputStream fos;
//saving them
try {
fos = new FileOutputStream(file);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
for (int i=0;i<mydata.size();i++){
bw.write(mydata.get(i)+","+dates_Strings.get(i)+"\n");
}
...
Как я могу сохранить пользовательские данные в течение дня?
Может быть, некоторые проверить здесь:Date d=new Date();
? Чтобы проверить, если это тот же день.
Или здесь:bw.write(mydata.get(i)+","+dates_Strings.get(i)+"\n");
Но я не могу понять.
Например, я ввожу данные «1», «2», «3» в дату «20/4/2013».
Вот что я получаю сейчас, используя мой код:Вот что я получаю сейчас http://i35.tinypic.com/2rmsck5.png
Но мне нужен график, как показано ниже: данные, введенные в тот же день, должны быть собраны вместе:Это то, что я хочу http://i38.tinypic.com/255p5i9.png
---------------ОБНОВИТЬ---------------------------------- ----------------
mRenderer.setXLabels(0);
for (int i=0;i<mydata.size();i++){
mRenderer.addXTextLabel(i,dates_Strings.get(i));
Date lastDate=null;
String lastdate="";
try{
// the initial date
Date initialDate=formatter.parse(dates_Strings.get(mydata.size()-1));
Calendar c = Calendar.getInstance();
c.setTime(initialDate);
c.add(Calendar.DATE, 1); // increase date by one
lastDate =c.getTime();
}catch ...
}
mRenderer.setXAxisMax(lastDate.getTime());
mRenderer.addXTextLabel(i,dates_Strings.get(i));
}