الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كتابة برنامج بسيط Tip Calculator

بدأه عمرو الصعيدي في 16 مايو 2010 · 4 رد · 3,010 مشاهدة · في Android
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

سوف ننشئ تطبيق بسيط مثل الموجود فى هذه الصفحه

http://www.onlineconversion.com/tip_calculator.htm

post-207223-12739593492626_thumb.jpg

سوف ننشئ ال GUI الخاص بالبرنامج عن طريق الأداه DroidDraw

يمكن تنزيلها من هنا

ونحفظ الكود المتولد لأننا سنستخدمه فيما بعد

post-207223-12739593625748_thumb.jpg

ننشئ مشروع جديد Android Project عن طريق ال Eclips IDE

ونسميه TipCalculator

post-207223-12739593809476_thumb.jpg

نستبد الكود الموجود فى الملف 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 كما فى الصوره

post-207223-12739594022596_thumb.jpg

3

 وممّا زادنـــي شرفــاً وتيهــاً   **  وكدت بأخمصي أطأ الثريّا

دخولي تحت قولك يا عبادي  **   وأن صيّرت أحمد لي نبيّـاً

#2

شكراً لك أخي عمرو الصعيدي على هذا الموضوع وما آراه من حماس في قسم الاندرويد

حبيت استفسر أستفسار بسيط :

عمرو الصعيدي كتب:

الأن نكتب البرنامج الذى يتعامل مع ال GUI وصنع الدوال الحسابيه

وذلك بالتعديل فى الملف TipCalculator.java

الموجود فى الأمتداد src>amr.TipCalculator>TipCalculator.java

عن طريق استبدال الكود بالكود التالى

من أين أتي بالكود الذي تقصده ؟ وعلى أي اساس تمت كتابته ؟

وهل هناك مراجع او مواقع عربية أو انجليزية تنصح بها للمبتدئين ببرمجة التطبيقات ؟

شكراً لك

تم تعديل هذه المشاركة بواسطة ThE hErRoR في 17 مايو 2010 في 08:59

Nexus One

#3
ThE hErRoR كتب:

من أين أتي بالكود الذي تقصده ؟ وعلى أي اساس تمت كتابته ؟

وهل هناك مراجع او مواقع عربية أو انجليزية تنصح بها للمبتدئين ببرمجة التطبيقات ؟

كود ال GUI المتولد هو عباره عن كود XML

أما كود البرنامج فهو كود مكتوب بلغة الجافا

سوف أضع بعض الكتب الخاصه ببرمجة الأندرويد ان شاء الله

 وممّا زادنـــي شرفــاً وتيهــاً   **  وكدت بأخمصي أطأ الثريّا

دخولي تحت قولك يا عبادي  **   وأن صيّرت أحمد لي نبيّـاً

#4

بارك الله فيك اخي

نفذت المثال ونجح معي الحمد لله

لكن عندي ملاحظة, لو تشرح ايضا عناصر المثال, مثلا اسماء الفيلد واستدعائة بالجافا والخ من هذه الامور, لانه اي شخص لو رسم المثال رسم ولم يغير القيم اظن ستظهر لديه مشكلة , اليس كذلك ؟

#5

جزاك الله خيرا على هذا المجهود

رجاء ممكن نشتغل كود جافا هذا البرنامج بدل ال xml

سأل الممكن المستحيل : أين تقيم ؟ فأجابه في أحلام العاجز

----------------------------------------

نمضى النصف الأول من حياتنا بحثاً عن المال والنجاح والشهرة ونمضى

النصف الثانى منها بحثاً عن الأطباء

-----------------------------------------

شخصٌ يرى ذا الكون وهو جالسٌ ويجوب هذي الأرض بين الدول

مواضيع مشابهة