كيفية حفظ الملفات من الانترنت في جهازك محليا وفتحها في Flutter

كيفية حفظ الملفات من الانترنت في جهازك محليا وفتحها في Flutter
 

كيفية حفظ الملفات من الانترنت في جهازك محليا وفتحها في Flutter

في عالم تطوير التطبيقات المتنقلة، يُعد التعامل مع الملفات من الجوانب الأساسية التي يجب أن يكون المطورون على دراية بها. سواء كنت تعمل على تطبيق يُخزن بيانات المستخدم أو يُحمّل صورًا أو مستندات PDF، فإن إدارة الملفات بفعالية يصبح أمرًا لا غنى عنه. ومن بين الأدوات الحديثة التي ظهرت في هذا المجال، تأتي حزمة file_save_directory كحل مبتكر وسهل الاستخدام لتسهيل عملية تحديد مواقع حفظ الملفات داخل تطبيقات Flutter.

في هذه المقالة الحصرية، سنقدم لك دليلاً شاملاً حول استخدام الحزمة file_save_directory ، مع التركيز على كيفية تحسين تجربة المستخدم، وكيفية تبسيط مهمة حفظ الملفات باستخدام واجهة برمجية واضحة ومباشرة. كما سنتناول أبرز المزايا التي توفرها هذه الحزمة، والخطوات العملية لدمجها في مشروعك

ما هي حزمة file_save_directory؟

file_save_directory هي حزمة مجانية ومفتوحة المصدر متوفرة على منصة pub.dev، وهي مصممة خصيصًا لمساعدة مطوري Flutter في تمكين المستخدمين من اختيار دليل (Directory) مناسب لحفظ الملفات فيه. هذه الحزمة تُبسّط عملية الوصول إلى أدلة التخزين المحلية عبر واجهة رسومية سهلة، مما يسمح للمستخدم بالتحكم الكامل في موقع حفظ البيانات الناتجة عن التطبيق.

ما يميز هذه الحزمة هو أنها تدعم كلتا المنصتين الرئيسيتين: Android وiOS ، بالإضافة إلى دعمها لنظام الويب وسطح المكتب (Windows, macOS, Linux)، مما يجعلها أداة مثالية للتطبيقات متعددة المنصات.

لماذا تُعتبر هذه الحزمة ضرورية في تطبيقات Flutter؟

1. تجربة مستخدم أفضل
بدلاً من حفظ الملفات في مواقع افتراضية غير مرغوب فيها، يمكن للمستخدم الآن اختيار الدليل الذي يفضله، مما يمنحه شعورًا بالتحكم الكامل في بياناته.

2. سهولة الاستخدام
الواجهة البسيطة للحزمة تعني أنه لا حاجة لكتابة كم هائل من الكود المعقد. فقط بعد استيراد الحزمة واستخدام وظيفة واحدة، يمكنك تمكين المستخدم من اختيار الدليل المناسب.

3. التكامل مع منصات متعددة
سواء كنت تبني تطبيقًا مخصصًا لأجهزة Android أو iOS أو حتى لسطح المكتب، فإن هذه الحزمة تتعامل مع اختلافات المنصات بشكل ذكي، مما يوفر عليك عناء كتابة أكواد منفصلة لكل نظام.

خطوات تثبيت واستخدام الحزمة
الخطوة الأولى: إضافة الحزمة إلى المشروع
قم بإضافة الحزمة إلى ملف pubspec.yaml الخاص بمشروعك:
https://pub.dev/packages/file_save_directory
file_save_directory: ^1.0.0

Android Setup - التثبيت علي نظام اندرويد


<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
    tools:ignore="ScopedStorage" />


2. **Enable Legacy Storage** (For Android 10)
   Inside the `<application>` tag in `AndroidManifest.xml`, add:

```xml
<application
...
android:requestLegacyExternalStorage="true"
...
>
</application>

كيفيه حفظ استخدام المكتبه


final result = await FileSaveDirectory.instance.saveFile(
fileName: 'example.txt',
fileBytes: utf8.encode('Hello, Flutter!'),
location: SaveLocation.downloads, // or SaveLocation.documents, SaveLocation.appDocuments
openAfterSave: true, // Default to true );

ملاحظه
✅ يتطلب Android 11+  في MANAGE_EXTERNAL_STORAGE للوصول الكامل إلى مساحة التخزين المشتركة.
تعليقات