Sketchware Pro से Advanced Age Calculator App कैसे बनाएं - Years, Months, Days तक

Sketchware Pro से Advanced Age Calculator App कैसे बनाएं



Aaj is tutorial mein aap seekhenge ki kaise Sketchware Pro ka use karke ek Advanced Age Calculator App banaya jaye — jisme User ki age sirf Year hi nahi, balki Month, Week, Day, Hour, Minute, Second tak calculate hoti ho.

📁 Step 1: Create New Project in Sketchware Pro

Apne mobile mein Sketchware Pro open karein aur ek naya project create karein. Uske baad:

  • Top-right corner mein diye gaye three dots (⋮) par tap karein
  • Java/Kotlin Manager open karein
  • Wahan ek

    MainActivity.java

    file create karein

🧠 Step 2: Add Java Code

Ab aapko niche diya gaya Java code apne

MainActivity.java

mein paste karna hai.
Note: Package name ko apne project ke package name se replace zarur karein.

      package com.my.newproject2pkg;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Calendar;

public class MainActivity extends Activity {

    private TextView tvDate, tvResult;
    private Button btnPick, btnCalculate;
    private LinearLayout resultCard;

    private Calendar dobCalendar = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); // ensure XML ka naam yahi hai

        // Views Initialization
        tvDate = findViewById(R.id.tv_date);
        tvResult = findViewById(R.id.tv_result);
        btnPick = findViewById(R.id.btn_pick);
        btnCalculate = findViewById(R.id.btn_calculate);
        resultCard = findViewById(R.id.result_card);

        // Shuru mein result card invisible rakhen
        resultCard.setVisibility(View.GONE);

        btnPick.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                openDatePicker();
            }
        });

        btnCalculate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                calculateAge();
            }
        });
    }

    private void openDatePicker() {
        final Calendar today = Calendar.getInstance();

        int year = today.get(Calendar.YEAR);
        int month = today.get(Calendar.MONTH);
        int day = today.get(Calendar.DAY_OF_MONTH);

        DatePickerDialog picker = new DatePickerDialog(MainActivity.this,
                new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker datePicker, int y, int m, int d) {
                        dobCalendar = Calendar.getInstance();
                        dobCalendar.set(y, m, d);
                        // Display selected date
                        String dateStr = String.format("%02d / %02d / %d", d, m + 1, y);
                        tvDate.setText(dateStr);
                        // Hide previous result (if any)
                        resultCard.setVisibility(View.GONE);
                        tvResult.setText("");
                    }
                }, year, month, day);

        picker.show();
    }

    private void calculateAge() {
        if (dobCalendar == null) {
            Toast.makeText(this, "पहले जन्मतिथि चुनें", Toast.LENGTH_SHORT).show();
            return;
        }

        Calendar today = Calendar.getInstance();

        if (dobCalendar.after(today)) {
            Toast.makeText(this, "भविष्य की तारीख मान्य नहीं है!", Toast.LENGTH_SHORT).show();
            return;
        }

        int years = today.get(Calendar.YEAR) - dobCalendar.get(Calendar.YEAR);
        int months = today.get(Calendar.MONTH) - dobCalendar.get(Calendar.MONTH);
        int days = today.get(Calendar.DAY_OF_MONTH) - dobCalendar.get(Calendar.DAY_OF_MONTH);

        if (days < 0) {
            months--;
            days += today.getActualMaximum(Calendar.DAY_OF_MONTH);
        }

        if (months < 0) {
            years--;
            months += 12;
        }

        // Detailed age in days, hours, minutes, seconds
        long diffMillis = today.getTimeInMillis() - dobCalendar.getTimeInMillis();
        long diffSeconds = diffMillis / 1000;
        long diffMinutes = diffSeconds / 60;
        long diffHours = diffMinutes / 60;
        long diffDays = diffHours / 24;
        long diffWeeks = diffDays / 7;

        String resultText = "आपकी उम्र:\n\n"
                + "🎂 वर्षों में: " + years + "\n"
                + "📅 महीनों में: " + months + "\n"
                + "📆 दिनों में: " + days + "\n"
                + "🗓️ सप्ताहों में: " + diffWeeks + "\n"
                + "⏳ घंटों में: " + diffHours + "\n"
                + "⏰ मिनटों में: " + diffMinutes + "\n"
                + "⏲️ सेकंडों में: " + diffSeconds;

        tvResult.setText(resultText);
        resultCard.setVisibility(View.VISIBLE);
    }
}




🎨 Step 3: Add Layout File (main.xml)

