App e-commerce in android studio in java

sare1234

Utente Attivo
262
3
Devo creare un negozio di bevande online in Android Studio con java, e in teoria devo inserire i prodotti in modo che i clienti possano visualizzarli attraverso un elenco (ho usato un recycleview) e devo farlo con un file txt. I dati presenti nel file sono: nome, prezzo e immagine del prodotto.

L'idea è di fare come in foto:
Schermata 2023-03-11 alle 16.23.08.png

Ho provato a fare cosi ma non mi funziona:

Java:
public class CocktailAdaptor extends RecyclerView.Adapter<CocktailAdaptor.ViewHolder> {

    ArrayList<DrinkDomain> cocktailFood;

    public CocktailAdaptor(ArrayList<DrinkDomain> drinkDomains) {
        this.cocktailFood = drinkDomains;
    }

    @NonNull
    @Override
    public CocktailAdaptor.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.viewholder_cocktail,parent,false);
        return new CocktailAdaptor.ViewHolder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull CocktailAdaptor.ViewHolder holder, int position) {
        holder.title.setText(cocktailFood.get(position).getTitle());
        holder.fee.setText(String.valueOf(cocktailFood.get(position).getFee()));


    }

    @Override
    public int getItemCount() {
        return cocktailFood.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder{

        TextView title, fee;

        ImageView pic;

        Button addBtn;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.title);
            fee = itemView.findViewById(R.id.fee);
            pic = itemView.findViewById(R.id.pic);
            addBtn = itemView.findViewById(R.id.add);

        }
    }
}

Java:
public class DrinksFragment extends Fragment {
    private RecyclerView.Adapter adapter;

    private RecyclerView recyclerViewCategoryList;

    private RecyclerView recyclerViewCocktailList;

    private RecyclerView recyclerViewShakeList;

    private FragmentDrinksBinding binding;

    TextView category;

    TextView cocktail;

    TextView shake;

    RecyclerView recyclerViewcategory;

    RecyclerView recyclerViewcocktail;

    RecyclerView recyclerViewshake;


    TextView text_head;


    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {
        DrinksViewModel drinksViewModel =
                new ViewModelProvider(this).get(DrinksViewModel.class);

        binding = FragmentDrinksBinding.inflate(inflater, container, false);
        View root = binding.getRoot();

        text_head = root.findViewById(R.id.text_head);
        category = root.findViewById(R.id.fragment_drinks_category);
        cocktail = root.findViewById(R.id.fragment_drinks_Cocktail);
        shake = root.findViewById(R.id.fragment_drinks_Shake);
        recyclerViewcategory = root.findViewById(R.id.fragment_drinks_recyclerView_category);
        recyclerViewcocktail = root.findViewById(R.id.fragment_drinks_recyclerView_cocktail);
        recyclerViewshake =  root.findViewById(R.id.fragment_drinks_recyclerView_shake);

        if(UserSingleton.getLogged()){
            text_head.setVisibility(View.INVISIBLE);
            category.setVisibility(View.VISIBLE);
            cocktail.setVisibility(View.VISIBLE);
            shake.setVisibility(View.VISIBLE);
            recyclerViewcategory.setVisibility(View.VISIBLE);
            recyclerViewcocktail.setVisibility(View.VISIBLE);
            recyclerViewshake.setVisibility(View.VISIBLE);

        }else{

            text_head.setVisibility(View.VISIBLE);
            category.setVisibility(View.VISIBLE);
            shake.setVisibility(View.INVISIBLE);
            cocktail.setVisibility(View.INVISIBLE);
            recyclerViewcategory.setVisibility(View.VISIBLE);
            recyclerViewcocktail.setVisibility(View.INVISIBLE);
            recyclerViewshake.setVisibility(View.INVISIBLE);
        }

        recyclerViewCategoryList = root.findViewById(R.id.fragment_drinks_recyclerView_category);
        recyclerViewCocktailList = root.findViewById(R.id.fragment_drinks_recyclerView_cocktail);
        recyclerViewShakeList = root.findViewById(R.id.fragment_drinks_recyclerView_shake);

        recyclerViewCategory();

        recyclerViewCocktail();

        recyclerViewShake();


        return root;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        binding = null;
    }

    private void recyclerViewCategory(){
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false);
        recyclerViewCategoryList.setLayoutManager(linearLayoutManager);

        ArrayList<CategoryDomain> category = new ArrayList<>();
        category.add(new CategoryDomain("Cocktail", "cocktail" ));
        category.add(new CategoryDomain("Shake", "shake" ));

        adapter = new CategoryAdaptor(category);
        recyclerViewCategoryList.setAdapter(adapter);

    }

 
 private void recyclerViewCocktail(){
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false);
        recyclerViewCocktailList.setLayoutManager(linearLayoutManager);


File file = getContext().getApplicationContext()
        .getFileStreamPath("cocktail");
String lineFromfile;

if (file.exists()) {
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(getContext().openFileInput("cocktail")));

        while ((lineFromfile = reader.readLine()) != null) {
            StringTokenizer tokenizer = new StringTokenizer(lineFromfile, ",");
            DrinkDomain drinkDomain = new DrinkDomain(tokenizer.nextToken(), tokenizer.nextToken(), (Double.parseDouble(tokenizer.nextToken())));
            drinkDomains.add(drinkDomain);
        }
        reader.close();
        setTextToTextView();
    } catch (IOException e) {

    }
}

        //INSERIRE DA FILE !!!
     /*   ArrayList<DrinkDomain> cocktail = new ArrayList<>();
        cocktail.add(new DrinkDomain("Margarita", "cocktail", 15.00));
        cocktail.add(new DrinkDomain("Bla", "cocktail" ,17.00));
        cocktail.add(new DrinkDomain("Bla", "cocktail" ,17.00));
        cocktail.add(new DrinkDomain("Bla", "cocktail" ,17.65));
        cocktail.add(new DrinkDomain("Bla", "cocktail" ,17.00));

        adapter2 = new DrinkAdaptor(cocktail); */
        recyclerViewCocktailList.setAdapter(adapter2);

    }

private void setTextToTextView() {
    String text = "";

    for (int i = 0; i < drinkDomains.size(); i++) {

        text = text + drinkDomains.get(i)
                .getTitle() + "," + drinkDomains.get(i)
                .getFee() + "\n";
    }
    title.setText(text);
    fee.setText(text);
}

    private void recyclerViewShake(){

        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false);
        recyclerViewShakeList.setLayoutManager(linearLayoutManager);

        //INSERIRE DA FILE !!!
        ArrayList<DrinkDomain> shake = new ArrayList<>();
        shake.add(new DrinkDomain("tè", "shake", 4.50));
        shake.add(new DrinkDomain("frullato", "shake" ,55.00));
        shake.add(new DrinkDomain("frullato", "shake" ,55.00));
        shake.add(new DrinkDomain("frullato", "shake" ,55.00));
        shake.add(new DrinkDomain("frullato", "shake" ,55.00));
        shake.add(new DrinkDomain("frullato", "shake" ,55.00));

        adapter3 = new DrinkAdaptor(shake);
        recyclerViewShakeList.setAdapter(adapter3);

    }
}
 
Ultima modifica:

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili