<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی ام</title>
        <link>https://virgool.io/feed/@mehdi08</link>
        <description>برنامه نویس اندروید هستم و میخوام با پروژه های کوچیک چیزایی که از اندروید بلدم رو یاد بدم  :)</description>
        <language>fa</language>
        <pubDate>2026-07-06 15:50:08</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/26712/avatar/kMAHgT.png?height=120&amp;width=120</url>
            <title>مهدی ام</title>
            <link>https://virgool.io/@mehdi08</link>
        </image>

                    <item>
                <title>پنل کشویی با Picker چرخی - اندروید</title>
                <link>https://virgool.io/@mehdi08/%D9%BE%D9%86%D9%84-%DA%A9%D8%B4%D9%88%DB%8C%DB%8C-%D8%A8%D8%A7-picker-%DA%86%D8%B1%D8%AE%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-unm4qmdnexnr</link>
                <description>سلام عزیزان، چند وقت پیش یکی از دوستام برای طراحی یه همچین چیزی ازم کمک خواست تو یه پروژه مجزا انجامش دادم و گذاشتمش رو گیت هابم اگه به کارتون میاد میتونین ازش استفاده کنینhttps://github.com/mehdii08/BottomSlideWithPickersliding up panel layout with easy picker viewدوست دارم به دوستام کمک کنم. اگر تو زمینه ای که بلدم سوالی داشتین در خدمتم :)</description>
                <category>مهدی ام</category>
                <author>مهدی ام</author>
                <pubDate>Sun, 03 May 2020 19:04:09 +0430</pubDate>
            </item>
                    <item>
                <title>ماشین حساب خیلیییی ساده - اندروید</title>
                <link>https://virgool.io/@mehdi08/mysimplecalculator-bxlvktlyjewl</link>
                <description>android studioسلام ان شا الله که حال دلتون خوب باشهتصمیم دارم جلسات انتقال تجربه ی خودمو که تو دانشگاه در قالب ۱۰ جلسه به صورت پروژه های کوچیک قرار بود انجام بدم رو اینجا هم بزارم تا شاید کمکی کرده باشم. قراره از کارای خیلی ساده شروع کنم و به یه سطح معمولی برسیم.این پروژه خیلی ساده و کوچیکه. ۴ تا عمل اصلی رو داره ولی قراره یه ماشین حساب خوشگل تر هم درست کنیم. پس اینو میزارم اینجا تا چند روز بعد یه ماشین حساب خوشگل تر هم بهش اضافه بشه.تصمیم دارم جلسات انتقال تجربه ی خودمو که تو دانشگاه در قالب ۱۰ جلسه به صورت پروژه های کوچیک قرار بود انجام بدم رو اینجا هم بزارم تا شاید کمکی کرده باشم. قراره از کارای خیلی ساده شروع کنم و به یه سطح معمولی برسیمدر ضمن میتونین سورس کد رو از گیت هاب بگیرینhttps://github.com/mehdii08/MySimpleCalculatorفایل اول  activity_main.xml هست:&lt;?xml version=&amp;quot1.0&amp;quot encoding=&amp;quotutf-8&amp;quot?&gt;
