![]() |
|
android- how to store image in SQLite and read it - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم برمجة الهواتف (http://vb4arb.com/vb/forumdisplay.php?fid=208) +--- قسم : قسم مقالات Xamarin.Android (http://vb4arb.com/vb/forumdisplay.php?fid=209) +--- الموضوع : android- how to store image in SQLite and read it (/showthread.php?tid=25730) |
android- how to store image in SQLite and read it - Sajad - 14-07-18 بسم الله الرحمن الرحيم
في هذا المثال البسيط سنتعلم كيفية خزن صورة في قاعدة بيانات SQLite وكيفية قرائتها في تطبيق اندرويد.
خطوات عمل ذلك هي كالتالي: 1- اضافة مكتبة sqlite-net-pcl من nuget package. Reference->Manage NuGet Packages->sqlite-net-pcl->install
2- انشاء قاعدة بيانات جدول باستخدام هذا البرنامج الخاص بالتعامل مع قاعدة بيانات SQLite يضم الحقول التالية: ProfileId, FullName, ProfileImage وهذه الاخير تكون من نوع blob لكي نخزن الصورة عله شكل bytes. رابط تحميل برنامج sqlitebrowser: http://sqlitebrowser.org ثم يتم نقل ملف قاعدة البيانات الى مجلد Assets. 3- انشاء Class يحاكي الجدول مع عناصره من حيث نوع البيانات ولا يشترط ان تكون بنفس اسم الجدول او الحقول، حيث يتم ربط الجدول بهذا الـ Class للتعامل معها. PHP كود : using SQLite;يجب عليك استخادم SQLite Attribute لتعليم اسم الجدول وكذلك الحقول ويجب ان تكون الـ Attributes بنفس اسماء الحقول ولا يهم هنا إن كتبتها Capital or Small. 4- انشاء Class للتعامل مع العمليات على الجدول. PHP كود : using Android.App;هذا الـ Class يضم عدة دوال منها قراءة كل البيانات وقراءة سطر بالاعتماد على الـ id وايضا دالة لادخال البيانات ودالة مهمة جدا وهي دالة Copy هذه الدالة وظيفتها قراءة نسخ ملف قاعدة البيانات من مجلد Assets الى جهاز الاندرويد لان الملفات التي تخزن في الـ Assets هي ملفات ثابتة لا يمكن الكتابة عليها لذا يجب نقلها الى الجهاز لنتمكن من التعديل عليها. 5- انشاء Class باسم Converter تحوي دالة لتحويل الصورة الى bytes ودالة اخرى لتحويل الـ bytes الى صورة. PHP كود : using Android.Content;لاحظ استخدام await-async لانه من المحتمل ان تكون حجم الصورة كبيرة جدا لذا قد يؤثر على التطبيق لذا من الافضل استخدام هذه الطريقة لكي لا تؤثر على عمل التطبيق.
الصورة التي نقرأها موجودة داخل مجلد drawable بحيث يتم تحويلها الى Bitmap ومن ثم الى bytes.
لذا هذا مثال بسيط فمن المحتمل انك ستقرأ صورة من الانترنت او من الجهاز.
المثال تجدوه على github من الرابط التالي:
تحياتي لكم
|