0% found this document useful (0 votes)
7 views

Q9

Uploaded by

nikhil patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Q9

Uploaded by

nikhil patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Q9. Construct a bank app to display different menu like windrow, deposit etc.

//MainActivity.java

package com.example.pract_9mark_2;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.PopupMenu;

import java.text.DecimalFormat;

public class MainActivity extends AppCompatActivity {


private double accountBalance = 0.0;
private TextView accountBalanceTextView;

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

accountBalanceTextView = findViewById(R.id.account_balance_textview);
updateAccountBalance();

Button menuButton = findViewById(R.id.menu_button);

menuButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showPopupMenu(v);
}
});
}

private void showPopupMenu(View v) {


PopupMenu popupMenu = new PopupMenu(this, v);
popupMenu.getMenuInflater().inflate(R.menu.main_menu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.menu_deposit) {
startActivityForResult(new Intent(MainActivity.this, DepositActivity.class), 1);
return true;
} else if (id == R.id.menu_withdraw) {
startActivityForResult(new Intent(MainActivity.this, WithdrawalActivity.class), 2);
return true;
}
return false;
}
});

popupMenu.show();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == 1) { // Deposit
double depositAmount = data.getDoubleExtra("DEPOSIT_AMOUNT", 0.0);
accountBalance += depositAmount;
updateAccountBalance();
} else if (requestCode == 2) { // Withdrawal
double withdrawalAmount = data.getDoubleExtra("WITHDRAWAL_AMOUNT", 0.0);
accountBalance -= withdrawalAmount;
updateAccountBalance();
}
}
}

private void updateAccountBalance() {


DecimalFormat decimalFormat = new DecimalFormat("#0.00");
String formattedBalance = "₹" + decimalFormat.format(accountBalance);
accountBalanceTextView.setText("Account Balance: " + formattedBalance);
}
}
//WithdrawalActivity.java

package com.example.pract_9mark_2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class WithdrawalActivity extends AppCompatActivity {

private EditText amountEditText;


private double accountBalance = 10000.0; // Example initial account balance

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

amountEditText = findViewById(R.id.amount_edit_text);
Button withdrawButton = findViewById(R.id.withdraw_button);

withdrawButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Get the withdrawal amount from the EditText
String amountString = amountEditText.getText().toString();
double amount = Double.parseDouble(amountString);

// Check if the withdrawal amount is greater than zero


if (amount > 0) {
// Check if the withdrawal amount exceeds the account balance
if (amount <= accountBalance) {
// Pass the withdrawal amount back to MainActivity
Intent resultIntent = new Intent();
resultIntent.putExtra("WITHDRAWAL_AMOUNT", amount);
setResult(Activity.RESULT_OK, resultIntent);
finish();
} else {
// Display a Toast message for insufficient funds
Toast.makeText(WithdrawalActivity.this, "Insufficient funds",
Toast.LENGTH_SHORT).show();
}
} else {
// Display a Toast message for invalid amount
Toast.makeText(WithdrawalActivity.this, "Invalid amount",
Toast.LENGTH_SHORT).show();
}
}
});
}
}

//DepositActivity.java

package com.example.pract_9mark_2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;

public class DepositActivity extends AppCompatActivity {

private EditText amountEditText;

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

amountEditText = findViewById(R.id.amount_edit_text);
Button depositButton = findViewById(R.id.deposit_button);

depositButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Get the deposit amount from the EditText
String amountString = amountEditText.getText().toString();
double amount = Double.parseDouble(amountString);

// Pass the deposit amount back to MainActivity


Intent resultIntent = new Intent();
resultIntent.putExtra("DEPOSIT_AMOUNT", amount);
setResult(Activity.RESULT_OK, resultIntent);
finish();
}
});
}
}

You might also like