0% found this document useful (0 votes)
14 views7 pages

Inicializar ArrayList en Java

The document contains Java code for an Android application that manages products, including adding and purchasing products. It consists of three main activities: MainActivity for navigation, AddProductActivity for adding product details and saving them to Firebase, and PurchaseActivity for searching and displaying products. The Product class defines the product structure with attributes like productId, name, purchasePrice, and salePrice, which includes a 15% tax calculation.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views7 pages

Inicializar ArrayList en Java

The document contains Java code for an Android application that manages products, including adding and purchasing products. It consists of three main activities: MainActivity for navigation, AddProductActivity for adding product details and saving them to Firebase, and PurchaseActivity for searching and displaying products. The Product class defines the product structure with attributes like productId, name, purchasePrice, and salePrice, which includes a 15% tax calculation.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

// MainActivity.

java

package [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class MainActivity extends AppCompatActivity {

private Button btnAddProduct, btnPurchase;

@Override

protected void onCreate(Bundle savedInstanceState) {

[Link](savedInstanceState);

setContentView([Link].activity_main);

btnAddProduct = findViewById([Link]);

btnPurchase = findViewById([Link]);

[Link](v -> {

Intent intent = new Intent([Link], [Link]);

startActivity(intent);

});

[Link](v -> {

Intent intent = new Intent([Link], [Link]);

startActivity(intent);

});

}
// [Link]

package [Link];

public class Product {

private String productId;

private String name;

private double purchasePrice;

private double salePrice;

public Product() {

// Constructor vacío requerido para Firebase

public Product(String productId, String name, double purchasePrice) {

[Link] = productId;

[Link] = name;

[Link] = purchasePrice;

[Link] = purchasePrice * 1.15; // 15% IVA

// Getters y setters

public String getProductId() { return productId; }

public void setProductId(String productId) { [Link] = productId; }

public String getName() { return name; }

public void setName(String name) { [Link] = name; }

public double getPurchasePrice() { return purchasePrice; }

public void setPurchasePrice(double purchasePrice) { [Link] = purchasePrice; }

public double getSalePrice() { return salePrice; }

public void setSalePrice(double salePrice) { [Link] = salePrice; }

}
// [Link]

package [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class AddProductActivity extends AppCompatActivity {

private EditText etProductName, etProductId, etPurchasePrice;

private TextView tvSalePrice;

private Button btnSave;

private DatabaseReference databaseReference;

@Override

protected void onCreate(Bundle savedInstanceState) {

[Link](savedInstanceState);

setContentView([Link].activity_add_product);

// Inicializar Firebase

databaseReference = [Link]()

.getReferenceFromUrl("[Link]

.child("products");

// Inicializar vistas

etProductName = findViewById([Link]);

etProductId = findViewById([Link]);

etPurchasePrice = findViewById([Link]);
tvSalePrice = findViewById([Link]);

btnSave = findViewById([Link]);

// Calcular precio de venta automáticamente

[Link](new TextWatcher() {

@Override

public void afterTextChanged(Editable s) {

if (![Link]().isEmpty()) {

try {

double purchasePrice = [Link]([Link]());

double salePrice = purchasePrice * 1.15; // 15% IVA

[Link]([Link]("%.2f", salePrice));

} catch (NumberFormatException e) {

[Link]("0.00");

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {}

});

[Link](v -> saveProduct());

private void saveProduct() {

String name = [Link]().toString().trim();

String id = [Link]().toString().trim();

String purchasePriceStr = [Link]().toString().trim();

if ([Link]() || [Link]() || [Link]()) {


[Link](this, "Por favor complete todos los campos", Toast.LENGTH_SHORT).show();

return;

double purchasePrice = [Link](purchasePriceStr);

Product product = new Product(id, name, purchasePrice);

[Link](id).setValue(product)

.addOnSuccessListener(aVoid -> {

[Link]([Link], "Producto guardado exitosamente", Toast.LENGTH_SHORT).show();

finish();

})

.addOnFailureListener(e -> {

[Link]([Link], "Error al guardar: " + [Link](),


Toast.LENGTH_SHORT).show();

});

// [Link]

package [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link].*;

import [Link];

public class PurchaseActivity extends AppCompatActivity {

private SearchView searchView;

private ListView listView;

private DatabaseReference databaseReference;


private ArrayList<Product> productList;

@Override

protected void onCreate(Bundle savedInstanceState) {

[Link](savedInstanceState);

setContentView([Link].activity_purchase);

searchView = findViewById([Link]);

listView = findViewById([Link]);

productList = new ArrayList<>();

databaseReference = [Link]()

.getReferenceFromUrl("[Link]

.child("products");

// Configurar búsqueda

[Link](new [Link]() {

@Override

public boolean onQueryTextSubmit(String query) {

searchProducts(query);

return true;

@Override

public boolean onQueryTextChange(String newText) {

searchProducts(newText);

return true;

});

private void searchProducts(String query) {

[Link]("name")

.startAt(query)
.endAt(query + "\uf8ff")

.addValueEventListener(new ValueEventListener() {

@Override

public void onDataChange(DataSnapshot dataSnapshot) {

[Link]();

for (DataSnapshot snapshot : [Link]()) {

Product product = [Link]([Link]);

if (product != null) {

[Link](product);

// Aquí deberías actualizar tu ListView con un adaptador personalizado

@Override

public void onCancelled(DatabaseError databaseError) {

// Manejar error

});

You might also like