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

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

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

رسالة وداع للجميع واعلان اغلاق الموقع
رد
 
أدوات الموضوع
قديم 08-06-2011, 04:04 PM   #1
عضو اساسي
 
الصورة الرمزية stinger1
 
تاريخ التسجيل: 01-08-2010
الدولة: الاردن
المشاركات: 1,037
مشاركات الشكر: 700
شكر 1,629 مرات في 403 مشاركات

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

الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول

السلام عليكم،

نكمل من حيث بدأنا … اليوم سيكون اول برنامج لنا على الاندرويد مع شرح تفاصيله
وسنبدأ من انشاء مشروع جديد، وتعريف بالملفات الناتجه، ومن ثم تصميم الواجهه مع شرح ملف ال GUI بشكل اوسع ومن ثم الانتقال لمرحله الكود.

1- انشاء مشروع جديد:
افتح الايكليبس واختر كما في الصوره

الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول

ثم اختر android project كما في الصوره

الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول
اضغط next فيظهر المربع التالي:
الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول
حيث تمثل الارقام:
1 – اسم المشروع بالنسبه لبرنامج الايكليبس
2- اختر اصدار نظام التشغيل الذي ترغب ببناء البرنامج له والذي سيتم تشغيل البرنامج عليه اثناء العمل
3- اسم البرنامج الذي سيظهر عند تنصيبه على الهاتف
4- اسم الحزمه التي سيكون الكود بداخلها وله تسميه متداوله حيث يبدأ ب com ثم اسم مميز لك مثلا اسم شركتك او اسمك ثم اسم التطبيق، تفصل كل واحده نقطه . عن الثانيه، هذه تهدف لترتيب الكود ولكي تحصل لنفسك على حزمه مميزه لانه قد تنشء ملف له نفس الاسم لملف موجود مسبقا فعندما تريد الوصول له يكون باستعمال اسم الحزمه وبهذا تضمن انك تستعمل الملف الذي تريده، الحزم بالنهايه ستكون على شكل مجلدات وعند توليد ملف البرنامج APK ستكون كلها وحده واحده.
5- اذا وضعت اشاره صح فإن الايكليبس ينشئ لك اول شاشه او فعاليه كما ذكرنا بالدرس السابق وهذا نوع من اختصار الوقت والجهد، فمؤكد ان برنامجك سيحوي فعاليه، اصطلاحا تنتهي اسماء الفعاليات بكلمه Activity
ويفضل ان يكون اسمها يدل على عملها لكي تسهل عملك اذا زاد عدد الفعاليات... مثلا فعاليه تسجيل الدخول يكون اسم ملفها LoginActivity وهكذا...
6 – الحد الادنى المستعمل لاصدار ال SDK في العمل، يتم تعبئته تلقائيا عندما تحدد اصدار نظام التشغيل من نقطه رقم 2
7- اضغط انهاء

يقوم الايكليبس بتوليد وانشاء كافه الملفات الضروريه للمشروع ويضعها بترتيب معين
وكذلك ينشئ لك اول ملف للفعاليه التي طلبت انشاءها وكذلك ملف ال GUI الخاص بها
ويكون شكل الملفات وترتيبها كما في الصوره:
الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول
والارقام شرحها كما يلي:
1- مجلد src مجلد الكود المصدري الذي ستقوم بكتابته، تجد فيه عنوان رئيسي هو اسم الحزمه package الذي ادخلته عند انشاء المشروع com.ce4arab.helloworld وكذلك به اول ملف Java انشأه ADT بشكل تلقائي وهو للفعاليه الاولى التي طلبت انشاءها.
2- الملجد gen هو مجلد يقوم ال ADT بانشاء ملفات به بشكل تلقائي لا تعبث به ولا تغير شيء به نهائيا.
3- مجلد res وهو المجلد الذي يحوي اي مصادر غير الكود، مثل ما ذكرت سابقا: صور، اصوات، وغيرها، كذلك فهو يحوي مجلد layout وبداخله يكون كل ملفات XML التي تستخدم لانشاء شاشات ال الفعاليات من ناحيه التصميم GUI،
نشاهد به ملف main.xml وهو ملف ال GUI
للفعاليه الموجوده حاليا HelloWorldCe4arabActivity.java
4- الملف AndroidManifest.xml هو ملف xml كذلك ومهم للغايه يكون به كل فعاليه يتم اضافتها وكذلك به معلومات عن الصلاحيات التي سيحتاجها النظام وسيحوي ايضا اشياء اخرى مهمه نذكر بعضها لاحقا.

