شارك المقالة

شرح تخزين اي نوع بيانات من الانترنت في cache داخل تطبيقك في Flutter


شرح تخزين اي نوع بيانات من الانترنت في cache داخل تطبيقك في Flutter

في هذه المقالة سوف نشارك معكم طريقة لتخزين البيانات التي يتم الحصول عليها من الانترنت سواء كنت تستخدم firebase او api فيمكنك من خلال هذه المكتبة تخزين البيانات التي ترغب بها بمختلفف الاشكال في الذاكرة المؤقته في جهازك حتى تتمكن من فتحها في حالة عدم وجود الانترنت بسهوله , يوجد اكثر من طريقة تستطيع من خلالها تنفيذ هذه العملية ولكن هذه الطريقة تعد الابسط حيث انها عباره عن مكتبة كل ما تحتاجه فقط هو الرابط وبعدها سوف يتم التعامل معه وايضا يمكنك وضع مده معينه للتحميل وبعدها يتم حذف الملف من الذاكرة المؤقته من جهاز المستخدم .


Native ARM هي إحدى ميزات Flutter المفيدة للشركات الناشئة والشركات التقنية. يمكّنك من تنفيذ فكرتك وجني ثمارها الكاملة لمشاريعك اللاحقة. سيجد المستخدمون أنه من الأسهل قراءة مواد الويب في تطبيقات الهاتف بفضل هذه الخصائص. يسهل Flutter أيضًا تثبيت التطبيق والتنقل. ثم تبين أن أحدث ترقية لـ Dart.2.2 قد غيرت قواعد اللعبة. تحسين أداء التعليمات البرمجية المترجمة AOT. يتوفر أيضًا عدد من فئات المجموعات في مكتبة dart لنمذجة الخرائط والقوائم ومجموعات الكائنات. تتيح الميزة إمكانية متابعة المعاملة في تطبيقك عندما يبدأ المستخدم واحدة في متجر التطبيقات.


add package :


media_cache_manager: ^0.0.2+1

better_player: ^0.0.83



How to cache any medi in Flutter

يمكنك استخدام الاكواد التاليه حتى تستطيع استخدام المكتبة بسهوله وهذه الاكواد توضح العملية التي تتم خلال تحميل الملفات وتثبيتها في الذاكرة المؤقته في جهاز المستخدم حتى يتمكن للوصول اليها في اي وقت , في الجزء الاول قمنا بتحميل فيديو ولهذا يمكنك اعطاء رابط الفيديو للمكتبة وفي حالة التحميل سوف يظهر ايقونه للانتظار وعند الانتهاء سوف يكون جاهز لكي تشغله من خلال مكتبة اخرى تحصل على البيانات من الجهاز الخاص بك وتقوم بعرضها بدون مشاكل وفي الكود الاخر نفس الطريقة ولكن كانت على صورة وللحصول على صورة من داخل الجهاز يمكنك استخدام file حتى تتمكن من الوصول الى المسار وعرض ما بداخله بدون مشاكل .


How to cache any medi in Flutter

code.dart


void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await DownloadCacheManager.setExpireDate(daysToExpire: 5);
  runApp(const MyApp());
}

// ------------ code

class CacheUrls extends StatefulWidget {
  const CacheUrls({Key? key}) : super(key: key);

  @override
  State<CacheUrls> createState() => _CacheUrlsState();
}

class _CacheUrlsState extends State<CacheUrls> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            DownloadMediaBuilder(
              url: '###VIDEO',
              builder: (context, snapshot) {
                if (snapshot.status == DownloadMediaStatus.loading) {
                  return LinearProgressIndicator(value: snapshot.progress);
                }
                if (snapshot.status == DownloadMediaStatus.success) {
                  return BetterPlayer.file(snapshot.filePath!);
                }
                return const Text('Error!');
              },
            ),
            SizedBox(height: 20),
            DownloadMediaBuilder(
              url: '##IMG',
              builder: (context, snapshot) {
                if (snapshot.status == DownloadMediaStatus.success) {
                  return Image.file(File(snapshot.filePath!),height: 200,width: 200,fit: BoxFit.cover,);
                }
                return null;
              },
            )
          ],
        ),
      ),
    );
  }
}

شاهد أيضًا
مقالات ذات صلة
شرح انشاء API لتطبيق store book باستخدام sql في NodeJS

شرح انشاء API لتطبيق store book باستخدام sql في NodeJS في هذا الجزء سوف نشرح…

شرح Composite Design Pattern بالتفصيل مع مثال عملي بلغة Java، يوضح كيفية التعامل مع الكائنات الفردية والمركبة بنفس الطريقة، مع ذكر المميزات والعيوب وحالات الاستخدام.
شرح Composite Design Pattern بالتفصيل مع مثال Java ومعرفة المميزات والعيوب

شرح Composite Design Pattern بالتفصيل مع مثال توضيحي ومعرفة العيوب والمميزات يُعد Composite Design Pattern…

كود برنامج subsets باستخدام برنامج swi prolog بالعربي

  متابعي موقع جي كودرس geecoders مرحبا بكم في مقالة جديدة من دروس البرولوغ حيث…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع