Non sò se la richiesta può essere accettata da questo forum, ma non riesco a risolvere questa cosa e cioè:
Voglio importare i dati contenuti in un file csv (libreria opencsv) nel database sqlite. I dati non vengono importati correttamente. Dopo l'importazione nel database manca il campo (data).
Vi posto tutto il codice:
codice:ricevi_csv= (Button) findViewById(R.id.but_ricevi_csv); ricevi_csv.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("text/csv"); startActivityForResult(Intent.createChooser(intent, getString(R.string.app_name)+".csv"), ACTIVITY_CHOOSE_FILE1); } }); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch(requestCode) { case ACTIVITY_CHOOSE_FILE: { if (resultCode == RESULT_OK){ Uri uri = data.getData(); File file = com.ipaulpro.afilechooser.utils.FileUtils.getFile(uri); importDB(file); } } case ACTIVITY_CHOOSE_FILE1: {//scelgo il file CSV if (resultCode == RESULT_OK){ proImportCSV(new File(data.getData().getPath())); } } } } private void importCSV(File from1){ try { ContentValues cv = new ContentValues(); CSVReader dataRead = new CSVReader(new FileReader(from1)); String[] vv = null; int counter = 0; while((vv = dataRead.readNext())!=null) { if(counter == 0) {//non importo la prima riga dove ci sono le intestazioni counter++; continue; }else { cv.clear(); SimpleDateFormat currFormater = new SimpleDateFormat("dd-MM-yyyy"); SimpleDateFormat postFormater = new SimpleDateFormat("yyyy-MM-dd"); String eDDte; try { Date nDate = currFormater.parse(vv[0]); eDDte = postFormater.format(nDate); cv.put(tabellaTable.DATA,eDDte); } catch (Exception e) { } cv.put(tabellaTable.DATA,vv[0]); cv.put(tabellaTable.CATEGORIA,vv[1]); SQLiteDatabase db= mHelper.getWritableDatabase(); db.insert(tabellaTable.TABLE_NAME,null,cv); db.close(); } dataRead.close(); } } catch (Exception e) { Log.e("TAG",e.toString()); } }

Rispondi quotando