دورة الجافا الرسومية بأستخدام NetBeans ...الدرس(25)_برمجة تطيقات الجوال (7_ التعامل مع إدارة المعلومات الشخصية PIM )

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

دورة الجافا الرسومية بأستخدام NetBeans ...الدرس(25)_برمجة تطيقات الجوال (7_ التعامل مع إدارة المعلومات الشخصية PIM )

مُساهمة من طرف أحمد مناع في الجمعة مايو 17, 2013 3:54 pm

بسم الله الرحمن الرحيم

اهلا وسهلا بكم إخوانى الكرام ومرحبا بكم مجددا ....تحدثنا فى الدرس السابق عن كيفية تخزين البيانات باستخدام RMS ....فى هذا الدرس إن شاء الله تعالى سنتعلم سويا كيفية التعامل مع PIM وهى أختصار للجملة الانجليزية Personal Information Management إدارة المعلومات الشخصية .

_ مفهموم PIM إدارة المعلومات الشخصية .

هى عبارة عن قاعدة بيانات بسيطة والتى تكون موجودة فى معلومات الملف الشخصى MIDP والتى يتم فيها تخزين الاسماء و دفاتر المهام و الملفات و المجلدات ....الخ


_ مفهوم PIM API

هى عبارة عن الية او وسيلة للوصول إلى البيانات الشخصية المخزنة فى قاعدة بيانات PIM فى اجهزة الجوال لتمكين تطبيقات الجافا من القراءة والكتابة من / إلى قواعد بيانات المعلومات الشخصية PIM المخزنة محليا........ سواء كان ذلك في جهات الاتصال والمهام أو المواعيد.

_ كيفية استخدام PIM API للتعامل مع جهات الاتصال بالجوال

لكى تستطيع أستخدام PIM API للتعامل مع جهات الاتصال سواء بالاضافة أو القرءاة يجب عليك فعل الاتى :

1_الاعلان عن كائن الاتصال لتعيين قيم للحقول من جهة الاتصال....وذلك باستخدام الكود التالى :

الرمز:


private ContactList egy =null;


2_ نقوم بجعل الكائن egy فتح اتصال مع جهات الاتصال بالجوال ...بإستخدام الكود التالى :


الرمز:
 

try {

egy=(ContactList)PIM.getInstance().openPIMList(PIM.CONTACT_LIST,PIM.READ_WRITE);
} catch (PIMException ex) {
ex.printStackTrace();

}


كما ترون فى الكود السابق أستخدمنا الطريقة PIM.getInstance وذلك لكون PIM عبارة عن فئة مجردة وبالتالى لا نستطيع إنشاء مثيل منه إلا بأستخدام تلك الطريقة .....بعد ذلك قمنا بفتح CONTACT_LIST وهو جهات الاتصل بالجهاز ...وذلك لكون أن قاعدة بيانات pim تحتوى على ثلاث وجهات :

أ_ CONTACT_LIST ....وهى التى تمكنك من الاتصال بدفتر العناوين....فى الجوال مثل الاسم والعنوان والبريد الإلكتروني، تاريخ الميلاد، ...الخ

ب_ EVENT_LIST ....وهى الواجهة التى تمكنك من إنشاء حدث فى أحد حقول قاعدة البيانات ...بمعنى ان يتم انشاء حدث لموعد معين مثلا فنقوم بحديد مخلص لهذا الموعد وتحديد تاريح بدء الحدث وتاريخ الانتهاء و كيفية اظهار اشعار التنبيه وهكذا .

ج_ TODO_LIST .....وهى الواجهة التى تمكنك من انشاء المهام tasks

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

3_ نقوم اشتقاق مثيل من الكائن Contact و استخدام الطريقة createContact لانشاء جهة اتصال جديدة و ذلك باستخدام الكود التالى :

الرمز:

Contact a = egy.createContact();

4_ نقوم بانشاء مصفوفة من نوع String وذلك لوضع بيانات جهة الاتصال بها ....وذلك على النحو التالى :

الرمز:

String [] name = new String[egy.stringArraySize(Contact.NAME)];

لاحظ استخدام الأسلوب stringArraySize في التعليمات البرمجية السابقة، وهذا الأسلوب هو جزء من واجهة ContactList التي يمكن استخدامها للحصول على (ثابت) حجم مصفوفة نصية .....ولاحظ ايضا الاسلوب NAME وهو جزء من الكائن Contact وهو الخاص بتحديد حقل البيانات المراد الحفظ فية ....كما يوجد حقول اخرى كما فى الصور التالية :






وكل حقل من الحقول السابقة تحتفظ بنوع من البيانات .....فمثلا الحقل ADDR يقوم بحفظ العناوين ...الحقل EMAIL مخصص فى قاعدة بيانات pim لحفظ البريد الالكترونى ...وهكذا



5_ نقوم بإسناد القيم المراد تخزينها فى جهة الاتصال الى الحقول و ذلك على النحو التالى :


الرمز:

name[Contact.NAME_GIVEN] = "ahmed";
name[Contact.NAME_FAMILY] = "manna";
a.addStringArray(Contact.NAME,Contact.ATTR_NONE , name);

6 _نقوم بحفظ البيانات السابقة باستخدام الطريقة commit و ذلك با ستخدام الكود التالى :

الرمز:


try {
a.commit();
} catch (PIMException ex) {
ex.printStackTrace();
}

ويمكنك ملاحظة أن الطريقة commit تستخدم لحفظ كافة الحقول المدرجة فى قاعدة بيات pim وطبعا استخدام تلك الطريقة ينتج عنها الاستثناء PIMException لذلك أستخدمنا معها التعليمة try .....catch والكود بالكامل سيكون كما يلى :

الرمز:


try {

egy=(ContactList)PIM.getInstance().openPIMList(PIM.CONTACT_LIST,PIM.READ_WRITE);
} catch (PIMException ex) {
ex.printStackTrace();

}
Contact a = egy.createContact();

String [] name = new String[egy.stringArraySize(Contact.NAME)];
name[Contact.NAME_GIVEN] = "ahmed";
name[Contact.NAME_FAMILY] = "manna";
a.addStringArray(Contact.NAME,Contact.ATTR_NONE , name);
try {
a.commit();
} catch (PIMException ex) {
ex.printStackTrace();
}

فى الدرس القادم إن شاء الله تعالى سنتعلم سويا كيفية القراءة من جهات الاتصال المختلفة فالى اللقاء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى