عندما كان Android 10 لا يزال في أيامه التجريبية الأولى ، كان لدى Google خطط لتغيير كبير في الطريقة التي يمكن للتطبيقات من خلالها الوصول إلى الملفات والمجلدات الموجودة في وحدة التخزين الخارجية لهاتفك (أشياء مثل الصور التي تضعها أنت أو التطبيقات الأخرى في / data / media ، وليس بطاقة SD الموجودة في العديد من طرز Android).
كان هذا التغيير يُعرف باسم Scoped Storage ، وكان الغرض منه هو القضاء على إساءة استخدام أذونات READ_EXTERNAL_STORAGE التي يرغب العديد من التطبيقات والمطورين في طلبها.
تم تحديد هذه التغييرات في الأصل لتطبيقها على كل تطبيق على هاتف يعمل بنظام Android 10 أو أحدث ، ولكن بسبب رد فعل المطور ، غيّرت Google مسارها وتطلبت فقط استخدام Scoped Storage للتطبيقات التي تستهدف Android API المستوى 29 ، وهو Android 10. ولكن مع عودة Android 11 Scoped Storage ، ومن غير المحتمل أن تغير Google رأيها هذه المرة.
أهم 10 ميزات في Android 11 تحتاج إلى معرفتها الآن
المحتويات
كيف يعمل Scoped Storage
المصدر: Android Central
في وقت من الأوقات ، كان Android يعمل مثل أي نظام تشغيل سطح مكتب آخر عندما يتعلق الأمر بالوصول إلى ملفاتك ؛ أشياء مثل المستندات والصور والموسيقى أو أي شيء آخر تريد تخزينه على جهازك كان متاحًا لفتح أي تطبيق آخر. لقد قلت أنه من الجيد أن يقوم التطبيق بذلك عند تثبيته ، وقد فعل ذلك للتو. باستخدام واجهة المستخدم الأصلية للتطبيق ، يمكنك تصفح نظام الملفات ومشاهدة جميع ملفاتك العامة.
تحقق من أفضل خدمات VPN التي يمكنك استخدامها في عام 2020
باستخدام Android 4.4 KitKat ، بدأت Google في إجراء تغييرات وإضافة قيود على كيفية وصول التطبيق إلى الملفات التي لا يمتلكها ، ومع Android 5.1 ، تم تنفيذ Storage Access Framework. أعطى ذلك للتطبيقات طريقة للوصول إلى الملفات الموجودة في مجلدات أخرى باستخدام Android API بدلاً من استخدام عمليات ملف البرمجة القياسية. إنها تعمل. إنه بطيء وغير شائع إلى حد ما ، لكنه متاح الآن ، وقد جربه كل مطور تطبيق يحتاج إلى هذا النوع من الوصول العالمي على الأقل لمعرفة مدى ملاءمته أو عدم ملاءمته بناءً على احتياجاتهم.
باستخدام Scoped Storage ، تكون الأشياء أكثر تقييدًا وأسهل في نفس الوقت. يُمنح التطبيق المتوافق مجلدًا خاصًا به للبيانات التي يواجهها المستخدم. تحتوي التطبيقات بالفعل على مجلد خاص بوضع الحماية لتخزين ملفاتها المطلوبة وهذا غير متاح لأي تطبيق آخر. يمنح Scoped Storage القدرة على إنشاء مجلد ثانٍ للملفات التي ينشئها التطبيق. فكر في تطبيق مثل مسجل الصوت ، على سبيل المثال ؛ يحتاج إلى مكان ما لتخزين الملفات الصوتية التي ينشئها.
تم إعداد المطورين لاستخدام طرق محددة للوصول إلى الملفات منذ Lollipop ، لكنهم لا يحظون بشعبية كبيرة.
لا يحتاج التطبيق إلى إذن لقراءة أو كتابة أي ملف في هذا المجلد ، لذلك لا تتم مطالبتك بمنح أي أذونات عند تشغيله لأول مرة فيما يتعلق بمواقع قراءة الملفات وكتابتها ؛ تحتاج التطبيقات أيضًا إلى إذن لكل مجلد يريدون الوصول إليه ولكن لا يمتلكونه.
سيحتاج المطورون الذين يحتاجون إلى الوصول إلى المجلدات التي لا يمتلكها تطبيقهم إلى استخدام واجهات برمجة تطبيقات Storage Access Framework. هذا يعني أنه يحتاج إلى الاستعلام عن واجهة برمجة التطبيقات لمعرفة ما إذا كانت الملفات موجودة والحصول على موقع الجهاز ثم اطلب من المستخدم الإذن باستخدامه. كانت هذه هي أفضل الممارسات الموصى بها للوصول إلى الملفات منذ Android Lollipop ، لذا فهي ليست جديدة تمامًا. ولكن مع Scoped Storage ، يتم الآن تطبيقه بصرامة ولم يعد “اختياريًا”.
لماذا إجراء هذا التغيير؟
المصدر: يوتيوب
تقدم Google سببين وجيلين لإجراء هذا التغيير: الأمان وتقليل بقايا “فوضى التطبيقات”.
سبب التغيير جيد ، لكنه يعني المزيد من العمل للمطورين.
على الصعيد الأمني ، يؤدي هذا التغيير إلى بعض الأشياء. أولاً وقبل كل شيء ، يسمح للمطور بالحصول على مساحة خاصة به على تخزين جهازك تكون خاصة دون طلب أي أذونات محددة عند التشغيل لأول مرة. ولا يمكن لأي تطبيق آخر الوصول إلى أي مستند يقوم بإنشائه بدونه أنت يقول يمكن.
ثانيًا ، وعلى نفس القدر من الأهمية ، فإنه يقلل من إساءة استخدام إذن READ_EXTERNAL_STORAGE. عندما تمنح هذا الإذن لأحد التطبيقات اليوم ، فإنه يمنحك الوصول إلى وحدة التخزين الخارجية بالكامل حيث نقوم بحفظ أشياء مثل الصور والمستندات الخاصة ومقاطع الفيديو والملفات الأخرى التي قد تكون حساسة. مع فرض Scoped Storage ، يمكن للتطبيقات فقط رؤية مجلدات البيانات الخاصة بها بالإضافة إلى أنواع وسائط معينة مثل ملفات الموسيقى باستخدام واجهات برمجة تطبيقات تخزين أخرى.
تم تطوير واجهات برمجة التطبيقات الجديدة جنبًا إلى جنب مع برنامج لمطوري مديري الملفات للحصول على “وصول خاص”.
يمكن أن تمنح واجهات برمجة التطبيقات هذه حق الوصول للعرض والكتابة والحذف وحتى الإجراءات المجمعة من خلال استخدام موجه مستخدم مبني على النظام يسمح لك بالسماح بالإجراء أو رفضه. يجب أن تعمل واجهات برمجة التطبيقات هذه على تبسيط التطوير للتطبيقات مثل مشغلات الموسيقى أو محرري الصور حتى بدون فرض التخزين Scoped Storage.
الحد من فوضى التطبيق يحتاج إلى القليل من الشرح. عندما تقوم بإلغاء تثبيت أحد التطبيقات ، فإن الملفات والمجلدات التي يتم إسقاطها على مساحة تخزين جهازك بمجرد منحه الإذن للقيام بذلك ابقى في الخلف. يمكن أن يبدأ ما يكفي من بقايا الطعام في التأثير على الأداء ، خاصةً إذا كانت الملفات تستخدم اسمًا شائعًا يمكن تكراره بواسطة تطبيق آخر. إذا أنشأ مطور تطبيقًا يقوم بإنشاء وسائط مثل تطبيق الكاميرا أو مسجل الموسيقى ، على سبيل المثال ، فيمكنه استخدام مواقع مجلد الوسائط القياسية لإيداع الأشياء التي تنشئها حتى لا تتم إزالتها إذا تم إلغاء تثبيت التطبيق.
ماذا عن مديري الملفات؟
المصدر: يوتيوب
مطورو التطبيقات مثل مديري الملفات الذين يريدون الوصول إليها كل يمكن للملف الموجود في وحدة التخزين الخارجية القيام بذلك من خلال Storage Access Framework بمجرد منح الإذن من Google – علمنا في أكتوبر 2019 في مؤتمر Android Developer Summit أنه تم تنفيذ برنامج يسمح بـ “الوصول الخاص”.
تحتاج التطبيقات الشرعية إلى هذه الأذونات الخاصة.
يمنح المستخدم إذنًا لتطبيق مدير الملفات للوصول إلى الجذر (مجلد المستوى الأعلى) لوحدة التخزين الخارجية ، وبالتالي منح وصول متكرر إلى كل مجلد وملف بداخله. نظرًا لأن هذا اختيار واسع جدًا وكان أحد أهداف Scoped Storage هو السيطرة على التطبيقات التي تريد هذا المستوى من الوصول ، فمن الجيد أن Google ستلقي نظرة خاصة على التطبيقات التي تريد القيام بذلك ومنح أذونات للتطبيقات المشروعة مثل مدير الملفات المفضل لديك.
التخزين المحدد النطاق سيحدث هذه المرة
المصدر: Joe Maring / Android Central
لم تكن التعليقات المبكرة لـ Scoped Storage جيدة جدًا. كان هناك حتى عريضة تطلب من Google إزالة الميزة وإعادة التفكير في تنفيذها.
وهو في الغالب ما فعلته Google. كان Scoped Storage متاحًا في إصدار Android 10 الرسمي ، لكن لم يُطلب من المطورين استخدامه. لكن هذا كل شيء على وشك التغيير. من موقع مطوري Android.
لمنح المطورين وقتًا إضافيًا للاختبار ، لا يزال بإمكان التطبيقات التي تستهدف Android 10 (المستوى 29 من واجهة برمجة التطبيقات) طلب سمة requestLegacyExternalStorage. تسمح هذه العلامة للتطبيقات بإلغاء الاشتراك مؤقتًا في التغييرات المرتبطة بالتخزين المحدد النطاق ، مثل منح الوصول إلى أدلة مختلفة وأنواع مختلفة من ملفات الوسائط.
يجب أن يستخدم أي تطبيق يستهدف Android 11 أو إصدار أحدث واجهات برمجة تطبيقات التخزين الجديدة ، بما في ذلك Scoped Storage. تنص التغييرات على اتفاقية مطوري Google Play على أنه اعتبارًا من 1 أغسطس 2020 ، يتم إرسال جميع التطبيقات الجديدة إلى Google Play يجب تستهدف Android 10 أو الأحدث ، ويجب أن تستهدف جميع التحديثات للتطبيقات الحالية Android 10 أو إصدار أحدث اعتبارًا من 1 نوفمبر 2020. توقع هذا السلوك نفسه ومن المحتمل أن تكون تطبيقات العام المقبل مطلوبة لاستهداف Android 11.
هذا يعني أنه ما لم يكن مطور التطبيقات على استعداد للسماح لتطبيق ما بالذبول والموت في بحر من التطبيقات القديمة ، فيجب تنفيذ Scoped Storage قريبًا. لحسن الحظ ، استمعت Google هذه المرة إلى التعليقات وجعلت الأمور أسهل بالنسبة للتطبيقات التي تحتاج إلى وصول كامل أو خاص ، كما أن واجهات برمجة التطبيقات الجديدة في Android 11 تجعل الأمور الأخرى أسهل أيضًا. يجب أن نرغب جميعًا في الحصول على نظام Android أكثر أمانًا وأمانًا.
قد نربح عمولة على المشتريات باستخدام روابطنا. أعرف أكثر.