Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>alanturing1New to Visual Studio Code? Get it now.
alanturing1

alanturing1

alanturing

| (0) | Free
1 - 6
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Practical 1 – Android Activity Lifecycle

Java Code (MainActivity.java)

package com.example.lifecycle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast.makeText(getApplicationContext(),"inside onCreate", Toast.LENGTH_LONG ).show();
    }

    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(getApplicationContext(),"inside onStart", Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onResume() {
        super.onResume();
        Toast.makeText(getApplicationContext(),"inside onResume", Toast.LENGTH_LONG ).show();
    }

    @Override
    protected void onPause() {
        super.onPause();
        Toast.makeText(getApplicationContext(),"inside onPause", Toast.LENGTH_LONG ).show();
    }

    @Override
    protected void onStop() {
        super.onStop();
        Toast.makeText(getApplicationContext(),"inside onStop", Toast.LENGTH_LONG ).show();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Toast.makeText(getApplicationContext(),"inside onRestart", Toast.LENGTH_LONG ).show();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Toast.makeText(getApplicationContext(),"inside onDestroy", Toast.LENGTH_LONG ).show();
    }
}

Practical 2 – Addition of Two Numbers

XML Layout (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    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">

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter first number"
        android:inputType="number" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter second number"
        android:inputType="number" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Add Numbers" />

    <TextView
        android:id="@+id/txtResult1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp" />

</androidx.constraintlayout.widget.ConstraintLayout>

Java Code (MainActivity.java)

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

        EditText editText1 = findViewById(R.id.editText1);
        EditText editText2 = findViewById(R.id.editText2);
        Button submitButton = findViewById(R.id.button);
        TextView txtResult = findViewById(R.id.txtResult1);

        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int num1 = Integer.parseInt(editText1.getText().toString());
                int num2 = Integer.parseInt(editText2.getText().toString());
                int res = num1 + num2;
                txtResult.setText("The result is: " + res);
            }
        });
    }
}

Practical 3 – Simple Calculator

XML Layout (activity_main.xml)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    android:background="#F4F4F4">

    <TextView
        android:id="@+id/input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="0"
        android:gravity="end"
        android:textSize="36sp"
        android:padding="16dp"
        android:background="#FFFFFF" />

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="4"
        android:rowCount="5">

        <!-- Buttons omitted here for brevity -->
    </GridLayout>

</LinearLayout>

Java Code (MainActivity.java)

package com.example.calculator;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;
import java.util.Stack;

public class MainActivity extends AppCompatActivity {

    TextView input;
    String expression = "";

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

        input = findViewById(R.id.input);

        int[] buttonIds = {
            R.id.btn0, R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4,
            R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9,
            R.id.btnPlus, R.id.btnMinus, R.id.btnMultiply, R.id.btnDivide,
            R.id.btnDot, R.id.btnOpen, R.id.btnClose
        };

        View.OnClickListener listener = v -> {
            Button b = (Button) v;
            expression += b.getText().toString();
            input.setText(expression);
        };

        for (int id : buttonIds) {
            Button btn = findViewById(id);
            btn.setOnClickListener(listener);
        }

        Button clear = findViewById(R.id.btnC);
        clear.setOnClickListener(v -> {
            expression = "";
            input.setText("0");
        });

