2013-07-15 21 views
9

Mam klasy:wyeksportować dane dotyczące pliku CSV z aplikacji android

public class A() { 
private List<B> e; 
private int nE; 
private int nC; 
private int tC; 
private int bL; 
private float mA; 
private float mP; 
private int eP;`  } 

i drugą klasę:

public class B() { 
private String m; 
private int v; 
private int l; 
private int c; 
private String d; 
private String n; 
private Calendar data; 
private int t; } 

Jak mogę zrobić, aby zapisać informacje do pliku CSV z moim aplikacja? Proponowałbym kompatybilność od 2.3.3 do 4.2.2, więc nie używałbym biblioteki, która nie może tego zrobić. Czy możesz mi pomóc wirte jakiś kod? Dziękuję wam wszystkim!!

Inna sprawa ... wyeksportować ten plik, jakie uprawnienia muszę dodać w pliku manifest.xml?

Odpowiedz

27

Musisz użyć biblioteki takie jak opencsv (tutaj: http://sourceforge.net/projects/opencsv/)

Aby zapisać dane do pliku, musisz zrobić coś podobnego do tego:

String csv = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); 
CSVWriter writer = new CSVWriter(new FileWriter(csv)); 

List<String[]> data = new ArrayList<String[]>(); 
data.add(new String[] {"India", "New Delhi"}); 
data.add(new String[] {"United States", "Washington D.C"}); 
data.add(new String[] {"Germany", "Berlin"}); 

writer.writeAll(data); 

writer.close(); 

(modyfikowany tutaj: http://viralpatel.net/blogs/java-read-write-csv-file/)

zapisać plik do pamięci trzeba będzie następujące uprawnienia:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

Dziękuję, używam tej metody, ale gdzie ona eksportuje plik? Wyeksportowałbym plik do folderu pobierania na sd wewnętrznym. Pomóżcie mi :) – user2520969

+0

Dodaj gradle dependecy: compile group: 'com.opencsv', name: 'opencsv', wersja: '3.5' – lidox

Powiązane problemy