شارك المقالة

شرح تخزين اي نوع بيانات من الانترنت في 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;
              },
            )
          ],
        ),
      ),
    );
  }
}

شاهد أيضًا
مقالات ذات صلة
برنامج بلغة سي بلس بلس يقوم بحساب الاعداد الاولية | Print the prime numbers c++

كود برنامج لايجاد الاعداد الاولية بلغة C++ زوار موقع GeeCoders تحيه طيبه لكم وبعد .…

برنامج جافا لإيجاد مجموع الأرقام الطبيعية – natural numbers java code

كود برنامج جافا لمعرفة مجموع الأرقام الطبيعية  اعضاء وزوار جي كودرس geecoders مرحبا بكم في…

حل مشكله Development team has reached maximum number of registered iPhone devices

حل مشكله Development team has reached maximum number of registered iPhone devicesيا أهل، إذا كنت…

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

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