Android Studio Java Programming Examples and Source Code

1. Display a Hello World Toast Message

Package: com.example.pgm1

package com.example.pgm1;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Button but;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        but = findViewById(R.id.button);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_LONG).show();
            }
        });
    }
}

2. Add Two Numbers in Android

Aim: Write a program to add two numbers.

Package: com.example.phm2

package com.example.phm2;

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 {
    EditText firstnum, secondnum;
    TextView r;
    Button bt;
    double a, b, c;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        firstnum = findViewById(R.id.first);
        secondnum = findViewById(R.id.second);
        bt = findViewById(R.id.buttonadd);
        r = findViewById(R.id.result);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                a = Double.parseDouble(firstnum.getText().toString());
                b = Double.parseDouble(secondnum.getText().toString());
                c = a + b;
                r.setText("Sum = " + c);
            }
        });
    }
}

3. Show an Alert Dialog with OK and Cancel

Aim: Write a program to display an alert box with OK and Cancel buttons.

Package: com.example.pgm3

package com.example.pgm3;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Button but;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        but = findViewById(R.id.button);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);
                b.setTitle("Alert");
                b.setMessage("Are you sure?");
                b.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                        Toast.makeText(MainActivity.this, "You Clicked OK", Toast.LENGTH_SHORT).show();
                    }
                });
                b.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                        Toast.makeText(MainActivity.this, "You Clicked Cancel", Toast.LENGTH_SHORT).show();
                    }
                });
                b.show(); // Important: show the dialog!
            }
        });
    }
}

4. Create an Options Menu with Three Items

Package: com.example.menu

package com.example.menu;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        androidx.appcompat.widget.Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.create) {
            Toast.makeText(MainActivity.this, "You Clicked New", Toast.LENGTH_LONG).show();
        } else if (id == R.id.open) {
            Toast.makeText(MainActivity.this, "You Clicked Open", Toast.LENGTH_LONG).show();
        } else if (id == R.id.exit) {
            Toast.makeText(MainActivity.this, "You Clicked Exit", Toast.LENGTH_LONG).show();
            this.finish();
        }
        return super.onOptionsItemSelected(item);
    }
}

5. Select Gender Using Radio Buttons

Package: com.example.radiobutton

package com.example.radiobutton;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {
    Button but;
    RadioGroup rgroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        but = findViewById(R.id.button);
        rgroup = findViewById(R.id.radiogrp);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int selected = rgroup.getCheckedRadioButtonId();
                RadioButton radio = findViewById(selected);
                Toast.makeText(MainActivity.this, "You selected: " + radio.getText(), Toast.LENGTH_LONG).show();
            }
        });
    }
}

6. Implement a Spinner with Multiple Items

Package: com.example.phm6

package com.example.phm6;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Spinner spin;
    String[] items = {"Machine Learning", "Artificial Intelligence", "Cyber Security", "Data Analytics", "Bio Informatics"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spin = findViewById(R.id.spinner);
        ArrayAdapter adt = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items);
        adt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(adt);
        spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this, "Selected Item: " + items[position], Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView parent) {
                Toast.makeText(MainActivity.this, "No item selected", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

7. Check Selected Items Using Checkboxes

Package: com.example.pgm8

package com.example.pgm8;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    CheckBox cr, ai, ml, se;
    Button but;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        cr = findViewById(R.id.crypt);
        ai = findViewById(R.id.ai);
        ml = findViewById(R.id.ml);
        se = findViewById(R.id.se);
        but = findViewById(R.id.button);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String res = "Cryptography: " + cr.isChecked()
                        + "\nArtificial Intelligence: " + ai.isChecked()
                        + "\nMachine Learning: " + ml.isChecked()
                        + "\nSoftware Engineering: " + se.isChecked();
                Toast.makeText(MainActivity.this, res, Toast.LENGTH_LONG).show();
            }
        });
    }
}

8. Display Items in a ListView

Package: com.example.pg10

package com.example.pg10;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity {
    ListView listv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listv = findViewById(R.id.list);
        String[] items = {
                "Machine Learning",
                "Artificial Intelligence",
                "Cyber Security", "Data Analytics",
                "Bio Informatics"};
        ArrayAdapter adpt = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items);
        listv.setAdapter(adpt);
    }
}

9. Fetch EditText Data and Display in TextView

Package: com.example.pg10

package com.example.pg10;

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 {
    EditText edt;
    Button but;
    TextView txt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edt = findViewById(R.id.editText);
        but = findViewById(R.id.button);
        txt = findViewById(R.id.text_display);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txt.setText(edt.getText().toString());
            }
        });
    }
}

