موقع الكمبيوتر الكفي
موقع الكمبيوتر الكفي

العودة   الكمبيوتر الكفي > منتديات Google Android > ملتقى المطورين لنظام Google Android
التسجيل انظمة المنتدى التقييم التجاري التعليمات قاعة المؤتمرات محرك البحث

للتذكير فقط ....

رسالة وداع للجميع واعلان اغلاق الموقع
رد
 
أدوات الموضوع
قديم 02-01-2012, 04:05 PM   #1
عضو مشارك
 
الصورة الرمزية Masoun
 
تاريخ التسجيل: 21-06-2011
الدولة: سوريا
المشاركات: 200
مشاركات الشكر: 65
شكر 182 مرات في 82 مشاركات
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )

الدرس الثاني
تصميم واجهة التطبيق
الدرس التالي هو استكمال للدرس الأول من أجل متابعة التصميم البرامج

إن تصميم واجهة التطبيق يمكن أن يتم بطريقتين


1- التصميم الستاتيكي ( و هو أن يتم التصميم في بداية كتابة البرنامج و يبقى ثابتاُ) و هو الأسهل
2- التصميم الديناميكي ( يتم التصميم أو بالأحرى رسم الواجهة أثناء تشغيل البرنامج) و هو أصعب .
1- التصميم الستاتيكي ( الثابت ).
لتصميم واجهة التطبيق الخاص بك تم تزويد B4A بمصمم ( Designer ) لواجهات التطبيقات حيث نقوم بتصميم صفحة تسمى (Layout) نضع فيها جميع العناصر التي نريدها
بعد فتح البرنامج شغل المحاكي عن طريق (Tools->Run AVD Manager ) و اضغط زر Start و انتظر قليلا ليبدأ العمل عد إلى شاشة التطبيق الرئيسية و اضغط على Designer ستفتح شاشة جديدة كالشكل التالي :
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )




من خلال Tools->Connect اتصل بالمحاكي من أجل البدء بعملية التصميم
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )
ستلاحظ أن شاشة المحاكي أصبحت سوداء و في رأس الصفحة ستجد أسم الصفحة الافتراضي (Activity)
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )
الآن بمكنك البدء بوضع العناصر التي تسمى في لغة B4A باسم Views
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )

قم بتحرير وضعية كل عنصر من عناصر الواجهة بالشكل الذي تريده يمكنك بالطبع تغيير خصائص كل عنصر بالشكل الذي تريده (الاسم – اللون – الارتباط – الخ) بعد الانتهاء من تصميم الواجهة قم بحفظها .
سيق
وم البرنامج بحفظها بلاحقة .bal أي اختصارا لـ Basic 4 Android Layout . ستحفظ الصفحة بنفس المجلد الذي وضعنا في مشروعنا ضمن مجلد باسم Files.
و لكن حتى الآن لا يمكننا استخدام هذه الصفحة أو الواجهة ضمن برنامجنا فنحن بعيدون بخطوتين عن استخدامها
حتى نتمكن من استخدام العناصر يجب القيام بعملية Tools->Generate Members تقوم العملية بتعريف جميع العناصر و وضعها في مشروعنا فلو أننا مثلا وضعنا عنصر Button و ضغطنا على Generate members ستظهر الشاشة التالية
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )
حيث تظهر كما ذكرنا في الدرس السابق جميع الأحداث المرتبطة بالعناصر ابتداءاً بالـواجهة (Touch-Keypress-click-Long Click ) و العنصر Button1 (Down-Up-Click-LongClick) نختار منها على الأقل اسماء العناصر المطلوبة مثال : Button1 و نضغط على زر Generate Members سنلاحظ أن في شاشة البرنامج الرئيسية قد تم إضافة سطر للدلالة على هذا العنصر.
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )

الآن تمت إضافة العنصر إلى المشروع و لكن إذا قمنا الآن بتشغيل المشروع (البرنامج) F5 سنلاحظ أن شيئاً لم يحدث .
نعم هناك نقطة أخيرة يجب تنفيذها و هي طلب عرض صفحة التطبيق و تتم عن طريق الكود التالي
كود:
Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Page1") End Sub
بالطبع انا افترضت أننا قدسمينا صفحة التطبيق Page1 و سنجد الملف Page1.bal كما ذكرنا في مجلد Files ضمن مجلد المشروع


