Firebase থেকে PDF ফাইল রিট্রিভ করার জন্য Android এপ্লিকেশন তৈরি করার ধাপসমূহ

Retrieve PDF File From Firebase

Firebase থেকে PDF ফাইল রিট্রিভ করার জন্য Android এপ্লিকেশন তৈরি করার ধাপসমূহ

Firebase Realtime Database ব্যবহার করে একটি Android অ্যাপ্লিকেশন তৈরি করার ধাপে ধাপে বর্ণনা দেওয়া হলো, যেখানে আমরা একটি PDF ফাইল Firebase থেকে রিট্রিভ করব এবং এটি অ্যাপে দেখাব। আমরা দুটি Activity তৈরি করব, একটিতে একটি বাটন থাকবে এবং অন্যটিতে PDF ফাইলটি দেখা যাবে। নিচে প্রতিটি ধাপ বিশদভাবে ব্যাখ্যা করা হয়েছে।

Step 1: নতুন প্রজেক্ট তৈরি করুন

Android Studio তে নতুন প্রজেক্ট তৈরি করার জন্য How to Create/Start a New Project in Android Studio এ রেফার করুন। প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে Java নির্বাচন করুন।

Step 2: আপনার অ্যাপটি Firebase এর সাথে সংযুক্ত করুন

নতুন প্রজেক্ট তৈরি করার পরে, উপরের টুলস অপশনে যান এবং Firebase এ ক্লিক করুন। ডান দিকের কলামে Firebase Realtime Database এ নেভিগেট করুন। Connect now এ ক্লিক করে আপনার অ্যাপটি Firebase এর সাথে সংযুক্ত করুন। এরপর, Add Firebase Realtime Database to your app অপশনে ক্লিক করুন এবং আপনার অ্যাপটি Firebase এর সাথে সংযুক্ত হবে।

Step 3: build.gradle ফাইল আপডেট করুন

আপনার অ্যাপ Firebase এর সাথে সংযুক্ত হয়েছে কিনা যাচাই করুন। build.gradle ফাইলটি খুলুন এবং নিচের ডিপেন্ডেন্সি যুক্ত করুন:

implementation 'com.google.firebase:firebase-database:19.6.0' implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'

এরপর, প্রজেক্টটি Sync করুন।

Step 4: AndroidManifest.xml ফাইলে ইন্টারনেট পারমিশন যোগ করুন

AndroidManifest.xml ফাইলে নিচের পারমিশনগুলি যোগ করুন:

<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Step 5: activity_main.xml ফাইলটি আপডেট করুন

activity_main.xml ফাইলটি নিচের কোড দ্বারা আপডেট করুন:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" tools:context=".MainActivity"> <!-- We will click on it to view pdf --> <Button android:id="@+id/view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:background="@color/black" android:padding="10dp" android:text="Click here to View pdf" android:textSize="10dp" /> </LinearLayout>

Step 6: MainActivity.java ফাইলটি আপডেট করুন

MainActivity.java ফাইলটি নিচের কোড দ্বারা আপডেট করুন:

import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; public class MainActivity extends AppCompatActivity { Button view; DatabaseReference database; String message; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); view = findViewById(R.id.view); // Initialising the reference to database database = FirebaseDatabase.getInstance().getReference().child("pdf"); database.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { // getting a DataSnapshot for the location at the specified // relative path and getting in the link variable message = dataSnapshot.getValue(String.class); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { Toast.makeText(MainActivity.this, "Error Loading Pdf", Toast.LENGTH_SHORT).show(); } }); // After clicking here alert box will come view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { CharSequence options[] = new CharSequence[]{ "Download", "View", "Cancel" }; AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext()); builder.setTitle("Choose One"); builder.setItems(options, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (which == 0) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(message)); startActivity(intent); } if (which == 1) { Intent intent = new Intent(v.getContext(), ViewPdfActivity.class); intent.putExtra("url", message); startActivity(intent); } } }); builder.show(); } }); } }

Step 7: ViewpdfActivity.java ফাইলটি তৈরি করুন

নতুন ViewpdfActivity ক্লাস তৈরি করুন। How to Create New Activity in Android Studio এ রেফার করুন এবং activity এর নাম ViewpdfActivity দিন।

Step 8: activity_view_pdf.xml ফাইলটি আপডেট করুন

activity_view_pdf.xml ফাইলটি নিচের কোড দ্বারা আপডেট করুন:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ViewPdfActivity"> <com.github.barteksc.pdfviewer.PDFView android:id="@+id/abc" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>

Step 9: ViewpdfActivity.java ফাইলটি আপডেট করুন

ViewpdfActivity.java ফাইলটি নিচের কোড দ্বারা আপডেট করুন:

import androidx.appcompat.app.AppCompatActivity; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import com.github.barteksc.pdfviewer.PDFView; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class ViewPdfActivity extends AppCompatActivity { String urls; PDFView pdfView; ProgressDialog dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_pdf); pdfView = findViewById(R.id.abc); dialog = new ProgressDialog(this); dialog.setMessage("Loading.."); dialog.show(); urls = getIntent().getStringExtra("url"); new RetrivePdfStream().execute(urls); } class RetrivePdfStream extends AsyncTask { @Override protected InputStream doInBackground(String... strings) { InputStream inputStream = null; try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); if (urlConnection.getResponseCode() == 200) { inputStream = new BufferedInputStream(urlConnection.getInputStream()); } } catch (IOException e) { return null; } return inputStream; } @Override protected void onPostExecute(InputStream inputStream) { pdfView.fromStream(inputStream).load(); dialog.dismiss(); } } }

Step 10: Firebase এ PDF আপলোড এবং রিয়েলটাইম ডাটাবেজে লিংক যুক্ত করুন

Firebase এ যান এবং Storage অপশনে ক্লিক করুন। Get Started এ ক্লিক করে PDF আপলোড করুন। আপলোড করার পর, PDF এর details থেকে access token কপি করুন।

Step 11: রিয়েলটাইম ডাটাবেজে ডেটা যুক্ত করুন

Firebase এর Realtime Database অপশনে যান এবং ডেটা যুক্ত করুন। নিচের স্ক্রিনশট অনুসরণ করুন:

Add Data

Firebase ডাটাবেজে ডেটা যুক্ত করার পর এটি নিচের মত দেখাবে:

Firebase Data

সব ধাপ সম্পন্ন করার পরে, আপনার অ্যাপ প্রস্তুত হবে এবং আপনি Firebase থেকে PDF ফাইল দেখতে এবং ডাউনলোড করতে সক্ষম হবেন।

Post a Comment

Post a Comment (0)

Previous Post Next Post