&lt;LinearLayout xmlns:android=&amp;quothttp://schemas.android.com/apk/res/android&amp;quot
    xmlns:tools=&amp;quothttp://schemas.android.com/tools&amp;quot
    android:layout_width=&amp;quotmatch_parent&amp;quot
    android:layout_height=&amp;quotmatch_parent&amp;quot
    android:gravity=&amp;quotcenter&amp;quot
    android:orientation=&amp;quotvertical&amp;quot
    tools:context=&amp;quot.MainActivity&amp;quot&gt;
    
    &lt;LinearLayout
        android:layout_width=&amp;quotwrap_content&amp;quot
        android:layout_height=&amp;quotwrap_content&amp;quot
        android:orientation=&amp;quothorizontal&amp;quot&gt;

        &lt;EditText
            android:id=&amp;quot@+id/operand1&amp;quot
            android:layout_width=&amp;quotwrap_content&amp;quot
            android:layout_height=&amp;quotwrap_content&amp;quot
            android:hint=&amp;quotop1&amp;quot
            android:inputType=&amp;quotnumber&amp;quot
            android:textSize=&amp;quot30sp&amp;quot /&gt;

        &lt;TextView
            android:id=&amp;quot@+id/operator&amp;quot
            android:layout_width=&amp;quotwrap_content&amp;quot
            android:layout_height=&amp;quotwrap_content&amp;quot
            android:hint=&amp;quot+&amp;quot
            android:textSize=&amp;quot30sp&amp;quot /&gt;

        &lt;EditText
            android:id=&amp;quot@+id/operand2&amp;quot
            android:layout_width=&amp;quotwrap_content&amp;quot
            android:layout_height=&amp;quotwrap_content&amp;quot
            android:hint=&amp;quotop2&amp;quot
            android:inputType=&amp;quotnumber&amp;quot
            android:textSize=&amp;quot30sp&amp;quot /&gt;

        &lt;TextView
            android:layout_width=&amp;quotwrap_content&amp;quot
            android:layout_height=&amp;quotwrap_content&amp;quot
            android:hint=&amp;quot=&amp;quot
            android:textSize=&amp;quot30sp&amp;quot /&gt;

        &lt;TextView
            android:id=&amp;quot@+id/result&amp;quot
            android:layout_width=&amp;quotwrap_content&amp;quot
            android:layout_height=&amp;quotwrap_content&amp;quot
            android:hint=&amp;quotresult&amp;quot
            android:textSize=&amp;quot30sp&amp;quot /&gt;

    &lt;/LinearLayout&gt;

    &lt;LinearLayout
        android:layout_width=&amp;quotwrap_content&amp;quot
        android:layout_height=&amp;quotwrap_content&amp;quot
        android:layout_marginTop=&amp;quot30sp&amp;quot
        android:orientation=&amp;quothorizontal&amp;quot&gt;

        &lt;androidx.appcompat.widget.AppCompatButton
            android:id=&amp;quot@+id/sum&amp;quot
            android:layout_width=&amp;quot80sp&amp;quot
            android:layout_height=&amp;quot80sp&amp;quot
            android:layout_marginRight=&amp;quot20sp&amp;quot
            android:=&amp;quotsum&amp;quot
            android:text=&amp;quot+&amp;quot
            android:textSize=&amp;quot20sp&amp;quot /&gt;

        &lt;androidx.appcompat.widget.AppCompatButton
            android:id=&amp;quot@+id/subtraction&amp;quot
            android:layout_width=&amp;quot80sp&amp;quot
            android:layout_height=&amp;quot80sp&amp;quot
            android:=&amp;quotsubtraction&amp;quot
            android:text=&amp;quot-&amp;quot
            android:textSize=&amp;quot20sp&amp;quot /&gt;

    &lt;/LinearLayout&gt;

    &lt;LinearLayout
        android:layout_width=&amp;quotwrap_content&amp;quot
        android:layout_height=&amp;quotwrap_content&amp;quot
        android:layout_marginTop=&amp;quot20sp&amp;quot
        android:orientation=&amp;quothorizontal&amp;quot&gt;

        &lt;androidx.appcompat.widget.AppCompatButton
            android:id=&amp;quot@+id/multiplication&amp;quot
            android:layout_width=&amp;quot80sp&amp;quot
            android:layout_height=&amp;quot80sp&amp;quot
            android:layout_marginRight=&amp;quot20sp&amp;quot
            android:=&amp;quotmultiplication&amp;quot
            android:text=&amp;quot*&amp;quot
            android:textSize=&amp;quot20sp&amp;quot /&gt;

        &lt;androidx.appcompat.widget.AppCompatButton
            android:id=&amp;quot@+id/division&amp;quot
            android:layout_width=&amp;quot80sp&amp;quot
            android:layout_height=&amp;quot80sp&amp;quot
            android:=&amp;quotdivision&amp;quot
            android:text=&amp;quot/&amp;quot
            android:textSize=&amp;quot20sp&amp;quot /&gt;

    &lt;/LinearLayout&gt;
    
&lt;/LinearLayout&gt;فایل بعدی  MainActivity.java هست: import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatButton;

import android.media.Image;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText operand1, operand2;
    private TextView operator, result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();

    }

    private void init() {

        operand1 = findViewById(R.id.operand1);
        operand2 = findViewById(R.id.operand2);
        operator = findViewById(R.id.operator);
        result = findViewById(R.id.result);

    }

    public void sum(View view) {

        if (operand1.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop1 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else if (operand2.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop2 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else {

            int a = Integer.parseInt(operand1.getText().toString());
            int b = Integer.parseInt(operand2.getText().toString());
            int result = a + b;

            this.operator.setText(&amp;quot+&amp;quot);
            this.result.setText(String.valueOf(result));

        }

    }

    public void subtraction(View view) {

        if (operand1.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop1 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else if (operand2.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop2 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else {

            int a = Integer.parseInt(operand1.getText().toString());
            int b = Integer.parseInt(operand2.getText().toString());
            int result = a - b;

            this.operator.setText(&amp;quot-&amp;quot);
            this.result.setText(String.valueOf(result));

        }

    }

    public void multiplication(View view) {

        if (operand1.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop1 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else if (operand2.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop2 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else {

            int a = Integer.parseInt(operand1.getText().toString());
            int b = Integer.parseInt(operand2.getText().toString());
            int result = a * b;

            this.operator.setText(&amp;quot*&amp;quot);
            this.result.setText(String.valueOf(result));

        }

    }

    public void division(View view) {

        if (operand1.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop1 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else if (operand2.getText().toString().isEmpty()) {

            Toast.makeText(this, &amp;quotop2 is empty&amp;quot, Toast.LENGTH_SHORT).show();

        } else if (Integer.parseInt(operand2.getText().toString()) == 0) {

            Toast.makeText(this, &amp;quotdivision by zero&amp;quot, Toast.LENGTH_SHORT).show();

        } else {

            int a = Integer.parseInt(operand1.getText().toString());
            int b = Integer.parseInt(operand2.getText().toString());
            int result = a / b;

            this.operator.setText(&amp;quot/&amp;quot);
            this.result.setText(String.valueOf(result));

        }

    }
    
}خب حالا میتونین اجراش کنین. خروجی مثل تصویر پایین میشهsimple calculatorمیدونم خیلی سادس ولی این برای اون دوستانی هست که دفعات اولشونه با اندروید استودیو کار میکنن. ان شا الله تو پستای بعدی پروژه های پیچیده تری رو هم با هم کار میکنیم.</description>
                <category>مهدی ام</category>
                <author>مهدی ام</author>
                <pubDate>Sun, 05 Apr 2020 21:05:23 +0430</pubDate>
            </item>
            </channel>
</rss>