ملخص العملية

1- افتح المشروع الذي تريده.
2- شغل المحاكي
3- شغل المصمم Designer
4- قم بوضع تصميم لواجهة التطبيق الذي تريده بإضافة جميع العناصر التي تريدها ( Views ) .
5- قم بحفظ ملف الواجهة .
6- قم بعملية Generate Members لجميع العناصر التي أدخلتها يمكنك استخدام Select all Views.
7- في كود تشغيل البرنامج حمل ملف الواجهة.

2- التصميم الديناميكي للواجهات
إن عملية التصميم الديناميكي للواجهات هي عملية برمجية محضة و تتم في القسم الأول من البرنامج
الكود التالي يشرح عملية بناء العناصر
كود:
Sub Globals
        Dim Btn1, Btn2, Btn3 As Button
  End Sub
   
  Sub Activity_Create(FirstTime As Boolean)
        Btn1.Initialize("Btn")
        Btn2.Initialize("Btn")
        Btn3.Initialize("Btn")
        Activity.AddView(Btn1, 10dip, 10dip, 200dip, 50dip)
        Activity.AddView(Btn2, 10dip, 70dip, 200dip, 50dip)
        Activity.AddView(Btn3, 10dip, 130dip, 200dip, 50dip)
  End Sub
لاحظ في القسم الأول( تعريف متحولات عامة ) تم تعريف ثلاثة أزرار بالأسماء [/FONT]Btn1, Btn2, Btn3
أما في القسم الثاني Activity Create تم أولا تهيئة هذه المتحولات و من ثم يتم إضافة الأزرار على شكل عناصر ضمن إحداثيات معينة و و طول و عرض ( الواحدة هي بكسل dip )
لإكمال درسنا عن تصميم واجهة البرنامج لابد من التطرق إلى كيفية تغيير أيقونة البرنامج
Project -> Change Icon
صناعة تطبيقات الأندرويد بلغة البيسك الدرس الثاني (تصميم الواجهات )

و بالطبع يمكنك تغيير اسم الحزمة و اسم التطبيق ليصبح أقرب للمستهلك, يمكن تغيير نسخة البرنامج إذا قمت بتعديل و تحسين برنامجك, من العناصر المهمة أيضا Can Install to External Storage أي تخزين البرنامج على الذاكرة الخارجية
و بالنهاية إمكانية أن يعمل برنامجك حسب وضعية الجهاز بالبداية أنصحكم بأن تقفلوا الجهاز على وضعية معينة بحيث يمكنم العمل عليها دون الاهتمام بتفاصيل نقل العناصر حسب وضع الجهاز


مثال على تصميم الواجهات بطريقة ديناميكية
أدخل الكود التالي في مشروع جديد و راقب النتيجة (ادخل فقط السطور الجديدة )

كود:
  Sub Globals
  End Sub
  
  Sub Activity_Create(FirstTime As Boolean)
  For i = 0 To 9 'create 10 buttons
  Dim Btn As Button
  Btn.Initialize("Btn")
  Activity.AddView(Btn, 10dip, 10dip + 60dip * i, 200dip, 50dip)
  Next
  End Sub
  
  Sub Btn_Click
  Dim b As Button
  b = Sender
  b.Color = Colors.RGB(Rnd(0, 255), Rnd(0, 255), Rnd(0, 255))
  End Sub
Masoun غير متصل   رد مع اقتباس
عدد 7 من الاعضاء يشكرون Masoun على مشاركته الطيبة ويطلبون المزيد من هذه المشاركات الرائعة ويدعون له بالتوفيق
مشاهدة/اخفاء قائمة الشكر لهذه المشاركة

اخر 5 مواضيع للعضو Masoun
الموضوع الاقسام الرد الاخير للعضو الردود مشاهده اخر مشاركة
فحص هاتفك هل هو أصلي أو غير أصلي منتدى هواتف Google Android العام Masoun 0 11600 28-08-2013 12:13 AM
عمل رووت للتابلت الصيني PIPO M8 منتدى الأجهزة اللوحية لنظام Google Android العام Masoun 0 5773 13-08-2013 09:32 PM
تحديث الإعدادات السريعة للنكسوس روم جيلي بين 4.2 قسم ترقيات Google Nexus saif 99 11 2498 17-12-2012 09:31 PM
برنامج صغير وبسيط ومهم byte map منتدى Google Android للبرامج ahmed663272 2 2069 24-11-2012 09:39 AM
تحديثات من نسخة اندويد 4.2 قسم ترقيات الأجهزة الأخرى بنظام Google Android hammod_85110 5 2792 03-11-2012 11:14 PM


