удаление определенного документа из пожарного магазина Firebase кнопкой - PullRequest
0 голосов
/ 05 июля 2019

приветствие каждого, В моем проекте я успешно загрузил свои файлы в хранилище Firebase и сохранил захваченный URL в FireStore, а затем мог загрузить каждый отдельный файл в отдельности, нажав кнопку, чтобы перевернуть его. теперь я решил создать кнопку удаления, чтобы удалить конкретный документ при нажатии, как этого добиться? кнопка для удаления теперь работает, но она удаляет имя документа, которое мне нужно добавить вручную в javascript, и попробуйте его, я хочу, чтобы кнопка delete делала удаление файлов, которые в том же виде, что и кнопка загрузки, делают.

//my adapater contain the codes of download and delete //

package com.example.boc;

import android.app.DownloadManager;
import android.content.Context;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.firestore.FirebaseFirestore;

import java.util.ArrayList;

import static android.os.Environment.DIRECTORY_DOWNLOADS;

public class MyPdfAdapter extends RecyclerView.Adapter<MyViewHolder> {

    pdfDownloader pdfDownloader;
    ArrayList<DownModel> downModels;
    FirebaseFirestore db;


    public MyPdfAdapter(pdfDownloader pdfDownloader , ArrayList<DownModel> downModels) {
        this.pdfDownloader = pdfDownloader;
        this.downModels = downModels;
    }

    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        LayoutInflater layoutInflater = LayoutInflater.from(pdfDownloader.getBaseContext());
        View view = layoutInflater.inflate(R.layout.elements, null, false);

        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull final MyViewHolder myViewHolder, final int i) {

        myViewHolder.mName.setText(downModels.get(i).getName());
        myViewHolder.mLink.setText(downModels.get(i).getLink());
        myViewHolder.deletePdfBtn.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                deletepdf();
            }
        } );

        myViewHolder.mDownload.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                downloadFile(myViewHolder.mName.getContext(),downModels.get(i).getName(),".pdf",DIRECTORY_DOWNLOADS,downModels.get(i).getLink());
            }
        });


    }
***//here is the delete operation //***
    private void deletepdf() {

        db.collection( "files" ).document().delete()
                .addOnSuccessListener( new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {

                    }
                } );

    }

    public void downloadFile(Context context, String fileName, String fileExtension, String destinationDirectory, String url) {

        DownloadManager downloadmanager = (DownloadManager) context.
                getSystemService(Context.DOWNLOAD_SERVICE);
        Uri uri = Uri.parse(url);
        DownloadManager.Request request = new DownloadManager.Request(uri);

        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        request.setDestinationInExternalFilesDir(context, destinationDirectory, fileName + fileExtension);

        downloadmanager.enqueue(request);
    }


    @Override
    public int getItemCount() {
        return downModels.size();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...