        Button equal = findViewById(R.id.btnEqual);
        equal.setOnClickListener(v -> {
            try {
                double result = evaluate(expression);
                input.setText(String.valueOf(result));
                expression = String.valueOf(result);
            } catch (Exception e) {
                input.setText("Error");
                expression = "";
            }
        });
    }

    private double evaluate(String expr) {
        return new Object() {
            int pos = -1, ch;
            void nextChar() { ch = (++pos < expr.length()) ? expr.charAt(pos) : -1; }
            boolean eat(int charToEat) {
                while (ch == ' ') nextChar();
                if (ch == charToEat) { nextChar(); return true; }
                return false;
            }

            double parse() {
                nextChar();
                double x = parseExpression();
                if (pos < expr.length()) throw new RuntimeException("Unexpected: " + (char)ch);
                return x;
            }

            double parseExpression() {
                double x = parseTerm();
                while(true) {
                    if      (eat('+')) x += parseTerm();
                    else if (eat('-')) x -= parseTerm();
                    else return x;
                }
            }

            double parseTerm() {
                double x = parseFactor();
                while(true) {
                    if      (eat('*')) x *= parseFactor();
                    else if (eat('/')) x /= parseFactor();
                    else return x;
                }
            }

            double parseFactor() {
                if (eat('+')) return parseFactor();
                if (eat('-')) return -parseFactor();

                double x;
                int startPos = this.pos;

                if (eat('(')) {
                    x = parseExpression();
                    eat(')');
                } else if ((ch >= '0' && ch <= '9') || ch == '.') {
                    while ((ch >= '0' && ch <= '9') || ch == '.') nextChar();
                    x = Double.parseDouble(expr.substring(startPos, this.pos));
                } else {
                    throw new RuntimeException("Unexpected: " + (char)ch);
                }

                return x;
            }
        }.parse();
    }
}

Practical 4 – BMI Calculator

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:id="@+id/editText1"
        android:hint="Enter weight (kg)"
        android:inputType="numberDecimal" />

    <EditText
        android:id="@+id/editText2"
        android:hint="Enter height (m)"
        android:inputType="numberDecimal" />

    <Button
        android:id="@+id/button"
        android:text="Calculate BMI" />

    <TextView
        android:id="@+id/txtResult1"
        android:textSize="20sp"
        android:textStyle="bold" />

</LinearLayout>

Java Code (MainActivity.java)

