صفحة للموافقة على الصلاحيات

 السلام عليكم ورحمة الله وبركاته


في هذه التدوينة اقدم لكم فيها كيف نقوم بإضافة صفحة للموافقة على صلاحيات الوصول لذاكرة التخزين الداخلية فتبدأ الشرح على بركة الله .


اولا : نفعل من خلال المكتبة Library خيار App Compat And Design .





ثانيا : نتوجه إلى حدث onCreate ونضيف بلوك write string الموجود في قسم File ومن خلاله سيتم إضافة الصلاحيات بشكل تلقائي في Android Manifest .

ثالثا : نتوجه إلى قسم Permission ونضيف بلوك التحقق من الصلاحيات طبعاً تحتاج لصلاحيتين القراءة والكتابة على ذاكرة التخزين الداخلية بالنسبة لقراءة ذاكرة التخزين الداخلية 

READ_EXTERNAL_STORAGE 


أما الكتابة على ذاكرة التخزين الداخلية


WRITE_EXTERNAL_STORAGE


فتضيفهما كما موضح بالصور أدناه 







بالنسبة لما موجود في الاول هي بلوكات الانتقال لصفحة الموافقة على الصلاحيات والتي هي باللون الازرق كما موضح بالصورة أعلاه .

بعدها نتوجه الى صفحة الصلاحيات وهذه هي كما تشاهدون بالاسفل 






طبعا سيكون عندك صفحة قبل الموافقة شكل وبعد الموافقة شكل اخر فمن الأفضل هو أن تنشئ كتلة إضافة وتضيف فيها التغييرات التي ستطرئ على الصفحة بعد الموافقة على الصلاحيات لأننا سنحتاجها مرتين وليكن اسمها MoreBlock

نتوجه الى حدث onCreate ونضيف الكود أدناه مع إضافة الكتلة الإضافية 

}

 @Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

if (requestCode == 1001) {

 //User has clicked "grant" or "deny" in the runtime dialog

 if (androidx.core.content.ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED || androidx.core.content.ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED) {

 } else {

//هنا تضاف الكتلة الإضافية 

 }

}

ونتوجه إلى الزر ( سماح ) كما شاهدنا التصميم في الأعلى وهو لإظهار علبة حوار الصلاحيات ونضيف أيضا هذا الكود


if (Build.VERSION.SDK_INT >= 23) {

    if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED && checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) == android.content.pm.PackageManager.PERMISSION_DENIED) {

      requestPermissions(new String[] {android.Manifest.permission.WRITE_EXTERNAL_STORAGE,android.Manifest.permission.READ_EXTERNAL_STORAGE}, 1001);

    }

    else {

  //هنا الكتلة الاضافية

    }

  }

  else {

 //هنا الكتلة الإضافية

 }


واخيرا إلى زر ( الصفحة الرئيسية ) كما شاهدنا بالتصميم أعلاه ونضيف بلوكات الانتقال الى الصفحة الرئيسية كما موضح بالصورة أدناه





او شاهد الشرح على قناتنا


نبذات مختصرة لعلها تفيدك


* نبذة مختصرة عن الزر (Button)

الزر حاجة تستخدم لتنفيذ الاوامر المضافة فيه من قبل المبرمج وهذا الزر يحتوي على ثلاثة احداث 

ولابد من التنويه ان الزر يحتوي على ثلاثة احدث :

* حدث onClick

تضيف في هذا الحدث الاوامر التي تريد تنفيذها عند الضغط على الزر

* حدث onLongClicked

المقصود به عند الضغط المطول على الزر فينفذ الاوامر الموجودة فيه .

* حدث onTouched

 المقصود به عند لمس الزر 

* نبذة مختصرة عن حدث onCreate 

تضاف الاوامر في هذا الحدث ويتم تنفيذ الاوامر الموجود فيه عند فتح التطبيق في حال كانت الصفحة هي الصفحة الرئيسية وايضا يتم تنفيذها الاوامر عند التنقل بين الصفحات يعني لو انتقلنا الى صفحة مثلا الاعدادات ورجعنا للصفحة الرئيسية فايضا يتم تنفيذ الاوامر الموجودة في هذا الحدث 

* نبذة مختصرة عن لاينر H
يستخدم هذا الحدث في حال اردنا ترتيب الحاجيات فيه بشكل افقي فتلقائيا عند اضافة الحاجة يتم الترتيب بشكل افقي فهذه طريقة عمل هذا التخطيط .
* نبذة مختصرة عن بلوك ADS

يستخدم هذا البلوك في اضافة الاكواد فيه والغرض من اضافة هذا البلوك في تطبيق Sketchware هو للتعويض عن الاكواد الغير موجودة في التطبيق واقصد غير موجودة بصيغة بلوك فهذا الغرض من اضافة البلوك ADS او ما يعرف add source directly او طريقة الاستعمال .
* نبذة مختصرة عن البلوك (loadUrl) .
هذا البلوك لا يعمل الا بوجود الحاجة اعلاه وهي webview فهذا البلوك يكون الرابط فيه وعلىwebview تحميل هذا الرابط فيمكنك من خلال هذا البلوك والحاجة اعلاه من انشاء تطبيق لقناتك او موقعك فقط قم بأضافة هذا البلوك في حدث onCreate وضع الرابط الخاص بموقعك او قناتك فذا البلوك وقم بتجميع تطبيقك .

اتمنى أن يكون الشرح نال اعجابكم دمتم بخير



المقالة التالية المقالة السابقة
1 تعليق
اضـف تعليق
comment url