عن المشروع
MyMovieStore هو تطبيق أصلي لأندرويد لتصفح ومشاهدة الأفلام والمسلسلات مبرمج بلغة Kotlin، ويعمل نفس ملف APK على الهواتف وأجهزة Android TV/الصناديق. يقسم التطبيق الوظائف إلى طبقة اكتشاف المحتوى وطبقة تشغيل المحتوى: تستخرج طبقة اكتشاف المحتوى محتوى الأفلام والمسلسلات من صفحات دووبان، وتدعم التصفح حسب التصنيفات مثل الأفلام والمسلسلات والبرامج الترفيهية والأنمي؛ وتجمع طبقة تشغيل المحتوى 19 مصدرًا للتشغيل بالزحف (مثل Jujiwu وYinghua Dongman وDianying Tiantang وغيرها)، وتدعم البحث المتوازي متعدد المصادر، والترتيب بطريقة الإدراج، وتحليل التفاصيل، والتشغيل عبر Media3 ExoPlayer.
يمتلك المشروع نظامًا وظيفيًا متكاملًا نسبيًا: يدعم المشغل نظام التعليقات المباشرة (البحث متعدد المصادر، والتخزين المؤقت، والأولوية المحلية، وتكيّف حجم الخط)، وسجل التشغيل، وسجل البحث، والإدارة عن بُعد لإعدادات مصادر الفيديو، وتنظيف ذاكرة التصنيفات المؤقتة، وإدارة تنزيل M3U8 (بما في ذلك فك تشفير تدفقات AES-128 المشفرة، واستئناف التنزيل من نقطة التوقف، والتشغيل دون اتصال)، وتحديد معدل الزحف (طابور مستقل لكل مصدر، وحد أدنى للفاصل الزمني 3 ثوانٍ، والاستباق حسب الأولوية)، بالإضافة إلى تجاوز Cloudflare، والتدهور عند اعتراض بصمة TLS وغيرها من آليات مكافحة الزحف.
يتم تكييف Android TV عبر تحديد الشكل أثناء التشغيل، مع المشاركة الكاملة في طبقة الشبكة وRepository وViewModel وتغليف المشغل، ويقتصر نطاق التكييف على طبقة واجهة المستخدم. توفر واجهة التلفاز واجهة 10-foot UI (تكبير الكثافة 1.45 مرة)، ونظام تركيز D-pad لجهاز التحكم، وشريط تنقل علوي، والبحث عبر مسح رمز QR بالهاتف، وحمايات عند غياب الإمكانات.
تعتمد حزمة التقنيات على Kotlin 2.0.0 وGradle 8.9 وminSdk 24 وtargetSdk 36، وتستخدم مكونات Room وOkHttp وMedia3 ExoPlayer وZXing وغيرها. يُعرَّف المشروع على أنه تمرين على زحف الكود بلغة Kotlin، وبنية الكود واضحة، ولاستضافة مصدر تشغيل جديد يكفي وراثة CrawlerVideoSource وتنفيذ طريقتي تحليل.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.