Java code save karne ke baad, ab aapko layout file create karni hai:

  • Java/Kotlin Manager ke neeche Resource section par tap karein
  • Uske baad Layout mein jaakar ek new XML file banayein

  • File ka naam hona chahiye: main.xml

📄 XML Code:

      <ScrollView
	xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:app="http://schemas.android.com/apk/res-auto"
	xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:background="#F5F5F5"
	android:padding="16dp">
	<LinearLayout
		android:id="@+id/linear11"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:background="#FCE4EC"
		android:gravity="center_horizontal"
		android:orientation="vertical">
		<LinearLayout
			android:id="@+id/linear12"
			android:layout_width="match_parent"
			android:layout_height="80dp"
			android:layout_marginBottom="16dp"
			android:padding="16dp"
			android:background="#F8BBD0"
			android:gravity="center_horizontal|center_vertical"
			android:orientation="vertical"
			android:elevation="4dp">
			<TextView
				android:id="@+id/tv_heading"
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:text="Age Calculator"
				android:textSize="24sp"
				android:textStyle="bold"
				android:textColor="#FFFFFF"
				android:fontFamily="sans-serif-medium" />
		</LinearLayout>
		<LinearLayout
			android:id="@+id/linear13"
			android:layout_width="match_parent"
			android:layout_height="wrap_content"
			android:layout_marginTop="8dp"
			android:layout_marginBottom="16dp"
			android:padding="12dp"
			android:background="#FFFFFF"
			android:orientation="vertical"
			android:elevation="2dp"
			android:layout_marginHorizontal="4dp"
			android:radius="12dp">
			<TextView
				android:id="@+id/textview8"
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:layout_marginBottom="8dp"
				android:text="Select Your Birth Date"
				android:textSize="16sp"
				android:textColor="#FF4081" />
			<LinearLayout
				android:id="@+id/linear14"
				android:layout_width="match_parent"
				android:layout_height="wrap_content"
				android:gravity="center_vertical"
				android:orientation="horizontal">
				<TextView
					android:id="@+id/tv_date"
					android:layout_width="0dp"
					android:layout_height="wrap_content"
					android:padding="8dp"
					android:background="#EEEEEE"
					android:gravity="center_horizontal|center_vertical"
					android:text="DD / MM / YYYY"
					android:textSize="18sp"
					android:textColor="#000000"
					android:layout_weight="1"
					android:radius="8dp" />
				<Button
					android:id="@+id/btn_pick"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					android:text="Pick"
					android:textSize="12sp"
					android:textColor="#FFFFFF"
					android:backgroundTint="#FF4081"
					android:layout_marginStart="12dp" />
			</LinearLayout>
		</LinearLayout>
		<Button
			android:id="@+id/btn_calculate"
			android:layout_width="match_parent"
			android:layout_height="wrap_content"
			android:layout_marginTop="10dp"
			android:layout_marginBottom="20dp"
			android:text="Calculate Age"
			android:textSize="18sp"
			android:textColor="#FFFFFF"
			android:backgroundTint="#3F51B5"
			android:radius="12dp" />
		<LinearLayout
			android:id="@+id/result_card"
			android:layout_width="match_parent"
			android:layout_height="wrap_content"
			android:padding="16dp"
			android:background="#FFFFFF"
			android:orientation="vertical"
			android:elevation="4dp"
			android:radius="12dp">
			<TextView
				android:id="@+id/tv_result"
				android:layout_width="match_parent"
				android:layout_height="wrap_content"
				android:gravity="center_horizontal|center_vertical"
				android:text="Your Age Will Be Shown Here"
				android:textSize="16sp"
				android:textColor="#333333" />
		</LinearLayout>
	</LinearLayout>
</ScrollView>



📲 Final Output:

Jab aap app ko run karenge, user apni Date of Birth enter karega aur app uski age dikhayega in this format:

  • Years: 23
  • Months: 280
  • Weeks: 1212
  • Days: 8484
  • Hours: 203616
  • Minutes: 12216960
  • Seconds: 732897600

  👇👇Screenshot👇👇



💡 Tips to Improve:

  • Add Date Picker for better UX
  • Use CardView or Custom Fonts for stylish layout
  • Add Share Button to send age result via WhatsApp etc.

🔗 Source & More Projects:

Visit: www.sketchwarehub.in for more Sketchware tutorials, codes & project files.

#Sketchware #AgeCalculator #AdvancedApp #JavaXML #MobileAppDevelopment

Post a Comment

0 Comments