بالجافا كل ملف يتم انشاؤه يحوي شيء يسما Class او فئه، هذا الكلاس هو وحده البناء الاساسيه للجافا من ناحيه كتابه الكود، يشترط ان يكون اسم الكلاس واسم الملف الموجود به متطابقين 100% اذا كان الكلاس من نوع الدخول public.

لنلقي نظره على ملف الفعاليه الموجود لدينا HelloWorldCe4arabActivity.java انقر عليه نقر مزدوج وسيظهر محتواه الذي تم توليده تلقائيا من قبل اداه ال ADT

كود PHP:
package com.ce4arab.helloworld;
 
  
import android.app.Activity;
  
import android.os.Bundle;
   
  public class 
HelloWorldCe4arabActivity extends Activity {
      
/** Called when the activity is first created. */
      
@Override
      
public void onCreate(Bundle savedInstanceState) {
          
super.onCreate(savedInstanceState);
          
setContentView(R.layout.main);
      }
  } 
**اول سطر هو اعلان ان هذا الملف موجود في الحزمه المذكوره.
package com.ce4arab.helloworld;

** السطور التي تبدأ بكلمه import تعني انه يتم استيراد كلاسات مكتوبه سابقا ليتم استعمالها هنا في هذه الفعاليه
وهذه الكلاسات سيم استيرادها من ال android SDK التي قمنا بتنزيلها ... من هنا نعرف اهميتها لانه هي مثل المواد الخام الموجوده في المصنع وسنبدأ باستغلالها لتصنيع برامجنا.

