Я пытаюсь написать программу. Одна из функций программы - возможность импортировать данные из файла CSV в базу данных sqlite.
Я сделал этот код таким удобным, но он не работает должным образом. Моя проблема в том, что он сохранит только последнюю строку моего CSV-файла в базе данных. Чего мне не хватает?
Вот код
package com.android.FAC;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Importcsv extends Activity
{
DbAdapter DbHelper;
String notification = "Concats imported!";
TextView tView;
String first;
String last;
String phone;
String mphone;
String room;
String initial;
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.importcsv);
DbHelper = new DbAdapter(this);
DbHelper.open();
tView = (TextView) findViewById(R.id.textView1);
Button b2 = (Button) findViewById(R.id.btnClick2);
Button b3 = (Button) findViewById(R.id.btnClick3);
Button b4 = (Button) findViewById(R.id.btnClick4);
b2.setOnClickListener(new TextView.OnClickListener() {
public void onClick(View v) {
try {
readfromcsv();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
b3.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(Importcsv.this, MainActivity.class);
Importcsv.this.startActivity(i);
}
});
b4.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
int n = 0;
while(n<30)
{
DbHelper.deleteContact(n);
n++;
}
}
});
}
public void readfromcsv() throws IOException
{
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"csvtest.csv");
BufferedReader in = new BufferedReader(new FileReader(file));
String reader = "";
while ((reader = in.readLine()) != null)
{
String[] RowData = reader.split(",");
first = RowData[0];
last = RowData[1];
phone = RowData[2];
mphone = RowData[3];
room = RowData[4];
initial = RowData[5];
}
DbHelper.createContact(first, last, phone, mphone, room, initial);
in.close();
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, notification, duration);
toast.show();
}
}
Спасибо, Питер