achartengine - nie można określić, jak używać dat jako osi x - zapisany plik jest pusty

Mam działanie, w którym biorę dane wejściowe z edycji tekstu i zapisuję je na liście.

Przechowuję również na liście aktualną datę.

Następnie naciskam przycisk zapisywania, który zapisuje powyższe.

Następnego dnia użytkownik wprowadzi więcej danych i zapisze i tak dalej.

Chcę utworzyć wykres z formatem daty osi X i osi y wartości, które wprowadził użytkownik.

W jednym działaniu mam:

...
String filename = "data.csv";    
List<Double> mydata=new ArrayList<Double>();
List<Date> mydate=new ArrayList<Date>();

....value=(EditText) findViewById(R.id.enter_data);
...
switch (v.getId()){
        case R.id.savebtn:
            savefunc();

            break;
        case R.id.graphicsbtn: 

            Intent i = new Intent();        
            i.setClassName(this,LineGraph.class.getName());                 
            this.startActivity(i);  
            break;

   public void savefunc(){

    SimpleDateFormat thedate = new SimpleDateFormat("dd/MM/yyyy"); 
    Date d=new Date();
    try{
     d=thedate.parse(filename);
    mydate.add(d);
    }
    catch  (ParseException e){
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    double thedata=Double.parseDouble(value.getText().toString().trim());
    mydata.add(thedata);
..
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
    for (int i=0;i<mydate.size();i++){
       bw.write(mydate.get(i)+","+mydata.get(i)+"\n");
   ...

W aktywności LineGraph:

public class LineGraph extends Activity {


    private static List<Date> date = new ArrayList<Date>();
private static List<Double> data = new ArrayList<Double>();

    public Intent getIntent(Context context){

           readfunc();

      TimeSeries series = new TimeSeries("Showing data");
    for (int i=0;i<date.size();i++){    
        series.add(date.get(i),data.get(i));    

    }

Funkcja odczytu:

public void readfunc(){

    SimpleDateFormat thedate = new SimpleDateFormat("dd/MM/yyyy"); 
    Date d=new Date();
    try{
     d=thedate.parse(filename);
    }
    catch.. 
    BufferedReader br = new BufferedReader(new InputStreamReader(fis));

         do {
             s = br.readLine();     
             if (s != null ){
                 String[] splitLine = s.split(",");
                 date.add(d);//Double.parseDouble(splitLine[0]));
                 data.add(Double.parseDouble(splitLine[1]));

Mam te problemy:

1) Otrzymany plik jest pusty (jakiś problem z datą, ponieważ działa metoda zapisywania i czytania z pliku).

2) Na ekranie wykresu pojawia się białe tło (oczywiście brak danych, ponieważ plik jest pusty), ale dlaczego białe tło? Używam tego samego kodu do innych celów i nie otrzymuję białego tła.

3) Nie wiem, jak używać dat na osi x. Czy powinienem używać listy? Lista? .

------------------------AKTUALIZACJA------------------------- --------------------------------

Ok, wreszcie! (Po sugestii użytkownika „Dan”)

użyłemChartFactory.getTimeChartView(this, dataset, mRenderer,"dd/MM/yyyy");

zamiastChartFactory.getLineChartIntent(context, dataset, mRenderer,"dd/MM/yyyy");

i nie musisz używać listy ciągów, tylko listy dat

questionAnswers(2)

yourAnswerToTheQuestion