اعلان

قديم 04-01-2012, 01:28 AM   #2
عبود طش أم طش
في الانتظار
 
تاريخ التسجيل: 03-01-2007
الدولة: .....
المشاركات: 97
مشاركات الشكر: 3
شكر 49 مرات في 13 مشاركات

يعطيك العافية اخوي ..

عبود طش أم طش غير متصل   رد مع اقتباس
العضو التالي يشكر عبود طش أم طش على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 05-01-2012, 07:39 PM   #3
omarbarham
عضو جديد
 
الصورة الرمزية omarbarham
 
تاريخ التسجيل: 13-08-2011
الدولة: الاردن
المشاركات: 75
مشاركات الشكر: 8
شكر 135 مرات في 35 مشاركات

السلام عليكم

اخوي عندي سؤال وكنت احاول ارسل لك رسالة خاصة ولكن الخاصية موقوفة حاليا

السؤال اخوي عندما احجز متغير double في برنامج اله الحاسبة تكون فيه مشكله
عندما اقسم مثلا 5/5 ويكون الناتج صفر يظهر بالشكل 0.0
هل هناك حل لانه جربت NumberFormat ولم يفدني
اصبح يظهر مثلا 8/3 = 2 لاوليس 2.6 هل هناك حل مناسب وشكرا

omarbarham غير متصل   رد مع اقتباس
قديم 05-01-2012, 07:42 PM   #4
ce4arab
عضو اساسي
 
الصورة الرمزية ce4arab
 
الرتبة الادارية: رئيس مجلس الادارة
تاريخ التسجيل: 19-12-2002
الدولة: KSA
المشاركات: 14,645
مشاركات الشكر: 7,479
شكر 16,641 مرات في 3,141 مشاركات

الاوسمة التي حصل عليها

ماشاء الله
درس متكامل سجلني من المتابعين لهـذه الدروس

ce4arab غير متصل   رد مع اقتباس
عدد 2 من الاعضاء يشكرون ce4arab على مشاركته الطيبة ويطلبون المزيد من هذه المشاركات الرائعة ويدعون له بالتوفيق
قديم 07-01-2012, 02:20 PM   #5
Masoun
عضو مشارك
 
الصورة الرمزية Masoun
 
تاريخ التسجيل: 21-06-2011
الدولة: سوريا
المشاركات: 200
مشاركات الشكر: 65
شكر 182 مرات في 82 مشاركات

اقتباس:
المشاركة الأصلية كتبت بواسطة omarbarham مشاهدة المشاركة
السلام عليكم

اخوي عندي سؤال وكنت احاول ارسل لك رسالة خاصة ولكن الخاصية موقوفة حاليا

السؤال اخوي عندما احجز متغير double في برنامج اله الحاسبة تكون فيه مشكله
عندما اقسم مثلا 5/5 ويكون الناتج صفر يظهر بالشكل 0.0
هل هناك حل لانه جربت NumberFormat ولم يفدني
اصبح يظهر مثلا 8/3 = 2 لاوليس 2.6 هل هناك حل مناسب وشكرا
المشكلة أخي الكريم عمر بطبيعة المتحول Double فهو بطبيعته يفترض وجود الفاصلة حيث عند إجراء أي عملية قسمة يفترض وجود رقم بعد الفاصلة و هذا تابع لطريقة الترميز Encoding
إذا هل يوجد حل الجواب نعم يمكننا التحايل على العملية حيث نقوم بطرح مدور الناتج و لنفترض أن اسمه Ans من الناتج نفسه
If ans-Round(ans)= 0Then

EditText1.Text = Round(ans)

Else

EditText1.Text = ans

EndIf


الأخ العزيز CE4ARAB
شكراً لمرورك الكريم و هذه شهادة نعتز بها
Masoun غير متصل   رد مع اقتباس
العضو التالي يشكر Masoun على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 08-01-2012, 01:09 PM   #6
النميسا
عضو مشارك
 
