كيفاش نصاوب آلة حاسبة ب Android

كيفاش نصاوب آلة حاسبة ب Android


فهاد الدرس من سلسلة Android غادي نشوفو كيفاش نقادو واحد الآلة حاسبة بسيطة غادي تمكنا من القيام بعمليات بسيطة الجمع والطرح والضرب والقسمة هاد المشروع بسيط للمبتدئين .

نظرة سريعة بالفيديو

- الملف activity_main.xml

اول حاجة غادي نديروها غادي نحملو Android Studio من الموقع https://developer.android.com/studio/index.html من بعد التثبيت غادي تفتحو وتزيد مشروع جديد تسميه Calculatrice من بعد ما يتزاد غادي تمشي للمجلد java/res/layout وتفتح الملف activity_main.xml وغادي تزيد فيه الكود لي غادي يمكنا باش نقادو ل interface لي غادي يكونو فيها 5 ديال ل boutons كل وحدة غادي تكون مسؤولة على عملية حسابية الكود النهائي ديالو هو :

                                <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="#AEE8E9"
    android:orientation="vertical"
    tools:context="com.example.imad.calculatrice.MainActivity">
    <TextView
        android:id="@+id/label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#000"
        android:textStyle="bold"
        android:textSize="25dp"
        android:text="@string/help_instructions" />
    <EditText
        android:id="@+id/numberOne"
        android:layout_width="match_parent"
        android:inputType="numberDecimal"
        android:layout_marginTop="25dp"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/numberTwo"
        android:layout_width="match_parent"
        android:inputType="numberDecimal"
        android:layout_marginTop="25dp"
        android:layout_height="wrap_content" />
    <LinearLayout
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal"
        >
        <Button
            android:id="@+id/plusButton"
            android:text="+"
            style="?android:buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/moinsButton"
            android:text="-"
            style="?android:buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/multiButton"
            android:text="*"
            style="?android:buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/divButton"
            android:text="/"
            style="?android:buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/clear"
            android:text="CLR"
            style="?android:buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <TextView
        android:id="@+id/result"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#000"
        android:textStyle="bold"
        android:textSize="25dp"
        android:layout_marginTop="10dp"
        android:text="Resultat" />
    <TextView
        android:id="@+id/resultDisplay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#000"
        android:textStyle="bold"
        android:textSize="25dp"
        android:layout_marginTop="10dp"
        android:text="0.0" />
</LinearLayout>

                            

- الملف MainActivity.java

من بعد غادي تمشي للمجلد java/com.exemple.package.calculatrice وغادي تزيد الكود لي غادي يمكنا من إضافة العمليات الحسابية لكل bouton عندنا فل interface الجزء الاول من الكود لي غادي تزيدو من بعد public class MainActivity extends AppCompatActivity ولي غادي يمكنا من تعريف المتغيرات لي كاينة فل interface ديالنا هو :

                                package com.example.imad.calculatrice;

import android.renderscript.Double2;
import android.support.annotation.IntegerRes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private EditText  nombre1;
    private EditText  nombre2;
    private Button  btnAddition;
    private Button  btnMultiplication;
    private Button  btnDivision;
    private Button  btnSoustraction;
    private Button  btnClear;
    private TextView resultTxt;
                            

- تتمة الملف MainActivity.java

فهاد الجزء غادي نربطو ما بين المتغيرات لي فلMainActivity مع الملف activity_main.xml الكود لي غادي يتزاد هو :

                                        nombre1 = (EditText) findViewById(R.id.numberOne);
        nombre2 = (EditText) findViewById(R.id.numberTwo);
        btnAddition = (Button) findViewById(R.id.plusButton);
        btnMultiplication = (Button) findViewById(R.id.multiButton);
        btnDivision = (Button) findViewById(R.id.divButton);
        btnSoustraction = (Button) findViewById(R.id.moinsButton);
        btnClear = (Button) findViewById(R.id.clear);
        resultTxt = (TextView) findViewById(R.id.resultDisplay);
                            

- تتمة الملف MainActivity

فهاد الجزء غادي نزيدو الكود لي غادي يمكنا من إنجاز الجمع والضرب وغادي يعرض واحد الرسالة ديال الخطأ في حالة ما كان واحد من الحقول فارغ الكود لي غادي يتزاد هو :

                                     //addition
        btnAddition.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if((nombre1.getText().length() > 0) && (nombre2.getText().length() > 0)) {
                    double nbr1 = Double.parseDouble(nombre1.getText().toString());
                    double nbr2 = Double.parseDouble(nombre2.getText().toString());
                    double result = nbr1 + nbr2;
                    resultTxt.setText(Double.toString(result));
                }else{
                    Toast.makeText(MainActivity.this,"Veuillez remplir tous les champs!",Toast.LENGTH_LONG).show();
                }
            }
        });
        //multiplication
        btnMultiplication.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if((nombre1.getText().length() > 0) && (nombre2.getText().length() > 0)) {
                    double nbr1 = Double.parseDouble(nombre1.getText().toString());
                    double nbr2 = Double.parseDouble(nombre2.getText().toString());
                    double result = nbr1 * nbr2;
                    resultTxt.setText(Double.toString(result));
                }else{
                    Toast.makeText(MainActivity.this,"Veuillez remplir tous les champs!",Toast.LENGTH_LONG).show();
                }
            }
        });
                                

- تتمة الملف MainActivity.java

فهاد الجزء غادي نزيدو الكود لي غادي يمكنا من إنجاز الطرح و القسمة وغادي يعرض واحد الرسالة ديال الخطأ في حالة ما كان واحد من الحقول فارغ والكود لي غادي يمكنا من إعادة الآلة الحاسبة لوضع البداية الكود كامل هو :

                                     //soustraction
        btnSoustraction.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if((nombre1.getText().length() > 0) && (nombre2.getText().length() > 0)) {
                    double nbr1 = Double.parseDouble(nombre1.getText().toString());
                    double nbr2 = Double.parseDouble(nombre2.getText().toString());
                    double result = nbr1 - nbr2;
                    resultTxt.setText(Double.toString(result));
                }else{
                    Toast.makeText(MainActivity.this,"Veuillez remplir tous les champs!",Toast.LENGTH_LONG).show();
                }
            }
        });
        //division
        btnDivision.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if((nombre1.getText().length() > 0) && (nombre2.getText().length() > 0)) {
                    double nbr1 = Double.parseDouble(nombre1.getText().toString());
                    double nbr2 = Double.parseDouble(nombre2.getText().toString());
                    double result = nbr1 / nbr2;
                    resultTxt.setText(Double.toString(result));
                }else{
                    Toast.makeText(MainActivity.this,"Veuillez remplir tous les champs!",Toast.LENGTH_LONG).show();
                }
            }
        });
        btnClear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                nombre1.setText("");
                nombre2.setText("");
                resultTxt.setText("0.00");
            }
        });
                                


بحث في الموقع


إشترك للتوصل بالجديد