Загрузка данных


package com.example.myapplication;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private EditText editTextId, editTextMaterial, editTextWeight, editTextSupplier;
    private TextView textViewRecycling;
    private RecyclingRepository recyclingRepository;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editTextId = findViewById(R.id.editTextUserId);       // Идентификатор записи для поиска/удаления/обновления
        editTextMaterial = findViewById(R.id.editTextName);   // Вид сырья (бывшее имя)
        editTextWeight = findViewById(R.id.editTextEmail);    // Вес/объем (бывший email)
        
        // Если вы добавили третье поле в xml для поставщика, найдите его так:
        // editTextSupplier = findViewById(R.id.editTextSupplier);

        Button buttonAdd = findViewById(R.id.buttonAddUser);
        Button buttonUpdate = findViewById(R.id.buttonUpdateUser);
        Button buttonDelete = findViewById(R.id.buttonDeleteUser);
        Button buttonShow = findViewById(R.id.buttonShowUsers);
        textViewRecycling = findViewById(R.id.textViewUsers);

        recyclingRepository = new RecyclingRepository(getApplication());

        // Кнопка добавления
        buttonAdd.setOnClickListener(v -> {
            String material = editTextMaterial.getText().toString();
            String weight = editTextWeight.getText().toString();
            String supplier = "Поставщик по умолчанию"; // Или берите из editTextSupplier.getText().toString()
            
            Recycling item = new Recycling(material, weight, supplier);
            recyclingRepository.insert(item);
            showRecords();
        });

        // Кнопка обновления
        buttonUpdate.setOnClickListener(v -> {
            String idStr = editTextId.getText().toString();
            if (!idStr.isEmpty()) {
                int id = Integer.parseInt(idStr);
                String material = editTextMaterial.getText().toString();
                String weight = editTextWeight.getText().toString();
                
                Recycling item = new Recycling(material, weight, "");
                item.setId(id);
                recyclingRepository.update(item);
                showRecords();
            }
        });

        // Кнопка удаления
        buttonDelete.setOnClickListener(v -> {
            String idStr = editTextId.getText().toString();
            if (!idStr.isEmpty()) {
                int id = Integer.parseInt(idStr);
                Recycling item = new Recycling("", "", "");
                item.setId(id);
                recyclingRepository.delete(item);
                showRecords();
            }
        });

        // Кнопка просмотра всех записей
        buttonShow.setOnClickListener(v -> showRecords());
    }

    private void showRecords() {
        recyclingRepository.getAllRecycling(items -> {
            StringBuilder sb = new StringBuilder();
            for (Recycling item : items) {
                sb.append("ID: ").append(item.getId())
                  .append(", Сырье: ").append(item.getMaterial())
                  .append(", Вес: ").append(item.getWeight())
                  .append("\n");
            }
            runOnUiThread(() -> textViewRecycling.setText(sb.toString()));
        });
    }
}