بسم الله الرحمن الرحيم
سوف ننشئ تطبيق بسيط مثل الموجود فى هذه الصفحه
http://www.onlineconversion.com/tip_calculator.htm
سوف ننشئ ال GUI الخاص بالبرنامج عن طريق الأداه DroidDraw
يمكن تنزيلها من هنا
ونحفظ الكود المتولد لأننا سنستخدمه فيما بعد
ننشئ مشروع جديد Android Project عن طريق ال Eclips IDE
ونسميه TipCalculator
نستبد الكود الموجود فى الملف main.xml
الموجود فى الأمتداد res> layout>main.xml
بالكود المتولد فى الأعلى وهو كالتالى:
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World, tipcalc" /> <TextView android:id="@+id/widget28" android:layout_width="99px" android:layout_height="17px" android:text="Amount of Bill" android:layout_x="40px" android:layout_y="32px" > </TextView> <TextView android:id="@+id/widget29" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Percentage to Tip" android:layout_x="40px" android:layout_y="82px" > </TextView> <TextView android:id="@+id/widget30" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Number of People" android:layout_x="40px" android:layout_y="132px" > </TextView> <TextView android:id="@+id/widget31" android:layout_width="wrap_content" android:layout_height="18px" android:text="Tip Amout" android:layout_x="40px" android:layout_y="262px" > </TextView> <TextView android:id="@+id/widget32" android:layout_width="wrap_content" android:layout_height="18px" android:text="Total Per Person" android:layout_x="40px" android:layout_y="352px" > </TextView> <TextView android:id="@+id/widget33" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Total To Pay" android:layout_x="40px" android:layout_y="302px" > </TextView> <Button android:id="@+id/btncalculate" android:layout_width="87px" android:layout_height="wrap_content" android:text="Calculate" android:layout_x="40px" android:layout_y="182px" > </Button> <Button android:id="@+id/btnreset" android:layout_width="86px" android:layout_height="wrap_content" android:text="Reset" android:layout_x="140px" android:layout_y="182px" > </Button> <EditText android:id="@+id/txtbillamount" android:layout_width="wrap_content" android:layout_height="35px" android:text="100" android:textSize="18sp" android:layout_x="200px" android:layout_y="22px" > </EditText> <EditText android:id="@+id/txtpercentage" android:layout_width="51px" android:layout_height="36px" android:text="10" android:textSize="18sp" android:layout_x="200px" android:layout_y="72px" > </EditText> <EditText android:id="@+id/txtpeople" android:layout_width="wrap_content" android:layout_height="39px" android:text="1" android:textSize="18sp" android:layout_x="200px" android:layout_y="122px" > </EditText> <TextView android:id="@+id/txttipamount" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:layout_x="200px" android:layout_y="262px" > </TextView> <TextView android:id="@+id/txttotal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:layout_x="200px" android:layout_y="302px" > </TextView> <TextView android:id="@+id/txtperperson" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:layout_x="200px" android:layout_y="352px" > </TextView> </AbsoluteLayout>
الأن نكتب البرنامج الذى يتعامل مع ال GUI وصنع الدوال الحسابيه
وذلك بالتعديل فى الملف TipCalculator.java
الموجود فى الأمتداد src>amr.TipCalculator>TipCalculator.java
عن طريق استبدال الكود بالكود التالى
package amr.TipCalculator;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
public class TipCalculator extends Activity
{
private EditText txtbillamount;
private EditText txtpeople;
private EditText txtpercentage;
private TextView txtperperson;
private TextView txttipamount;
private TextView txttotal;
private Button btncalculate;
private Button btnreset;
private double billamount = 0;
private double percentage = 0;
private double numofpeople=0;
private double tipamount = 0;
private double totaltopay = 0;
private double perperson = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initControls();
}
private void initControls()
{
txtbillamount = (EditText)findViewById(R.id.txtbillamount);
txtpeople = (EditText)findViewById(R.id.txtpeople);
txtpercentage = (EditText)findViewById(R.id.txtpercentage);
txtperperson=(TextView)findViewById(R.id.txtperperson);
txttipamount=(TextView)findViewById(R.id.txttipamount);
txttotal=(TextView)findViewById(R.id.txttotal);
btncalculate = (Button)findViewById(R.id.btncalculate);
btnreset = (Button)findViewById(R.id.btnreset);
btncalculate.setOnClickListener(new Button.OnClickListener() { public void onClick (View v){ calculate(); }});
btnreset.setOnClickListener(new Button.OnClickListener() { public void onClick (View v){ reset(); }});
}
private void calculate()
{
billamount=Double.parseDouble(txtbillamount.getText().toString());
percentage=Double.parseDouble(txtpercentage.getText().toString());
numofpeople=Double.parseDouble(txtpeople.getText().toString());
tipamount=(billamount*percentage)/100;
totaltopay=billamount+tipamount;
perperson=totaltopay/numofpeople;
txttipamount.setText(Double.toString(tipamount));
txttotal.setText(Double.toString(totaltopay));
txtperperson.setText(Double.toString(perperson));
}
private void reset()
{
txtbillamount.setText("");
txtpeople.setText("");
txtpercentage.setText("");
txtperperson.setText("");
txttipamount.setText("");
txttotal.setText("");
}
}نشغل التطبيق باستخدام Android Emulator كما فى الصوره