** السطر
public class HelloWorldCe4arabActivity extends Activity {
هو سطر يحدد بدء انشاء الكلاس الخاص بهذه الفعاليه، محدد الدخول له public اي عام يعني يستطيع اي كلاس من اي حزمه الوصول له، وكلمه class هي كلمه مفتاحيه keyword تخبر المترجم الـ compiler اننا ننشئ كلاس جديد... واسمه HelloWorldCe4arabActivity وهو مطابق لاسم الملف.. لاحظو معي ..

** اما extends فهي كلمه مفتاحيه كذلك تخبر المترجم ان هذا الكلاس HelloWorldCe4arabActivity سيقوم بوراثه كلاس اخر موجود واسم الكلاس هو Activity

** الوراثه: في اللغات التي تدعم ما سيمى البرمجه الكينونيه او Object Oriented ويرمز لها احيانا O.O.
مبدأها يقوم على كتابه كلاسات ثم تداخلها معا، ولا داعي لاعاده الكتابه من الصفر دوما، بل تستعمل كلاس موجود سابقا وترثه، والوراثه تكون لكل الخصائص والوظائف التي يملكها الكلاس الاب، الا التي تم تعليمها انها غير قابله للوراثه اثناء فتره برمجه الكلاس الاب، ويكون هناك اسباب منطقيه لا داعي ان نخوض بها لمنع وراثه وظيفه معينه او خاصيه معينه.

** السطر
public void onCreate(Bundle savedInstanceState) {
هو سطر يخبر المترجم اننا نريد انشاء وظيفه (function, method) وهي مجموعه من الاكواد تكتب داخل مكان واحد محصوره ب {} ويتم اعطاؤها اسم، ويتم استدعاؤها وقت الحاجه دون اعاده كتابه الكود مره ثانيه، او تكون وظيفه اساسيه، مثل هذه الحاله حيث ان كل فعاليه يشترط ان يكون بها هذه الوظيفه onCreate لكي يتم مناداتها عند انشاء الفعاليه وقت التشغيل.
اذا لدينا وظيفه اسمها onCreate محدد دخولها public وتأخذ مدخلات من نوع Bundle واسم المدخل savedInstanceState
كلمه void هنا تعني ان هذه الوظيفه لن تقوم بارجاع شيء او قيمه بل ستكون نتيجه استدعاؤها عمليه تنفذها فقط ولن ترجع قيم.

** السطر
super.onCreate(savedInstanceState);
يتم مناداه وظيفه اخرى اسمها onCreate كذلك لكنها موجوده في الكلاس الاب لهذا سبقها كلمه super اي الكلاس الاعلى الذي تم وراثته وبهذه الحاله هو Activity ... تتذكرون الجمله extends Activity

** السطر
setContentView(R.layout.main);
يتم مناداه وظيفه اسمها setContentView وهي موجوده بالكلاس الاب كذلك،
ويتم تمرير مدخلات لها وهي R.layout.mainهذه مأخوذه من الملف المولد تلقائيا في المجلد gen اذا كنتم مركزين معي هناك ستجد ملف اسمه R.java وهو ملف يتم بناؤه تلقائيا كلما اضفت شيء للمشروع ومن خلاله تستطيع الوصول للعناصر وبعض الملفات ... فهنا R.layout,main ترمز لملف ال main.xml الموجود في مجلد ال layout الذي تكلمنا عنه سابقا.

اذا هذه الفعاليه سيتم انشاؤها، ووضع التصميم لها باستعمال الملف main.xml الذي تم بناؤه كذلك وبهذه الطريقه تكون اول شاشه ظاهره على الموبايل عند تشغيل البرنامج.

الان دعونا نلقي نظره على ملف main.xml عند النقر المزدوج على الملف سيظهر كما الصوره
الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول
كما تشاهدون تظهر شاشه الفعاليه وهكذا ستظهر على الهاتف، اذا لاحظتم بالاسفل هناك مربعين
Main.xml و Graphical Layout
ما تشاهدوه الان اذا كان شاشه سوداء وبها جمله بالاعلو هو Graphical Layout
واذا ضغطتم على main.xml سيظهر الكود المصدري للملف وهو xml الذي شرحناه بالدرس السابق
كود PHP:
<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      >
  <TextView  
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/hello"
      />
  </LinearLayout>
اعتقد ان الملف اصبح مألوف لكم...
يتم استعمال layout من نوع linear له خصائص اذكر منها
android:layout_width="fill_parent" اي انه يملأ المكان الموجود به من ناحيه العرض وكذلك من ناحيه الارتفاع android:layout_height="fill_parent"

TextView هي كما قلت مثل ليبل label يتم عرض معلومه او عنوان به وهذه هي ما يظهر على الشاشه السوداء عند التحول لنظام العرض ال graphical
لها خصائص كذلك، والجديد هنا هو الخاصيه android:text وهي القيمه التي تكتب بها
للوقت الحالي تجاهلو ما كتب بها ... يمكنكم الان تعديل ما داخل ال "" ليعرض اي نص تريدونه مثلا:
android:text="my name is Yazan"
الان لو عدنا لنظام العرض ال graphical وقمنا بالضغط بالماوس على المربع بأعلى الشاشه السوداء والذي تغيرت قيمته (اذا كنتم قد غيرتم ما كتب به) الان بعد ان نقرت عليه مره واحده انظر لليمين ستشاهد اطار تأكد ان تختار من اعلى الاطار الخيار properties والذي سيحوي خصائص هذا العنصر...

شخصيا لا اعرف كل شيء فيها لكن يهمنا منها مثلا id حيث هذا هو الاسم المميز لهذا العنصر والذي من خلاله نستطيع استعماله عن طريق ملف الكود java
وهنا كذلك تجد الخاصيه text والتي قمنا بتعديلها من داخل الملف .. يمكن تعديلها من هنا ايضا
وانصح باستعمال هذه الطريقه بدل من عرض ملف ال xml والتعديل به بشكل يدوي تجنب لحدوث خطأ الا اذا الحاجه لتعديل يدوي..... مع الحذر الشديد.

الان حدد العنصر واعمل عليه كليك يمين right click واختر Edit Id واكتب بها lblTitle

على يسار الشاشه السوداء تشاهدون العناصر التي يمكن اضافتها للشاشه وهذا سهل جدا حيث تقوم بعمل نقر وسحب للعنصر ثم تفلته فوق الشاشه السوداء drag drop وبذلك تكون اضفته.

سنضيف زر button وهو موجود على اليسار قم بسحبه وافلاته فوق الشاشه السوداء
اضغط عليه وكليك يمين و Edit Id واكتب btnChange و OK

لتغير النص المكتوب داخل الزر اختر الزر ثم ابحث بالقائمه على اليمين عن الخاصيه text واكتب بها Change واضغط Enter
شكر لكل من sma666 و fartoot321 على التنبيه.

الان بعد ان اعطيت قيمه لل ID فان ال ADT يعيد بناء الملف R.java ويضيفها له
وهنا يأتي دور الربط بين الكود والتصميم...

*** نعود لملف HelloWorldCe4arabActivity.java :

*** يلزمنا للعمل:

- تعريف متغيرات تؤشر على الbutton وال textView الذين انشأناهما سابقا
- نحتاج لانشاء كلاس لكي يتعامل مع ضغطت الزر اي انه عندما يضغط احد على الزر ... ماذا يحدث؟
هذا الكلاس سيكون actionListener الخاص بالزر، ومن صفاته انه يستعمل كلاس اسمه OnCLickListener وهذا الكلاس بدوره يعالج عمليه الكليك على الزر او اللمس بحالتنا.

طريقه اضافه معالج الحدث او action listener لها عده طرق، والطرقه التي سأستعملها اعتبرها جيده وعامه ومرنه يمكنك استعمالها لعده حالات ... قد تكون طويله قليلا وهناك طرق اقصر منها لكنها المفضله لدي.

ومن ثم سنضيف الكود الخاص بعمل الزر .. وفي حالتنا هذه سنعمل كود يؤدي لتغير قيمه lblTitle لتصبح قيمتها الجمله Hello Android!
*** الشرح:

Button btnChange;
TextView lblTitle;
متغيرات ستقوم بالتأشير على كل من ال button وال textview

btnChange = (Button) findViewById(R.id.btnChange);
lblTitle = (TextView) findViewById(R.id.lblTitle);
اسناد قيمه للمتغيرين لكي يؤشرو على العناصر من شاشه التصميم
باستعمال الوظيفه findViewById() والتي تحضر ال object من خلال اسمه، ونحصل الاسم من خلال الكلاس المولد تلقائيا R.java

الايكليبس يوفر الاكمال التلقائي للجمل، يمكنك اعاده كتابه الكود وليس نسخه ولصقه وشاهد كيف يساعدك الايكليبس، كذلك بأي وقت اثناء الكتابه الضغت ctrl+space تظهر قائمه بالاحتمالات الممكنه وكلما كنبت اكثر تقل الاحتمالات حتى تحصل ما تريد.

btnChecng_onclickListener btnChngeLsnr = new btnChecng_onclickListener(this);
btnChange.setOnClickListener(btnChngeLsnr);

هذه الجمله تحدد ان المعالج للحدث الخاص بهذا الزر سيكون object وسيكون من كلاس اسمه btnChecng_onclickListener وقد انشأنا المتغير btnChngeLsnr واسندناه لهذه المهمه.

واخر فقره ..
من عند class btnChecng_onclickListener implements OnClickListener{ والى نهايه الملف، هي المكلاس المعالج للحدث، والذي ينفذ الوظيفه
onClick(View v) كلما تم لمس الزر وبداخلها كتبنا الكود الخاص بوضع نص داخل المتغير lblTitle والذي بدوره يؤشر على العنصر على شاشه التصميم.

الملفات النهائيه بالمرفقات

بهذا نكون قد اتممنا الشرح لدرس اليوم
ويبقى ان نشغل برنامجنا الدرس القادم ان شاء الله
تشغيل البرنامج يحتاج بعض الاعدادات سنتكلم عنها لاحقا ان شاء الله.

الى لقاء قريب في درس جديد ان شاء الله

اخوكم يزن – الاردن


فهرس الدوره:
http://www.ce4arab.com/vb7/showthread.php?t=325071
[/RIGHT]
الملفات المرفقة
نوع الملف: zip courseFiles.zip‏ (964 بايت, المشاهدات 3054)
stinger1 غير متصل   رد مع اقتباس
عدد 29 من الاعضاء يشكرون stinger1 على مشاركته الطيبة ويطلبون المزيد من هذه المشاركات الرائعة ويدعون له بالتوفيق
مشاهدة/اخفاء قائمة الشكر لهذه المشاركة

اخر 5 مواضيع للعضو stinger1
الموضوع الاقسام الرد الاخير للعضو الردود مشاهده اخر مشاركة
هدنه بين العمالقه، مايكروسوفت وجووجل منتدى الأخبار stinger1 24 5519 25-04-2016 11:42 AM
تحكم بالهاتف الذكي من خلال موجات الراديو (اختراق) منتدى الأخبار the dreame 16 7147 20-10-2015 10:10 AM
رسالة نصيه بسيطة لاختراق اي هاتف اندرويد منتدى الأخبار alYahoo 26 30399 29-07-2015 10:24 AM
HTC ONE سلوك غريب للشحن والبطاريه منتدى هواتف Google Android العام محمد نو 13 17232 10-12-2013 04:52 PM
اختراق TrueCaller وسرقه الملاين من ارقام الهاتف! منتدى الأخبار amadio123 1 10032 17-07-2013 09:09 PM


اعلان

قديم 08-06-2011, 04:11 PM   #2
NeRe 4 EvEr
عضو اساسي
 
الصورة الرمزية NeRe 4 EvEr
 
تاريخ التسجيل: 11-10-2007
الدولة: Anywhere ~`
المشاركات: 1,033
مشاركات الشكر: 2,849
شكر 1,221 مرات في 561 مشاركات

بــارك الله فيك و نفع بك

لي عودة بالقرآءة بتمعن و التطبيق

أستــمر بمجهودك الكريم و أتمنى تثبيت الموضوع الخاص بالفهرس

تحياتي

NeRe 4 EvEr غير متصل   رد مع اقتباس
العضو التالي يشكر NeRe 4 EvEr على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 08-06-2011, 04:27 PM   #3
مزوح
عضو نشط
 
الصورة الرمزية مزوح
 
تاريخ التسجيل: 14-08-2006
الدولة: الرياض
المشاركات: 316
مشاركات الشكر: 511
شكر 207 مرات في 127 مشاركات

ياسلام عليك هذي يبيلها روقان وسعة صدر
جاري متابعة الخطوات بكل دقه
الف شكر لك

مزوح غير متصل   رد مع اقتباس
العضو التالي يشكر مزوح على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 08-06-2011, 05:40 PM   #4
بوعقيل
عضو اساسي
 
الصورة الرمزية بوعقيل
 
الرتبة الادارية: مشرف مساعد لمنتدى انظمة وتطبيقات ماك Mac
تاريخ التسجيل: 12-10-2005
الدولة: السعودية
المشاركات: 4,674
مشاركات الشكر: 9,243
شكر 13,415 مرات في 2,829 مشاركات

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

الله يعطيك العافية خزنت الصفحة للدرس والمراجعة ومتابعا دروسك عافاك الله

بوعقيل غير متصل   رد مع اقتباس
قديم 08-06-2011, 05:48 PM   #5
seemee2002
عضو اساسي
 
الصورة الرمزية seemee2002
 
تاريخ التسجيل: 28-11-2004
الدولة: السعودية
المشاركات: 1,807
مشاركات الشكر: 6,087
شكر 1,525 مرات في 767 مشاركات

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

الأخ يزن متابعين هذه الدروس معكم وفقكم الله

seemee2002 غير متصل   رد مع اقتباس
قديم 08-06-2011, 07:26 PM   #6
sma666
عضو مشارك
 
الصورة الرمزية sma666
 
تاريخ التسجيل: 14-04-2011
الدولة: السعودية
المشاركات: 106
مشاركات الشكر: 31
شكر 176 مرات في 38 مشاركات

استاذنا العزيز يزن انا متابع باذن الله والله يعينك علينا عندي استفسار وصلت للنقطة هذ اللي هي edit text
[IMG]الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول[/IMG]

وعند وضع الاسم Change لايظهر بهدها خيار ok نشيط كما في الصورة فما هي المشكلة لو تكرمت

الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول

sma666 غير متصل   رد مع اقتباس
عدد 2 من الاعضاء يشكرون sma666 على مشاركته الطيبة ويطلبون المزيد من هذه المشاركات الرائعة ويدعون له بالتوفيق
قديم 08-06-2011, 08:02 PM   #7
fartoot321
عضو نشط
 
الصورة الرمزية fartoot321
 
تاريخ التسجيل: 20-01-2008
الدولة: أرض الله الواسعة
المشاركات: 407
مشاركات الشكر: 1,440
شكر 568 مرات في 168 مشاركات

الدرس الثالث: [دورة تعليميه - الدرس 3] تعلم صنع تطبيقات الاندرويد بالتفصيل - التطبيق الاول

الصورة الظاهرة عندي تحتلف عن الموجودة في الشرح

fartoot321 غير متصل   رد مع اقتباس
قديم 08-06-2011, 08:12 PM   #8
fartoot321
عضو نشط
 
الصورة الرمزية fartoot321
 
تاريخ التسجيل: 20-01-2008
الدولة: أرض الله الواسعة
المشاركات: 407
مشاركات الشكر: 1,440
شكر 568 مرات في 168 مشاركات

انا اسف جدا يا استاذي الكريم
ولكن بدل فتح مشروع جديد فتحت الخيار الثاني
واستعجلت في الرد من زود الحماس

صبرك علينا وبنتعلم على يدك ان شاء الله

fartoot321 غير متصل   رد مع اقتباس
العضو التالي يشكر fartoot321 على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 08-06-2011, 08:31 PM   #9
fartoot321
عضو نشط
 
الصورة الرمزية fartoot321
 
تاريخ التسجيل: 20-01-2008
الدولة: أرض الله الواسعة
المشاركات: 407
مشاركات الشكر: 1,440
شكر 568 مرات في 168 مشاركات

اقتباس:
المشاركة الأصلية كتبت بواسطة sma666 مشاهدة المشاركة
استاذنا العزيز يزن انا متابع باذن الله والله يعينك علينا عندي استفسار وصلت للنقطة هذ اللي هي edit text
http://<a href="http://" target="_bl...60.jpg</a></a>

وعند وضع الاسم Change لايظهر بهدها خيار ok نشيط كما في الصورة فما هي المشكلة لو تكرمت

http://www.ce4arab.com/vb7/images/su...011/378278.jpg

نفس الاشكال
fartoot321 غير متصل   رد مع اقتباس
قديم 08-06-2011, 09:18 PM   #10
فكرة
عضو اساسي
 
الصورة الرمزية فكرة
 
تاريخ التسجيل: 18-03-2006
الدولة: المملكة العربية السعودية
المشاركات: 1,558
مشاركات الشكر: 3,346
شكر 1,679 مرات في 697 مشاركات

وفقك الله أخوي وسجل متابعتي لما تكتب

فكرة غير متصل   رد مع اقتباس
قديم 08-06-2011, 11:12 PM   #11
stinger1
عضو اساسي
 
الصورة الرمزية stinger1
 
تاريخ التسجيل: 01-08-2010
الدولة: الاردن
المشاركات: 1,037
مشاركات الشكر: 700
شكر 1,629 مرات في 403 مشاركات

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

بالنسبه للاخوان
sma666
و
fartoot321
اعتذر هذه الطريقه مخصصه اذا اردت استعمال ال strings وهي كلمات معرفه لكل شاشه ويتم استعمال اسم الكلمه وقيمتها تتغير بشكل ديناميكي ...

بالنسبه لل text يمكن تغيرها من القائمه على اليمين properties ابحث بالقائمه لتجد text وعدل قيمتها
بالعاده تكون بالربع الاخير من القائمه

________
تم تعديل الدرس

اقتباس:
لتغير النص المكتوب داخل الزر اختر الزر ثم ابحث بالقائمه على اليمين عن الخاصيه text واكتب بها Change واضغط Enter
شكر لكل من sma666 و fartoot321 على التنبيه.
stinger1 غير متصل   رد مع اقتباس
العضو التالي يشكر stinger1 على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 09-06-2011, 12:25 AM   #12
sma666
عضو مشارك
 
الصورة الرمزية sma666
 
تاريخ التسجيل: 14-04-2011
الدولة: السعودية
المشاركات: 106
مشاركات الشكر: 31
شكر 176 مرات في 38 مشاركات

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

sma666 غير متصل   رد مع اقتباس
قديم 09-06-2011, 12:26 AM   #13
sma666
عضو مشارك
 
الصورة الرمزية sma666
 
تاريخ التسجيل: 14-04-2011
الدولة: السعودية
المشاركات: 106
مشاركات الشكر: 31
شكر 176 مرات في 38 مشاركات

عذرا . مشاركه مكرره

sma666 غير متصل   رد مع اقتباس
قديم 09-06-2011, 02:28 AM   #14
Lion_Ksa
عضو متفاعل
 
تاريخ التسجيل: 15-12-2010
الدولة: السعودية
المشاركات: 670
مشاركات الشكر: 413
شكر 614 مرات في 312 مشاركات

الله يجزيك خير

Lion_Ksa غير متصل   رد مع اقتباس
قديم 09-06-2011, 11:39 AM   #15
stinger1
عضو اساسي
 
الصورة الرمزية stinger1
 
تاريخ التسجيل: 01-08-2010
الدولة: الاردن
المشاركات: 1,037
مشاركات الشكر: 700
شكر 1,629 مرات في 403 مشاركات

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

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

اشكرك.
stinger1 غير متصل   رد مع اقتباس
قديم 11-06-2011, 01:25 AM   #16
فرابي
عضو جديد
 
تاريخ التسجيل: 19-05-2005
الدولة: الإمارات
المشاركات: 43
مشاركات الشكر: 2
شكر 18 مرات في 12 مشاركات

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

الان بعد ان اعطيت قيمه لل ID فان ال ADT يعيد بناء الملف R.java ويضيفها له
وهنا يأتي دور الربط بين الكود والتصميم...

*** نعود لملف HelloWorldCe4arabActivity.java :

*** يلزمنا للعمل:

- تعريف متغيرات تؤشر على الbutton وال textView الذين انشأناهما سابقا
- نحتاج لانشاء كلاس لكي يتعامل مع ضغطت الزر اي انه عندما يضغط احد على الزر ... ماذا يحدث؟
هذا الكلاس سيكون actionListener الخاص بالزر، ومن صفاته انه يستعمل كلاس اسمه OnCLickListener وهذا الكلاس بدوره يعالج عمليه الكليك على الزر او اللمس بحالتنا.

طريقه اضافه معالج الحدث او action listener لها عده طرق، والطرقه التي سأستعملها اعتبرها جيده وعامه ومرنه يمكنك استعمالها لعده حالات ... قد تكون طويله قليلا وهناك طرق اقصر منها لكنها المفضله لدي.
السلام عليكم أخي الفاضل ومشكور على هذا الحهد الرائع وجعله الله في ميزان حسناتك.

حقيقة اتبعت جميع الخطوات التي ذكرتها ولكن عند العودة للملف HelloWorldCe4arabActivity.java لم أفهم ما هو المطلوب أين أضيف الأسطر التي تحدثت عنها.
فرابي غير متصل   رد مع اقتباس
قديم 11-06-2011, 12:49 PM   #17
stinger1
عضو اساسي
 
الصورة الرمزية stinger1
 
تاريخ التسجيل: 01-08-2010
الدولة: الاردن
المشاركات: 1,037
مشاركات الشكر: 700
شكر 1,629 مرات في 403 مشاركات

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

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

حقيقة اتبعت جميع الخطوات التي ذكرتها ولكن عند العودة للملف HelloWorldCe4arabActivity.java لم أفهم ما هو المطلوب أين أضيف الأسطر التي تحدثت عنها.
اهلا اخي
قصدت ان نعود للعمل على ذلك الملف من خلال النقر المزدوج عليه
واضافه السطور التي شرحتها في بقيه الدرس
ستجد الملفين بعد التعديلات في المرفقات (مرفقات اول مشاركه) ... ملف الجافا وملف ال GUI
stinger1 غير متصل   رد مع اقتباس
قديم 26-07-2011, 07:54 PM   #18
ALgharawy
عضو جديد
 
الصورة الرمزية ALgharawy
 
تاريخ التسجيل: 22-07-2010
الدولة: السعودية - جدة
المشاركات: 24
مشاركات الشكر: 38
شكر 15 مرات في 10 مشاركات

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

انا من هذا النص مافهمت شيء فارجوا التفصيل اكتر (( *** نعود لملف HelloWorldCe4arabActivity.java :

*** يلزمنا للعمل:

- تعريف متغيرات تؤشر على الbutton وال textView الذين انشأناهما سابقا
- نحتاج لانشاء كلاس لكي يتعامل مع ضغطت الزر اي انه عندما يضغط احد على الزر ... ماذا يحدث؟
هذا الكلاس سيكون actionListener الخاص بالزر، ومن صفاته انه يستعمل كلاس اسمه OnCLickListener وهذا الكلاس بدوره يعالج عمليه الكليك على الزر او اللمس بحالتنا.

طريقه اضافه معالج الحدث او action listener لها عده طرق، والطرقه التي سأستعملها اعتبرها جيده وعامه ومرنه يمكنك استعمالها لعده حالات ... قد تكون طويله قليلا وهناك طرق اقصر منها لكنها المفضله لدي.

ومن ثم سنضيف الكود الخاص بعمل الزر .. وفي حالتنا هذه سنعمل كود يؤدي لتغير قيمه lblTitle لتصبح قيمتها الجمله Hello Android!
*** الشرح:

Button btnChange;
TextView lblTitle;
متغيرات ستقوم بالتأشير على كل من ال button وال textview

btnChange = (Button) findViewById(R.id.btnChange);
lblTitle = (TextView) findViewById(R.id.lblTitle);
اسناد قيمه للمتغيرين لكي يؤشرو على العناصر من شاشه التصميم
باستعمال الوظيفه findViewById() والتي تحضر ال object من خلال اسمه، ونحصل الاسم من خلال الكلاس المولد تلقائيا R.java

الايكليبس يوفر الاكمال التلقائي للجمل، يمكنك اعاده كتابه الكود وليس نسخه ولصقه وشاهد كيف يساعدك الايكليبس، كذلك بأي وقت اثناء الكتابه الضغت ctrl+space تظهر قائمه بالاحتمالات الممكنه وكلما كنبت اكثر تقل الاحتمالات حتى تحصل ما تريد.

btnChecng_onclickListener btnChngeLsnr = new btnChecng_onclickListener(this);
btnChange.setOnClickListener(btnChngeLsn r);

هذه الجمله تحدد ان المعالج للحدث الخاص بهذا الزر سيكون object وسيكون من كلاس اسمه btnChecng_onclickListener وقد انشأنا المتغير btnChngeLsnr واسندناه لهذه المهمه.

واخر فقره ..
من عند class btnChecng_onclickListener implements OnClickListener{ والى نهايه الملف، هي المكلاس المعالج للحدث، والذي ينفذ الوظيفه
onClick(View v) كلما تم لمس الزر وبداخلها كتبنا الكود الخاص بوضع نص داخل المتغير lblTitle والذي بدوره يؤشر على العنصر على شاشه التصميم.

الملفات النهائيه بالمرفقات ))

كيف اضيف كلاس والخواص والوظائف لم اجدها ؟!

ارجو الرد بسرررررعة خلاص بتجنن !!!!؟؟؟ قاعد يوم كامل وماني عارف كيف اضيف ولا اي وظيفة حصلتها . تكفووووووووون .

واعذرني على الاخذ من وقتك الثمين .
جعل الله هذا العمل في موازين حسناتك .

ALgharawy غير متصل   رد مع اقتباس
قديم 27-07-2011, 09:58 AM   #19
stinger1
عضو اساسي
 
الصورة الرمزية stinger1
 
تاريخ التسجيل: 01-08-2010
الدولة: الاردن
المشاركات: 1,037
مشاركات الشكر: 700
شكر 1,629 مرات في 403 مشاركات

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

اقتباس:
كيف اضيف كلاس والخواص والوظائف لم اجدها ؟!

ارجو الرد بسرررررعة خلاص بتجنن !!!!؟؟؟ قاعد يوم كامل وماني عارف كيف اضيف ولا اي وظيفة حصلتها . تكفووووووووون .

واعذرني على الاخذ من وقتك الثمين .
جعل الله هذا العمل في موازين حسناتك .
اضافه الكلاس والوظائف يتم بكتابتها عن طريق لوحه المفاتيح
وكما ذكرت الملفات بالمرفقات يمكنك تحميلها والاضطلاع عليها او حتى استعمالها اذا احببت.
stinger1 غير متصل   رد مع اقتباس
العضو التالي يشكر stinger1 على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
قديم 31-07-2011, 01:40 PM   #20
sayedgfx
عضو جديد
 
تاريخ التسجيل: 21-07-2011
الدولة: البحرين
المشاركات: 5
مشاركات الشكر: 2
شكر 0 مرات في 0 مشاركات

تسلم على الشرح،

بس أنا أواجه مشكلة في هذا السطر:
btnChange = (Button) findViewById(R.id.btnChange);
lblTitle = (TextView) findViewById(R.id.lblTitle

يقول لي إن R مو موجود في الكلاس .. ما الحل ؟

sayedgfx غير متصل   رد مع اقتباس
قديم 31-07-2011, 05:19 PM   #21
stinger1
عضو اساسي
 
الصورة الرمزية stinger1
 
تاريخ التسجيل: 01-08-2010
الدولة: الاردن
المشاركات: 1,037
مشاركات الشكر: 700
شكر 1,629 مرات في 403 مشاركات

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

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

بس أنا أواجه مشكلة في هذا السطر:
btnChange = (Button) findViewById(R.id.btnChange);
lblTitle = (TextView) findViewById(R.id.lblTitle

يقول لي إن R مو موجود في الكلاس .. ما الحل ؟
اهلا اخي

ضع الماوس فوق السطر ... المفروض انه تحته خط احمر .. انتظر قليلا تظهر قائمه اختر import R...
ان شاء الله يكون هذا الحل.
stinger1 غير متصل   رد مع اقتباس
قديم 06-08-2011, 10:25 PM   #22
mhdfhk
عضو جديد
 
تاريخ التسجيل: 15-10-2010
الدولة: السعودية
المشاركات: 1
مشاركات الشكر: 2
شكر 1 مرة في 1 مشاركة

أخي يزن شكرا على الشرح
عندي مشكلة مع الشاشة السوداء التي أقوم بتعديلها لأنها لا تظهر عندي

mhdfhk غير متصل   رد مع اقتباس
قديم 14-08-2011, 07:27 AM   #23
ahmad89
عضو جديد
 
تاريخ التسجيل: 05-06-2011
الدولة: الرياض
المشاركات: 8
مشاركات الشكر: 0
شكر 2 مرات في 1 مشاركة

شكرا على الشرح الرائع بس عندي سأل لو دقدر تحط صوره لكل خطوه أحسا
و شكرا

ahmad89 غير متصل   رد مع اقتباس
قديم 15-08-2011, 07:58 PM   #24
ALKALEEL
عضو جديد
 
تاريخ التسجيل: 19-12-2010
الدولة: السعودية
المشاركات: 15
مشاركات الشكر: 10
شكر 4 مرات في 4 مشاركات

كيف اقوم بأظهار الكتابه داخل الbutton باللغة العربية

ALKALEEL غير متصل   رد مع اقتباس
قديم 22-08-2011, 01:14 PM   #25
ananawaf
عضو مشارك
 
تاريخ التسجيل: 19-02-2009
الدولة: السعودية
المشاركات: 129
مشاركات الشكر: 100
شكر 212 مرات في 57 مشاركات

اقتباس:
المشاركة الأصلية كتبت بواسطة mhdfhk مشاهدة المشاركة
أخي يزن شكرا على الشرح
عندي مشكلة مع الشاشة السوداء التي أقوم بتعديلها لأنها لا تظهر عندي
أسفل كود الـ XML يوجد تبويبين واحد للواجهة الرسوميه والاخرى للكود
ananawaf غير متصل   رد مع اقتباس
العضو التالي يشكر ananawaf على مشاركته الطيبة ويطلب المزيد من هذه المشاركات الرائعة
رد

العبارات الاستدلاليه
android, أندرويد, الاندرويد, دورة, شرح


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


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

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


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