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
file create kareinMainActivity.java
🧠 Step 2: Add Java Code
Ab aapko niche diya gaya Java code apne
Note: Package name ko apne project ke package name se replace zarur karein.
MainActivity.java
mein paste karna hai. 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
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
0 Comments