2013-09-23 244 views
2

我做了一個簡單的應用程序,它將記錄來自editText的用戶輸入,並將它放到我的SD卡上的csv中。現在我的問題是讀取該csv並將其作爲我應用程序下一個活動的變量。Android閱讀csv

這是我的主要活動:

package com.willardcuizon.differentialgps; 

import java.io.File; 

import android.location.LocationListener; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Context; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Main extends Activity implements OnClickListener{ 

Button start; 
EditText lat; 
EditText lon; 

LocationListener loclist; 
CSVFileWriter csv; 
StringBuffer filePath; 
File file; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    start = (Button) findViewById(R.id.button1); 
    start.setOnClickListener(this); 

    lat = (EditText) findViewById(R.id.editText1); 
    lon = (EditText) findViewById(R.id.editText2); 


    filePath = new StringBuffer(); 
    filePath.append("/sdcard/surveyedGPS.csv"); 
    file = new File(filePath.toString()); 

    csv = new CSVFileWriter(file); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 


@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if(v.getId()==R.id.button1){ 
     LocationManager locman =  (LocationManager)getSystemService(Context.LOCATION_SERVICE); 

     if(locman.isProviderEnabled(LocationManager.GPS_PROVIDER)){ 
      Toast.makeText(getApplicationContext(), "GPS is Enabled.", Toast.LENGTH_SHORT).show(); 
      csv.writeHeader(lat.getText().toString()); 
      csv.writeHeader(lon.getText().toString()); 

     } 
     else{ 
      Toast.makeText(getApplicationContext(), "GPS is Disabled.Please enable GPS", Toast.LENGTH_SHORT).show(); 
     } 

    } 
} 





} 

這裏是我的CSVWriter類:

package com.willardcuizon.differentialgps; 

import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.io.PrintWriter; 

public class CSVFileWriter { 

private PrintWriter csvWriter;  
private File file; 

public CSVFileWriter(File file) { 
this.file = file; 

} 

public void writeHeader(String data) { 

try { 
    if (data != null) { 

     csvWriter = new PrintWriter(new FileWriter(file, true)); 
     csvWriter.print(","); 
     csvWriter.print(data); 
     csvWriter.close(); 

    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

} 
} 

回答

1

你可以打開你的csv文件作爲一個文件,並嘗試逐行讀取,那麼你可以用逗號分開的變量,並用它們來爲下一個活動。看看這裏的答案: