Recycler View Main Adapter Java Code || Get Data From Firebase

 package com.apdim3.books.javaclass;


import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.apdim3.books.PdfActivity;
import com.apdim3.books.PdfViewActivity;
import com.apdim3.books.R;
import com.bumptech.glide.Glide;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;

public class MainAdapter extends FirebaseRecyclerAdapter<MainModel, MainAdapter.MyViewHolder> {
private Context context;

public MainAdapter(@NonNull FirebaseRecyclerOptions<MainModel> options, Context context) {
super(options);
this.context = context;
}

@Override
protected void onBindViewHolder(@NonNull MyViewHolder holder, int i, @NonNull MainModel mainModel) {
holder.title.setText(mainModel.getTitle());
holder.des.setText(mainModel.getDes());
holder.ImgUrl.setText(mainModel.getImgUrl());
holder.bookUrl.setText(mainModel.getBookLink());

// Get the image URL from Firebase Storage
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl(mainModel.getImgUrl());

storageRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
// Load the image using Glide
Glide.with(holder.ImgView.getContext())
.load(uri)
.into(holder.ImgView);
}
}).addOnFailureListener(exception -> {
// Handle any errors
});

holder.ImgView.setOnClickListener(v -> {
Intent intent = new Intent(context, PdfViewActivity.class);
intent.putExtra("pdf_url", mainModel.getBookLink());
context.startActivity(intent);
});

holder.goActivity.setOnClickListener(v -> {
Intent intent = new Intent(context, PdfActivity.class);
intent.putExtra("pdf_url", mainModel.getBookLink());
context.startActivity(intent);
});
}

@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.item, parent, false);
return new MyViewHolder(view);
}

public class MyViewHolder extends RecyclerView.ViewHolder {
TextView title, des, bookUrl, ImgUrl;
ImageView ImgView;
LinearLayout goActivity;

public MyViewHolder(@NonNull View itemView) {
super(itemView);

title = itemView.findViewById(R.id.title);
des = itemView.findViewById(R.id.description);
bookUrl = itemView.findViewById(R.id.bookUrl);
ImgUrl = itemView.findViewById(R.id.ImageUrl);
ImgView = itemView.findViewById(R.id.ImgView);
goActivity = itemView.findViewById(R.id.goActivity);
}
}
}

Post a Comment

Post a Comment (0)

Previous Post Next Post