تاريخ التسجيل: 21-09-2011
الدولة: السعودية
المشاركات: 159
مشاركات الشكر: 43
شكر 123 مرات في 80 مشاركات

مشكوووور على الشرح الواضح والشامل
كلمة مبدع قليلة بحقك
مشكوووووور

النميسا غير متصل   رد مع اقتباس
العضو التالي يشكر النميسا على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 08-01-2012, 04:22 PM   #7
Masoun
عضو مشارك
 
الصورة الرمزية Masoun
 
تاريخ التسجيل: 21-06-2011
الدولة: سوريا
المشاركات: 200
مشاركات الشكر: 65
شكر 182 مرات في 82 مشاركات

اقتباس:
المشاركة الأصلية كتبت بواسطة النميسا مشاهدة المشاركة
مشكوووور على الشرح الواضح والشامل
كلمة مبدع قليلة بحقك
مشكوووووور
شكرا أخي الكريم و إنشاء الله أحاول أبقى على نفس المستوى أو حتى أحسن في الدروس القادمة
Masoun غير متصل   رد مع اقتباس
قديم 08-01-2012, 11:36 PM   #8
|[ گريستال ]|
عضو نشط
 
تاريخ التسجيل: 19-09-2011
الدولة: السعودية-جدة
المشاركات: 327
مشاركات الشكر: 179
شكر 408 مرات في 173 مشاركات

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

جزاك الله خير وبارك الله فيك ومتابعين معك ان شاء الله

|[ گريستال ]| غير متصل   رد مع اقتباس
العضو التالي يشكر |[ گريستال ]| على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 09-01-2012, 09:58 AM   #9
abu aymn
عضو جديد
 
الصورة الرمزية abu aymn
 
تاريخ التسجيل: 26-02-2010
الدولة: السعودية
المشاركات: 54
مشاركات الشكر: 258
شكر 114 مرات في 33 مشاركات

الله يجزيك خير الجزاء
متابع معاك أتمنى منك الإستمرار

abu aymn غير متصل   رد مع اقتباس
قديم 09-01-2012, 10:57 AM   #10
omarbarham
عضو جديد
 
الصورة الرمزية omarbarham
 
تاريخ التسجيل: 13-08-2011
الدولة: الاردن
المشاركات: 75
مشاركات الشكر: 8
شكر 135 مرات في 35 مشاركات

أخوي Masoun
عندي سؤال لما احاول احدث برنامجي بالأندرويد تظهر الرسالة بدون ما اغير الشهادة ببرنامج basic4android
(Market does not accept apks signed with the debug certificate. Create a new certificate that is valid for at least 50 years.)

وعندما اعمل شهاده جديده تظهر
The apk must be signed with the same certificates as the previous version.

أخوي ما الحل

الدمج الآلي للمشاركات المتعاقبة التي لم يكن بينها 24 ساعه --------- هذه المشاركة اضيفت في 12:57 PM ----------- المشاركة السابقة اضيفت في 12:19 PM ---------

أخوي Masoun هل المشكلة من البرنامج او ماذا

omarbarham غير متصل   رد مع اقتباس
قديم 09-01-2012, 12:51 PM   #11
Masoun
عضو مشارك
 
الصورة الرمزية Masoun
 
تاريخ التسجيل: 21-06-2011
الدولة: سوريا
المشاركات: 200
مشاركات الشكر: 65
شكر 182 مرات في 82 مشاركات

ﻳﺒﺪﻭ ﺍﻧﻚ ﻗﺪ ﺭﻓﻌﺖ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻻﻭﻝ ﺑﺸﻬﺎﺩﺓ ﻣﻐﺎﻳﺮﺓ ﻟﻠﺸﻬﺎﺩﺓ ﺍﻻﺻﻠﻴﺔ ﺍﻟﺤﻞ ﺍﻧﺖ ﺗﺒﺤﺚ ﻋﻦ ﻣﻠﻒ ﺍﻟﺸﻬﺎﺩﺓ ﺍﻻﻭﻝ ﻭﺗﻌﻴﺪ ﺗﺼﺪﻳﺮ ﺑﺮﻧﺎﻣﺠﻚ ﻋﻠﻰ ﺍﺳﺎﺳﻬﺎ ﺍﻣﺎ ﺍﺫﺍ ﻛﻨﺖ ﻗﺪ ﺭﻓﻌﺖ ﺑﺸﻬﺎدﺓ debug ﻓﺎﻇﻦ ﻣﻦ ﺍﻟﺼﻌﺐ ﺍﺳﺘﺒﺪﺍﻝ ﺍﻟﺒﺮﻧﺎﻣﺞ

