التخطي إلى المحتوى
شرح دورة الـ Android للمبتدئين – 5-مثال

هننشئ النهارده مشروع بسيط لجمع رقمين هنفهم من ازاي بنربط ال layout  والمكونات الخاصه بيها بال Java class والكود بتاعي واشتغل عليهم

هننشئ مشروع جديد زي ما اتعلمنا من الدروس السابقة ونعطيه اسم Sum  هنروح لملف ال XMl  وهنسحب 2EditTextو Button و TextView

هعطي لكل واحد فيهم id عن طريق اننا نضغط click  يمين ونختار Edit id اللي هنستخدمه علشان نتحكم فيه في class الجافا

وال id  ده بيتحفظ في ملف ال R.java  اللي اتكلمنا عنه انه هو اللي بيربط ال View  بالكود وطبعا كل واحد هيكون ليه id مختلف يعبر عنه مثلا اول EditText لبلبل نسميه num1 والثاني num2 وال Button نسميه  summation و الTextView  نسميه result

داخل ملف ال Java هنادي علي كل view  عن طريق ال id الخاص بيه عن طريق دالة findViewById()v

EditText num_1 = (EditText)findViewById(R.id.etNum1);

لو نلاحظ هنا عملنا Casting وده لان كل component في الlayout  هي من نوع View فهو كده بيشوف كل حاجه علي انها View  فيجب اني احولها بعد ذلك للنوع الذي احتاجه حتي لو لاحظنا داله findViewById فمن معناها انه يبحث عن ال view صاحب هذا ال ID

;      EditText num_1 = (EditText)findViewById(R.id.etNum1)  
   ;   EditText num_2 = (EditText)findViewById(R.id.editText2)  
;      Button sumNum = (Button)findViewById(R.id.button1)  
     ; TextView viewResult = (TextView)findViewById(R.id.textView1)  

وبكده نستطيع التحكم في ال Component

عندنا اكثر من طريقة للتحكم في ال Button انا بفضل طريقتين منهم

 

الاولي :

بانشئ method في ملف الجافا وهتاخد مثلا اسم sum_Numbers

وداخل ال Button  في ملف ال XML  بعرفه ان ال onClick الخاص بيه هيكون هو الmethod

 Button > 
     android:id="@+id/button1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignRight="@+id/editText2"  
     android:layout_below="@+id/editText2"  
     android:layout_marginRight="67dp"  
     android:layout_marginTop="58dp"  
     android:text="@string/sumn"  
    </ android:onClick="sum_Numbers" 

وهذه الطريقة هي التي سنستخدمها حاليا

والثانية :

هي استخدام     setOnClickListener  وهي من معناها انه بيسمع الaction  وينفذه وتكون بهذا الشكل

 }()sumNum.setOnClickListener(new OnClickListener  
                @Override  
              }  public void onClick(View v)   
                        وهنا نكتب الكود الذي سينفذ  
                {  
           ;({  

 

 واخر شئ محتاجين نعرفه هو كيفية اخذ قيمة من ال EditeText والتعامل معها ودي شرحناها في الJava واسمها Wrapper Class

وتكنب بهذه الطريقة

number_1 = Integer.parseInt(num_1.getText().toString())

وبكده انا اخدت القيمة اللي في ال EditeText حولناها الاول الي String عن طريق toString ثم الي int عن طريق  Integer.parsInt

وبكده نكون عرفنا كل ما نحتاجه لكي نكتب الكود

اولا فكر في الكود وجربه بايدك

ثانيا ادخل علي اللينك واتاكد من الكود

 Sum Project on GitHub

عن الكاتب

التعليقات

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Shares