MainActivity
MainActivity
java
package com.nelsontorres.tallersegundobimestre;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAddProduct = findViewById(R.id.btnAddProduct);
btnPurchase = findViewById(R.id.btnPurchase);
btnAddProduct.setOnClickListener(v -> {
startActivity(intent);
});
btnPurchase.setOnClickListener(v -> {
startActivity(intent);
});
}
// Product.java
package com.nelsontorres.tallersegundobimestre;
public Product() {
this.productId = productId;
this.name = name;
this.purchasePrice = purchasePrice;
// Getters y setters
}
// AddProductActivity.java
package com.nelsontorres.tallersegundobimestre;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_product);
// Inicializar Firebase
databaseReference = FirebaseDatabase.getInstance()
.getReferenceFromUrl("https://taller2025-default-rtdb.firebaseio.com/")
.child("products");
// Inicializar vistas
etProductName = findViewById(R.id.etProductName);
etProductId = findViewById(R.id.etProductId);
etPurchasePrice = findViewById(R.id.etPurchasePrice);
tvSalePrice = findViewById(R.id.tvSalePrice);
btnSave = findViewById(R.id.btnSave);
etPurchasePrice.addTextChangedListener(new TextWatcher() {
@Override
if (!s.toString().isEmpty()) {
try {
tvSalePrice.setText(String.format("%.2f", salePrice));
} catch (NumberFormatException e) {
tvSalePrice.setText("0.00");
@Override
@Override
});
String id = etProductId.getText().toString().trim();
return;
databaseReference.child(id).setValue(product)
.addOnSuccessListener(aVoid -> {
finish();
})
.addOnFailureListener(e -> {
});
// PurchaseActivity.java
package com.nelsontorres.tallersegundobimestre;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SearchView;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.database.*;
import java.util.ArrayList;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_purchase);
searchView = findViewById(R.id.searchView);
listView = findViewById(R.id.listView);
databaseReference = FirebaseDatabase.getInstance()
.getReferenceFromUrl("https://taller2025-default-rtdb.firebaseio.com/")
.child("products");
// Configurar búsqueda
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
searchProducts(query);
return true;
@Override
searchProducts(newText);
return true;
});
databaseReference.orderByChild("name")
.startAt(query)
.endAt(query + "\uf8ff")
.addValueEventListener(new ValueEventListener() {
@Override
productList.clear();
if (product != null) {
productList.add(product);
@Override
// Manejar error
});