البرمجة

تقاطع الكاميرا وتشفير Base64 في تطبيق Android

في البداية، يتناول الكود الذي قدمته مشكلة محددة تتعلق بالتقاط صورة باستخدام الكاميرا في تطبيق Android وتحويلها إلى تشفير Base64 دون الحاجة إلى حفظ الصورة على الذاكرة الخارجية. يبدأ الكود بتحديد متغيرات البيئة اللازمة لتخزين الصور، ثم يقوم بتكوين زر لالتقاط الصور. عند النقر على الزر، يتم التقاط الصورة وحفظها في ملف على الذاكرة الخارجية. يتم التعامل مع نتيجة التقاط الصورة في دالة onActivityResult حيث يتم تسجيل رسالة تأكيد في حالة نجاح عملية التقاط الصورة.

من ثم، يتم استخدام كود آخر لتحويل الصورة إلى تشفير Base64. تستخدم دالة encodeToBase64 لأخذ كائن Bitmap كمدخل وتقوم بضغطه باستخدام تنسيق محدد وجودة معينة، ثم تحوله إلى سلسلة نصية مشفرة Base64. يتم هذا عبر تيار البايت ByteArrayOutputStream ودالة Base64.encodeToString.

الطريقة المقترحة تبدو أكثر مباشرة وأسهل، حيث يمكنك الآن تحويل الصورة مباشرة إلى Base64 دون الحاجة إلى حفظها في ملف ثم البحث عن الملف لتشفيره. الكود النهائي يحقق هذا الهدف ويسمح لك بالتقاط الصورة وتحويلها إلى Base64 دون حفظها محليًا.

المزيد من المعلومات

بالطبع، دعني أوسع شرحي لهذا الكود لضمان فهم شامل للعملية. يبدأ الكود بتعيين المتغيرات اللازمة، حيث يتم تحديد المجلد الذي سيتم فيه حفظ الصور باستخدام الكاميرا. يتم إنشاء ملف جديد لكل صورة يتم التقاطها، ويتم ترقيمها باستخدام المتغير count.

ثم يتم تكوين زر الالتقاط (capture) وتعيين استماع لنقرة الزر. عند نقر المستخدم على الزر، يتم زيادة قيمة المتغير count وإعداد اسم الملف الجديد باستخدامه. يتم إنشاء ملف جديد وتحديده باسم ملف الصورة، ويتم تكوين Uri له. ثم يتم إطلاق نية (Intent) لتشغيل كاميرا الجهاز باستخدام MediaStore.ACTION_IMAGE_CAPTURE وتحديد مكان حفظ الصورة باستخدام MediaStore.EXTRA_OUTPUT والذي يستخدم Uri الذي تم إعداده مسبقًا.

بعد التقاط الصورة، يتم التعامل مع نتيجة العودة في دالة onActivityResult حيث يتم تسجيل رسالة تأكيد بنجاح عملية التقاط الصورة.

بالنسبة للجزء الثاني من الكود، يستخدم لتحويل الصورة إلى تشفير Base64. يقوم بضغط الصورة باستخدام تنسيق وجودة معينة، ثم يحول البايتات المضغوطة إلى سلسلة نصية مشفرة Base64 باستخدام Base64.encodeToString. تكون هذه السلسلة النصية الناتجة جاهزة للاستخدام كمدخل لأي API تتوقع البيانات المشفرة Base64.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

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