Masoun غير متصل   رد مع اقتباس
قديم 09-01-2012, 04:17 PM   #12
Masoun
عضو مشارك
 
الصورة الرمزية Masoun
 
تاريخ التسجيل: 21-06-2011
الدولة: سوريا
المشاركات: 200
مشاركات الشكر: 65
شكر 182 مرات في 82 مشاركات

إن برنامج B4A يمكنك من إنشاء شهادة عندما تريد ذلك اقترح أن تبحث عن ملف الشهادة السابق بلاحقة Keystore و يجب بالطبع أن تتذكر كلمة السر الخاصة بشهادة التعريف المطلوبة
Tools-> Private Sign Key
بعد ذلك تقوم باختيارLoad Existing Key
و تطلب اسم ملف شهادة التعريف و مع وضع كلمة السر
أرجو أن أكون قد قدمت الحل المناسب لمشكلتك

Masoun غير متصل   رد مع اقتباس
قديم 09-01-2012, 07:48 PM   #13
omarbarham
عضو جديد
 
الصورة الرمزية omarbarham
 
تاريخ التسجيل: 13-08-2011
الدولة: الاردن
المشاركات: 75
مشاركات الشكر: 8
شكر 135 مرات في 35 مشاركات

شكرا اخوي على مساعدتك

اخي انا عرفت المشكلة انو اذا صنعت key جديد لمشروع ينتقل هذا الkey لكل المشاريع الأخرى اي يصبح هو ال keysign لكل البرامج بشكل اتوماتيكي وهنا كانت المشكلة كنت اظن ان كل مشروع اعمل له key جديد يكون له لوحده ولكن تبين انه ينتقل لكل المشاريع التي بالجهاز بشكل اتوماتيكي

شكرا اخوووي

omarbarham غير متصل   رد مع اقتباس
قديم 14-01-2012, 08:37 PM   #14
Masoun
عضو مشارك
 
الصورة الرمزية Masoun
 
تاريخ التسجيل: 21-06-2011
الدولة: سوريا
المشاركات: 200
مشاركات الشكر: 65
شكر 182 مرات في 82 مشاركات

المشكلة كما يبدو في المسارات هناك خطأ فيها تأكد من صحة المسار او هناك خطأ في كيفية التنزيل لل sdk مع 2.2 android
ارجو ان تتاكد من مسارات التنزيل وستنجح حتما بإذن الله

Masoun غير متصل   رد مع اقتباس
قديم 14-01-2012, 09:41 PM   #15
عبود طش أم طش
في الانتظار
 
تاريخ التسجيل: 03-01-2007
الدولة: .....
المشاركات: 97
مشاركات الشكر: 3
شكر 49 مرات في 13 مشاركات

اقتباس:
المشاركة الأصلية كتبت بواسطة حمتووو مشاهدة المشاركة
الله يحفظك ياغالي

اذا ضغطت f5

يعطيني error

شاهد الصورة
هذه المشكلة واجهتني :
وحلها بسيط اذا كنت مثبت الجافا 7 قم بحذفه واعد تثبيت النسخة 6 .. من الرابط التالي :
Java SE Development Kit 6u30 Downloads
قم بتحميل النسخة : Windows x86

=================

واذا استمرت معك المشكلة يجب عليك التوجه الى :
الكمبيوتر - بالزر الايمن للماوس خصائص - اعدادات النظام المتقدمة - متغييرات البيئة - ابحث في القسم الاسفل متغييرات النظام عن Path - حدده ثم تحرير - في قيمة المتغير اضغط زر HOME من الكيبورد والصق المسار التالي :
كود:
C:\Program Files (x86)\Java\jdk1.6.0_26\bin;
ثم موافق
عبود طش أم طش غير متصل   رد مع اقتباس
رد

العبارات الاستدلاليه
android, نقل


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 


الانتقال السريع إلى

جميع الأوقات بتوقيت GMT +3. الساعة الآن 01:50 AM.


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.