Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
CSVFileRead/app/src/main/AndroidManifest.xml CSVFileRead/app/src/main/java/com/javapapers/android/csvfileread/app/CSVFile.java package com.javapapers.android.csvfileread.app; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class CSVFile { InputStream inputStream; public CSVFile(InputStream inputStream){ this.inputStream = inputStream; } public List<String[]> read(){ List<String[]> resultList = new ArrayList<String[]>(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); try { String csvLine; while ((csvLine = reader.readLine()) != null) { String[] row = csvLine.split(","); resultList.add(row); } } catch (IOException ex) { throw new RuntimeException("Error in reading CSV file: "+ex); } finally { try { inputStream.close(); } catch (IOException e) { throw new RuntimeException("Error while closing input stream: "+e); } } return resultList; } } CSVFileRead/app/src/main/java/com/javapapers/android/csvfileread/app/ItemArrayAdapter.java package com.javapapers.android.csvfileread.app; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class ItemArrayAdapter extends ArrayAdapter<String[]> { private List<String[]> scoreList = new ArrayList<String[]>(); static class ItemViewHolder { TextView name; TextView score; } public ItemArrayAdapter(Context context, int textViewResourceId) { super(context, textViewResourceId); } @Override public void add(String[] object) { scoreList.add(object); super.add(object); } @Override public int getCount() { return this.scoreList.size(); } @Override public String[] getItem(int index) { return this.scoreList.get(index); } @Override public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; ItemViewHolder viewHolder; if (row == null) { LayoutInflater inflater = (LayoutInflater) this.getContext(). getSystemService(Context.LAYOUT_INFLATER_SERVICE); row = inflater.inflate(R.layout.item_layout, parent, false); viewHolder = new ItemViewHolder(); viewHolder.name = (TextView) row.findViewById(R.id.name); viewHolder.score = (TextView) row.findViewById(R.id.score); row.setTag(viewHolder); } else { viewHolder = (ItemViewHolder)row.getTag(); } String[] stat = getItem(position); viewHolder.name.setText(stat[0]); viewHolder.score.setText(stat[1]); return row; } } CSVFileRead/app/src/main/java/com/javapapers/android/csvfileread/app/MainActivity.java package com.javapapers.android.csvfileread.app; import android.app.Activity; import android.os.Parcelable; import android.os.Bundle; import android.widget.ListView; import java.io.InputStream; import java.util.List; public class MainActivity extends Activity { private ListView listView; private ItemArrayAdapter itemArrayAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView); itemArrayAdapter = new ItemArrayAdapter(getApplicationContext(), R.layout.item_layout); Parcelable state = listView.onSaveInstanceState(); listView.setAdapter(itemArrayAdapter); listView.onRestoreInstanceState(state); InputStream inputStream = getResources().openRawResource(R.raw.stats); CSVFile csvFile = new CSVFile(inputStream); List<String[]> scoreList = csvFile.read(); for(String[] scoreData:scoreList ) { itemArrayAdapter.add(scoreData); } } } CSVFileRead/app/src/main/res/drawable-hdpi/ic_launcher.png CSVFileRead/app/src/main/res/drawable-mdpi/ic_launcher.png CSVFileRead/app/src/main/res/drawable-xhdpi/ic_launcher.png CSVFileRead/app/src/main/res/drawable-xxhdpi/ic_launcher.png CSVFileRead/app/src/main/res/layout/activity_main.xml CSVFileRead/app/src/main/res/layout/item_layout.xml CSVFileRead/app/src/main/res/menu/main.xml CSVFileRead/app/src/main/res/raw/stats.csv Sachin Tendulkar,18426 Ricky Ponting,13704 Sanath Jayasuriya,13430 Kumara Sangakkara,12806 Inzamam-ul-Haq,11739 Mahela Jayawardene,11681 Jacques Kallis,11579 Sourav Ganguly,11363 Rahul Dravid,10889 Brian Lara,10405 Mohammad Yousuf,9720 Adam Gilchrist,9619 Mohammed Azharuddin,9378 Aravinda Silva,9284 Saeed Anwar,8824 Shivnarine Chanderpaul,8778 Chris Gayle,8743 Desmond Haynes,8648 Marvan Atapattu,8529 Mark Waugh,8500 CSVFileRead/app/src/main/res/values-w820dp/dimens.xml 64dp CSVFileRead/app/src/main/res/values/dimens.xml 16dp 16dp CSVFileRead/app/src/main/res/values/strings.xml CSV File Read Hello world! Settings CSVFileRead/app/src/main/res/values/styles.xml
Compartilhar