বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

একটি ফাইলের নাম ও সাইজ উদ্ধার

FileProvider ক্লাসের query()মেথডের একটি ডিফল্ট বাস্তবায়ন আছে যা একটি Cursor এ একটি কনটেন্ট ইউআরআই এর সাথে যুক্ত ফাইলের নাম ও সাইজকে ফেরত পাঠায়। ডিফল্ট বাস্তবায়ন দুইটা কলাম ফেরত পাঠায়:

ডিসপ্লে নেম (DISPLAY NAME)

ফাইলের নাম, একটি String হিসাবে। এই ভ্যালুটা File.getName()দ্বারা ফেরত আসে ভ্যালুর মতো একইভাবে।

সাইজ (SIZE)

ফাইলের সাইজ বাইটে হয়, একটি ষড়হম হিসাবে। এই ভ্যালুটা File.length()দ্বারা ফেরত আসে ভ্যালুর মতো একইভাবে।

কনটন্টে ইউআরআই এর জন্য ছাড়া null এ query()এর আরগুমেন্টের সব কিছু সেট করার মাধ্যমে ক্লায়েন্ট অ্যাপ একটি ফাইলের জন্য DISPLAY NAME এবং SIZE উভয়ই পেতে পারে। উদাহরণস্বরূপ, এই কোড চিত্রটি একটি ফাইলের DISPLAY NAME এবং SIZE উদ্ধার করে এবং প্রতিটা পৃথক TextView এ প্রদর্শন করে:

...
    /*
     * Get the file's content URI from the incoming Intent,
     * then query the server app to get the file's display name
     * and size.
     */
    Uri returnUri = returnIntent.getData();
    Cursor returnCursor =
            getContentResolver().query(returnUri, null, null, null, null);
    /*
     * Get the column indexes of the data in the Cursor,
     * move to the first row in the Cursor, get the data,
     * and display it.
     */
    int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
    int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE);
    returnCursor.moveToFirst();
    TextView nameView = (TextView) findViewById(R.id.filename_text);
    TextView sizeView = (TextView) findViewById(R.id.filesize_text);
    nameView.setText(returnCursor.getString(nameIndex));
    sizeView.setText(Long.toString(returnCursor.getLong(sizeIndex)));
    ...