(我就定我以前的帖子,保存,加载一些问题)
我保存一些数据(MYDATA)和日期作为字符串(dates_Strings)。
在图中的活动我加载数据和dates.And我转换dates_Strings为日期,以便在情节使用它们。
现在,虽然在13年10月5日进入例如“1”的一些数据,“2”,“3”,我得到了下面的图片。
所有好直到现在。
如果我尝试在其他日期(13/05/13)我得到这个图像输入一些更多的数据(“3,4,7”)。
日期重叠。
在MainActivity:
代码:
//copy the dates_asString to date (Dates) in order to use them in TimeSeries
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy",Locale.US);
Date convertedDate;
try{
for (int k=0;k<mydata.size();k++){
convertedDate = formatter.parse(dates_Strings.get(k));
date.clear();
date.add(convertedDate);
Log.d("line","convertedDate :"+convertedDate);
}
}catch ...
//TimeSeries series = new TimeSeries("Showing data");
//for (int i=0;i<mydata.size();i++){
// series.add(i,mydata.get(i));
//}
XYSeries series = new XYSeries("Showing data");
for (int i=0;i<mydata.size();i++){
series.add(i,mydata.get(i));
}
XYMultipleSeriesDataset dataset=new XYMultipleSeriesDataset();
dataset.addSeries(series);
XYSeriesRenderer renderer =new XYSeriesRenderer();
renderer.setColor(Color.YELLOW);
...
XYMultipleSeriesRenderer mRenderer =new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
...
mRenderer.setXRoundedLabels(false);
mRenderer.setXLabels(0);
//mRenderer.setXAxisMax(mydata.size());
for (int i=0;i<mydata.size();i++){
mRenderer.addXTextLabel(i,dates_Strings.get(i));
}
我把setXAxisMax值14/05/2013,我在10/05和13/05例如输入的数据。
当我使用setXAxisMin的情节完全是空的。
如果我不使用setXAxisMax出现另一个奇怪的问题。 我输入“1”和“2”作为数据,但图示出了“2”的两个点(第二数据)。 :
------------------ UPDATE ------------------------------- ---------
好吧,我想在文件中保存数据时的问题所在。
用户在一个EditText字段中输入一些数据(MYDATA),然后按下保存按钮,其与当前的日期一起保存该数据。
例如,用户输入“1”,并按下“保存”。
用户输入“2”,并按下“保存”。
所以,我在同一天(13年8月5日)的数据“1”和“2”。
我想保存的时间的一个实例(因为它是在同一日期),以便具有在x轴的一个点(日期)和在y轴的2点(1和2)。
我保存为:
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");
}
我认为某事像:
for (int i=1;i<mydata.size();i++){
bw.write(mydata.get(i)+",");
while (!(dates_Strings.get(i).equals(dates_Strings.get(i-1))))
bw.write(dates_Strings.get(i)+"\n");
}
但它仅保存最后输入的数据..