اندرويد للمبتدئين 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

Previous
Next Post »