package com.example.myapplication;
import androidx.appcompat.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 {

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

        EditText editText1 = findViewById(R.id.editText1);
        EditText editText2 = findViewById(R.id.editText2);
        Button submitButton = findViewById(R.id.button);
        TextView txtResult = findViewById(R.id.txtResult1);

        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                float weight = Float.parseFloat(editText1.getText().toString());
                float height = Float.parseFloat(editText2.getText().toString());

                float bmi = weight / (height * height);

                String category;
                if (bmi < 18.5) category = "Underweight 😢";
                else if (bmi < 25) category = "Normal 😎";
                else if (bmi < 30) category = "Overweight 😨";
                else category = "Obese 💀";

                txtResult.setText("Your BMI is: " + bmi);
                Toast.makeText(MainActivity.this, "You fall under " + category, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Practical 5 — Currency Converter App using Spinner

XML Layout (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    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">

    <EditText
        android:id="@+id/edtNum1"
        android:layout_width="271dp"
        android:layout_height="62dp"
        android:hint="Enter amount"
        android:inputType="number" />

    <Spinner
        android:id="@+id/fromspin"
        android:layout_width="269dp"
        android:layout_height="65dp" />

    <Spinner
        android:id="@+id/tospin"
        android:layout_width="270dp"
        android:layout_height="63dp" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Convert" />

    <TextView
        android:id="@+id/resultView"
        android:layout_width="348dp"
        android:layout_height="52dp"
        android:text="Result will appear here" />

    <Button
        android:id="@+id/swapbutton"
        android:layout_width="64dp"
        android:layout_height="72dp"
        android:foreground="@drawable/swap" />

    <TextView
        android:id="@+id/CurrencyConverter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Currency Converter"
        android:textSize="34sp"
        android:textStyle="bold|italic"
        android:gravity="center" />

</androidx.constraintlayout.widget.ConstraintLayout>

Java Code (MainActivity.java)

package com.example.myapplication;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private EditText amountEditText;
    private TextView resultTextView;

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

        Button btn = findViewById(R.id.button);
        Button swapbtn = findViewById(R.id.swapbutton);

        amountEditText = findViewById(R.id.edtNum1);
        resultTextView = findViewById(R.id.resultView);

        ArrayList<String> currencies = new ArrayList<>();
        currencies.add("USD");
        currencies.add("INR");
        currencies.add("JPY");

        Spinner fromSpinner = findViewById(R.id.fromspin);
        Spinner toSpinner = findViewById(R.id.tospin);

        ArrayAdapter<String> currencyAdapter = new ArrayAdapter<>(
                getApplicationContext(),
                android.R.layout.simple_spinner_item,
                currencies
        );

        fromSpinner.setAdapter(currencyAdapter);
        toSpinner.setAdapter(currencyAdapter);

        btn.setOnClickListener(v -> convertCurrency());
        swapbtn.setOnClickListener(v -> swap());
    }

    void convertCurrency() {
        String amountStr = amountEditText.getText().toString();
        double amount = Double.parseDouble(amountStr);

        Spinner fromSpinner = findViewById(R.id.fromspin);
        Spinner toSpinner = findViewById(R.id.tospin);

        String fromCurrency = fromSpinner.getSelectedItem().toString();
        String toCurrency = toSpinner.getSelectedItem().toString();

        double result = convert(amount, fromCurrency, toCurrency);
        resultTextView.setText("The result is: " + result);
    }

    double convert(double amount, String fromCurrency, String toCurrency) {
        double rate = 1.0;

        if (fromCurrency.equals("USD") && toCurrency.equals("INR")) rate = 82.75;
        else if (fromCurrency.equals("USD") && toCurrency.equals("JPY")) rate = 142.50;
        else if (fromCurrency.equals("INR") && toCurrency.equals("USD")) rate = 1 / 82.75;
        else if (fromCurrency.equals("INR") && toCurrency.equals("JPY")) rate = 1.7225;
        else if (fromCurrency.equals("JPY") && toCurrency.equals("USD")) rate = 1 / 142.50;
        else if (fromCurrency.equals("JPY") && toCurrency.equals("INR")) rate = 58.125;

        return amount * rate;
    }

    void swap() {
        Spinner fromSpinner = findViewById(R.id.fromspin);
        Spinner toSpinner = findViewById(R.id.tospin);

        int fromPosition = fromSpinner.getSelectedItemPosition();
        int toPosition = toSpinner.getSelectedItemPosition();

        fromSpinner.setSelection(toPosition);
        toSpinner.setSelection(fromPosition);
    }
}

Practical 6 — Registration Form with Second Activity

XML Layout for Registration (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#FAFAFA"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:gravity="center_horizontal"
        android:padding="24dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imgProfileMain"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:src="@android:drawable/ic_menu_camera"
            android:background="@drawable/circle_bg" />

        <TextView
            android:id="@+id/tvTitle"
            android:text="User Registration"
            android:textSize="28sp"
            android:textStyle="bold"
            android:textColor="#3F51B5" />

        <EditText
            android:id="@+id/etName"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:hint="Enter your full name"
            android:inputType="textPersonName" />

        <EditText
            android:id="@+id/etEmail"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:hint="Enter your email address"
            android:inputType="textEmailAddress"
            android:layout_marginTop="16dp" />

        <RadioGroup
            android:id="@+id/rgGender"
            android:orientation="horizontal"
            android:layout_marginTop="20dp">

            <RadioButton
                android:id="@+id/rbMale"
                android:text="Male" />

            <RadioButton
                android:id="@+id/rbFemale"
                android:text="Female"
                android:layout_marginStart="24dp" />
        </RadioGroup>

        <Spinner
            android:id="@+id/spCountry"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_marginTop="20dp" />

        <Button
            android:id="@+id/btnDob"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:text="Select Date of Birth"
            android:layout_marginTop="20dp" />

        <TextView
            android:id="@+id/tvDob"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp" />

        <ProgressBar
            android:id="@+id/pbLoading"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:visibility="gone"
            android:layout_marginTop="24dp" />

        <Button
            android:id="@+id/btnSubmit"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:text="Submit"
            android:layout_marginTop="24dp" />

    </LinearLayout>

</ScrollView>

Next Activity XML (activity_next.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:padding="24dp"
    android:background="#FAFAFA"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imgProfileNext"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:src="@android:drawable/ic_menu_camera" />

    <TextView
        android:id="@+id/tvResult"
        android:textSize="20sp"
        android:layout_marginTop="16dp" />

    <ProgressBar
        android:id="@+id/pbLoadingNext"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:visibility="gone"
        android:layout_marginTop="20dp" />

</LinearLayout>

Java Code — MainActivity.java

package com.example.registration_form;

import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {

    private EditText etName, etEmail;
    private RadioGroup rgGender;
    private Spinner spCountry;
    private Button btnDob, btnSubmit;
    private TextView tvDob;
    private ProgressBar pbLoading;
    private String selectedGender = "";
    private String selectedDate = "";

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

        etName = findViewById(R.id.etName);
        etEmail = findViewById(R.id.etEmail);
        rgGender = findViewById(R.id.rgGender);
        spCountry = findViewById(R.id.spCountry);
        btnDob = findViewById(R.id.btnDob);
        btnSubmit = findViewById(R.id.btnSubmit);
        tvDob = findViewById(R.id.tvDob);
        pbLoading = findViewById(R.id.pbLoading);

        // Country list
        String[] countries = {
                "Select Country", "United States", "Canada",
                "United Kingdom", "Australia", "India",
                "Germany", "France", "Japan"
        };

        ArrayAdapter<String> adapter = new ArrayAdapter<>(
                this, android.R.layout.simple_spinner_item, countries);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spCountry.setAdapter(adapter);

        rgGender.setOnCheckedChangeListener((group, checkedId) -> {
            RadioButton rb = findViewById(checkedId);
            if (rb != null) selectedGender = rb.getText().toString();
        });

        btnDob.setOnClickListener(v -> {
            Calendar calendar = Calendar.getInstance();
            DatePickerDialog dpd = new DatePickerDialog(
                    MainActivity.this,
                    MainActivity.this,
                    calendar.get(Calendar.YEAR),
                    calendar.get(Calendar.MONTH),
                    calendar.get(Calendar.DAY_OF_MONTH)
            );
            dpd.show();
        });

        btnSubmit.setOnClickListener(v -> {
            pbLoading.setVisibility(View.VISIBLE);

            String name = etName.getText().toString().trim();
            String email = etEmail.getText().toString().trim();
            String country = spCountry.getSelectedItem().toString();

            Intent intent = new Intent(MainActivity.this, NextActivity.class);
            intent.putExtra("name", name);
            intent.putExtra("email", email);
            intent.putExtra("gender", selectedGender);
            intent.putExtra("country", country);
            intent.putExtra("dob", selectedDate);

            startActivity(intent);
            pbLoading.setVisibility(View.GONE);
        });
    }

    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
        selectedDate = String.format("%d-%02d-%02d", year, month + 1, dayOfMonth);
        tvDob.setText("Selected Date: " + selectedDate);
    }
}

Java Code — NextActivity.java

package com.example.registration_form;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;

public class NextActivity extends AppCompatActivity {

    private TextView tvResult;
    private ProgressBar pbLoadingNext;

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

        tvResult = findViewById(R.id.tvResult);
        pbLoadingNext = findViewById(R.id.pbLoadingNext);

        pbLoadingNext.setVisibility(View.VISIBLE);
        tvResult.setVisibility(View.GONE);

        new Handler().postDelayed(() -> {
            String name = getIntent().getStringExtra("name");
            String email = getIntent().getStringExtra("email");
            String gender = getIntent().getStringExtra("gender");
            String country = getIntent().getStringExtra("country");
            String dob = getIntent().getStringExtra("dob");

            String displayText = "User Details\n\n" +
                    "Name: " + (name.isEmpty() ? "N/A" : name) + "\n" +
                    "Email: " + (email.isEmpty() ? "N/A" : email) + "\n" +
                    "Gender: " + (gender.isEmpty() ? "N/A" : gender) + "\n" +
                    "Country: " + (country.equals("Select Country") ? "N/A" : country) + "\n" +
                    "Date of Birth: " + (dob.isEmpty() ? "N/A" : dob);

            tvResult.setText(displayText);
            pbLoadingNext.setVisibility(View.GONE);
            tvResult.setVisibility(View.VISIBLE);

        }, 1500);
    }
}
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft