Как заполнить базу данных sqlite листом объектов?

введите сюда описание изображенияЯ работаю с файлом преобразую содержимое лист объектов, теперь мне надо добавить их в базу данных. Всего 6 таблиц в базе данных.



public class ReadFileActivity extends AppCompatActivity implements View.OnClickListener{
    Button read;
    private static ArrayList<Errors> errors = new ArrayList<>();

    // Константы для элементов
    private static final String BackBrakePressureEmergency = "BackBrakePressureEmergency";
    private static final String CloggedSteeringFilters = "CloggedSteeringFilters";
    private static final String CloggedSteeringFiltersGS = "CloggedSteeringFiltersGS";
    private static final String EmergencyOil = "EmergencyOil";
    private static final String EmergencyOilLevelGS = "EmergencyOilLevelGS";
    private static final String FontBrakePressureEmergency = "FontBrakePressureEmergency";
    SQLiteDatabase db = getBaseContext().openOrCreateDatabase("MyDiplom.db", MODE_PRIVATE, null);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_read_file);
       SQLiteDatabase db = getBaseContext().openOrCreateDatabase("MyDiplom.db", MODE_PRIVATE, null);
        read = (Button) findViewById(R.id.buttonReadAndSwap);
        read.setOnClickListener(this);
    }

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    public void onClick(View v) {
        switch (R.id.buttonReadAndSwap){
            case R.id.buttonReadAndSwap:
                try {
                    converterBackBrakePressureEmergency();
                    converterCloggedSteeringFilters();
                    converterCloggedSteeringFiltersGS();
                    converterEmergencyOil();
                    converterEmergencyOilLevelGS();
                    converterFontBrakePressureEmergencies();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Intent intent = new Intent(this, MainActivity.class);
                startActivity(intent);
                break;
        }

    }
    private JsonArray readJson(String key) throws IOException {
        JsonArray array = null;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(getApplication().getAssets().open("data.json")))) {
            JsonObject jsonObject = new JsonParser().parse(br).getAsJsonObject();
            JsonObject data = jsonObject.getAsJsonObject("data");
            array = data.getAsJsonArray(key);
        }
        return array;
    }

    @RequiresApi(api = Build.VERSION_CODES.N)
    private List<BackBrakePressureEmergency> converterBackBrakePressureEmergency() throws IOException {
        JsonArray array = readJson("BackBrakePressureEmergency");
        Gson gson = new GsonBuilder().create();
        List<BackBrakePressureEmergency> list = IntStream.range(0,array.size()).mapToObj(i -> gson.fromJson(array.get(i).toString(),BackBrakePressureEmergency.class)).collect(Collectors.toList());
        db.execSQL("CREATE TABLE IF NOT EXISTS backbrakepressureemergency (ID INTEGER , startDate TEXT, endDate TEXT, duration INTEGER) ");
        for(int i=0;i<list.size();i++){
            db.execSQL("INSERT INTO backbrakepressureemergency VALUES ( " + i+","+ + list.get(i).getDuration()+"," +
                    list.get(i).getStartDate() +","+
                    list.get(i).getEndDate() +","+
                    list.get(i).getDuration());
        }
        return list;
    }
    @RequiresApi(api = Build.VERSION_CODES.N)
    private List<CloggedSteeringFilters> converterCloggedSteeringFilters() throws IOException
    {
        JsonArray array=readJson("CloggedSteeringFilters");
        Gson gson = new GsonBuilder().create();
        List<CloggedSteeringFilters> list = IntStream.range(0,array.size()).mapToObj(i -> gson.fromJson(array.get(i).toString(),CloggedSteeringFilters.class)).collect(Collectors.toList());
        db.execSQL("CREATE TABLE IF NOT EXISTS cloggedsteeringfilters (ID INTEGER , startDate TEXT, endDate TEXT, duration INTEGER) ");
        for(int i=0;i<list.size();i++){
            db.execSQL("INSERT INTO cloggedsteeringfilters VALUES ( " + i+","+
                    list.get(i).getStartDate() +","+
                    list.get(i).getEndDate() +","+
                    list.get(i).getDuration());
        }
        return list;
    }

    @RequiresApi(api = Build.VERSION_CODES.N)
    private List<CloggedSteeringFiltersGS> converterCloggedSteeringFiltersGS() throws IOException
    {
        JsonArray array=readJson("CloggedSteeringFiltersGS");
        Gson gson = new GsonBuilder().create();
        List<CloggedSteeringFiltersGS> list = IntStream.range(0,array.size()).mapToObj(i -> gson.fromJson(array.get(i).toString(),CloggedSteeringFiltersGS.class)).collect(Collectors.toList());
         db.execSQL("CREATE TABLE IF NOT EXISTS cloggedsteeringfiltersgs (ID INTEGER , startDate TEXT, endDate TEXT, duration INTEGER) ");
         for(int i=0;i<list.size();i++){
             db.execSQL("INSERT INTO cloggedsteeringfiltersgs VALUES ( " + i+","+
                     list.get(i).getStartDate() +","+
                     list.get(i).getEndDate() +","+
                     list.get(i).getDuration());
         }
        return list;
    }
    @RequiresApi(api = Build.VERSION_CODES.N)
    private List<EmergencyOil> converterEmergencyOil() throws IOException
    {
        JsonArray array=readJson("EmergencyOil");
        Gson gson = new GsonBuilder().create();
        List<EmergencyOil> list = IntStream.range(0,array.size()).mapToObj(i -> gson.fromJson(array.get(i).toString(),EmergencyOil.class)).collect(Collectors.toList());
        db.execSQL("CREATE TABLE IF NOT EXISTS emergencyoil (ID INTEGER , startDate TEXT, endDate TEXT, duration INTEGER) ");
        for(int i=0;i<list.size();i++){
            db.execSQL("INSERT INTO emergencyoil VALUES ( " + i+","+
                    list.get(i).getStartDate() +","+
                    list.get(i).getEndDate() +","+
                    list.get(i).getDuration()+","+list.get(i).getTemp());
        }
        return list;
    }
    @RequiresApi(api = Build.VERSION_CODES.N)
    private List<EmergencyOilLevelGS> converterEmergencyOilLevelGS() throws IOException
    {
        JsonArray array=readJson("EmergencyOilLevelGS");
        Gson gson = new GsonBuilder().create();
        List<EmergencyOilLevelGS> list = IntStream.range(0,array.size()).mapToObj(i -> gson.fromJson(array.get(i).toString(),EmergencyOilLevelGS.class)).collect(Collectors.toList());
         db.execSQL("CREATE TABLE IF NOT EXISTS emergencyoillevelgs (ID INTEGER , startDate TEXT, endDate TEXT, duration INTEGER) ");
         for(int i=0;i<list.size();i++){
             db.execSQL("INSERT INTO emergencyoillevelgs VALUES ( " + i+","+
                     list.get(i).getStartDate() +","+
                     list.get(i).getEndDate() +","+
                     list.get(i).getDuration());
         }
        return list;
    }
    @RequiresApi(api = Build.VERSION_CODES.N)
    private List<FontBrakePressureEmergency> converterFontBrakePressureEmergencies() throws  IOException
    {
        JsonArray array=readJson("FontBrakePressureEmergency");
        Gson gson = new GsonBuilder().create();
        List<FontBrakePressureEmergency> list = IntStream.range(0,array.size()).mapToObj(i -> gson.fromJson(array.get(i).toString(),FontBrakePressureEmergency.class)).collect(Collectors.toList());
        db.execSQL("CREATE TABLE IF NOT EXISTS fontbrakepressureemergency (ID INTEGER , startDate TEXT, endDate TEXT, duration INTEGER) ");
        for(int i=0;i<list.size();i++){
            db.execSQL("INSERT INTO fontbrakepressureemergency VALUES ( " + i+","+
                    list.get(i).getStartDate() +","+
                    list.get(i).getEndDate() +","+
                    list.get(i).getDuration());
        }
        return list;
    }

    private void addDataToDatabase(){
      // List<Errors> errors = new ArrayList<>();
      // errors.add(new BackBrakePressureEmergency(4,"startDate","endDate",4));
      // errors.add(new BackBrakePressureEmergency(4,"startDate","endDate",4));

      // errors.add(new BackBrakePressureEmergency(4,"startDate","endDate",4));

      // errors.add(new BackBrakePressureEmergency(4,"startDate","endDate",4));
        SQLiteDatabase db = getBaseContext().openOrCreateDatabase("MyDiplom.db", MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS backbrakepressureemergency (ID INTEGER ,turnover INTEGER, startDate TEXT, endDate TEXT, duration INTEGER) ");
      // for (Errors er: errors) {
      //     db.execSQL("INSERT INTO backbrakepressureemergency VALUES ( " + turnover+"," +
      //             er.getStartDate() +","+
      //             er.getEndDate() +","+
      //             er.getDuration());
      // }
      // db.close();

    }

}

Как мне теперь добавить в базу?

package Models;

public abstract class Errors {
    //public String turnover;
    //public String startDate;
    private String startDate;
    private String endDate;
    private int duration;

    public Errors(String startDate,String endDate,int duration) {
        this.startDate=startDate;
        this.endDate=endDate;
        this.duration=duration;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public int getDuration() {
        return duration;
    }

    public void setDuration(int duration) {
        this.duration = duration;
    }
}


Ответы (0 шт):