10. Generate a Multiplication Table

Package: com.example.multiplicationtable

package com.example.multiplicationtable;

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 {
    TextView txtres;
    Button but;
    EditText edutnum;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtres = findViewById(R.id.textViewResult);
        edutnum = findViewById(R.id.editTextNumber);
        but = findViewById(R.id.button);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int num = Integer.parseInt(edutnum.getText().toString());
                txtres.setText("");
                for (int i = 1; i <= 10; i++) {
                    txtres.append(i + " * " + num + " = " + (i * num) + "\n");
                }
            }
        });
    }
}

11. Change Activity Background Color

Package: com.example.changecolor

package com.example.changecolor;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;

public class MainActivity extends AppCompatActivity {
    Button btn;
    RelativeLayout ri;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = findViewById(R.id.button);
        ri = findViewById(R.id.ri);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ri.setBackgroundColor(
                        ContextCompat.getColor(MainActivity.this, android.R.color.holo_blue_bright));
            }
        });
    }
}

12. Change Activity Background Image

Package: com.example.backgroundimage

package com.example.backgroundimage;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {
    Button but;
    RelativeLayout rel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        but = findViewById(R.id.button);
        rel = findViewById(R.id.rel);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rel.setBackgroundResource(R.drawable.ic_launcher_background);
            }
        });
    }
}

13. Retrieve the Device IP Address

Package: com.example.ipaddress

package com.example.ipaddress;
package com.example.ipaddress;

import androidx.appcompat.app.AppCompatActivity;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.text.format.Formatter;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    Button b;
    TextView t;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b = findViewById(R.id.btn);
        t = findViewById(R.id.txt);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                WifiManager wm = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
                String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
                t.setText("IP Address: " + ip);
            }
        });
    }
}

14. Create a Stopwatch Application

Package: com.example.timer

package com.example.timer;

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

public class MainActivity extends AppCompatActivity {
    private Button startButton, resetButton;
    private TextView timerValue;
    private long startTime = 0L;
    private Handler customHandler = new Handler();
    private long timeInMilliseconds = 0L;
    private long timeSwapBuff = 0L;
    private long updatedTime = 0L;
    private int isOn = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        timerValue = findViewById(R.id.timerValue);
        startButton = findViewById(R.id.startButton);
        resetButton = findViewById(R.id.resetButton);
        startButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                if (isOn == 0) {
                    startTime = SystemClock.uptimeMillis();
                    customHandler.postDelayed(updateTimerThread, 0);
                    isOn = 1;
                    startButton.setText("Pause");
                } else {
                    timeSwapBuff += timeInMilliseconds;
                    customHandler.removeCallbacks(updateTimerThread);
                    isOn = 0;
                    startButton.setText("Start");
                }
            }
        });
        resetButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                timeInMilliseconds = 0L;
                timeSwapBuff = 0L;
                updatedTime = 0L;
                timerValue.setText("00:00:000");
                customHandler.removeCallbacks(updateTimerThread);
                isOn = 0;
                startButton.setText("Start");
            }
        });
    }

    private Runnable updateTimerThread = new Runnable() {
        public void run() {
            timeInMilliseconds = SystemClock.uptimeMillis() - startTime;
            updatedTime = timeSwapBuff + timeInMilliseconds;
            int secs = (int) (updatedTime / 1000);
            int mins = secs / 60;
            secs = secs % 60;
            int milliseconds = (int) (updatedTime % 1000);
            timerValue.setText("" + mins + ":" + String.format("%02d", secs) + ":" + String.format("%03d", milliseconds));
            customHandler.postDelayed(this, 0);
        }
    };
}

15. Display Date and Time in a Dialog Box

Package: com.example.systemtime

package com.example.systemtime;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.DialogFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.app.AlertDialog;
import android.app.Dialog;

public class MainActivity extends AppCompatActivity {
    Button b;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b = (Button) findViewById(R.id.btnDialog);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ShowDateTimeDialog DT = new ShowDateTimeDialog();
                DT.show(getSupportFragmentManager(), null);
            }
        });
    }

    public static class ShowDateTimeDialog extends DialogFragment {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            Calendar c = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
            String strDate = sdf.format(c.getTime());
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setTitle("Date and Time");
            builder.setMessage(strDate);
            builder.setNeutralButton("OK", null);
            return builder.create();
        }
    }
}