0% found this document useful (0 votes)
25 views11 pages

PMDM Tarea04

The document describes a calculator app created with Android Studio. It includes the code for the app layout, buttons, and mathematical functions. The app allows users to input numbers, operators, and perform basic math calculations by clicking the equal button.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views11 pages

PMDM Tarea04

The document describes a calculator app created with Android Studio. It includes the code for the app layout, buttons, and mathematical functions. The app allows users to input numbers, operators, and perform basic math calculations by clicking the equal button.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Tarea 04

He creado app con siguiente diseño

Para añadir funcionalidad he utilizado mXparser anadiendo a libreria de app. App tiene
funciones para principales operaciones matemáticas, button “C” limpia pantalla, button
“DELETE” limpia ultimo símbolo. Con button “=” podemos inicializar operaciones matemáticas.
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.SpannableStringBuilder;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import java.util.InputMismatchException;
import android.text.TextUtils;
import org.mariuszgromada.math.mxparser.*;
public class MainActivity extends AppCompatActivity {

private EditText display;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display=findViewById(R.id.resultField);
display.setShowSoftInputOnFocus(false);
display.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

if(getString(R.string.enter_in_a_value).equals(display.getText().toString()))
{
display.setText("");
}}});}

public void updateText(String strtoadd){


String oldstr=display.getText().toString();
int cursorpos =display.getSelectionStart();
String leftstring = oldstr.substring(0,cursorpos);
String rightstring= oldstr.substring(cursorpos);

if(getString(R.string.enter_in_a_value).equals(display.getText().toString()))
{
display.setText(strtoadd);
display.setSelection(cursorpos+1);
}else{
display.setText(String.format("%s%s%s",leftstring,
strtoadd,rightstring));
display.setSelection(cursorpos+1);
}}
public void zerobtn(View view){
updateText("0");
}
public void clearbtn(View view){
display.setText("");
}
public void unobtn(View view){
updateText("1");
}
public void dosbtn(View view){
updateText("2");
}
public void tresbtn(View view){
updateText("3");
}
public void cuatrobtn(View view){
updateText("4");
}
public void cincobtn(View view){
updateText("5");
}
public void seisbtn(View view){
updateText("6");
}
public void sietebtn(View view){
updateText("7");
}
public void ochobtn(View view){
updateText("8");
}
public void nuevebtn(View view){
updateText("9");
}
public void plucbtn(View view){
updateText("+");
}
public void minusbtn(View view){
updateText("-");
}
public void divbtn(View view){
updateText("/");
}
public void multbtn(View view){
updateText("*");
}
public void deletbtn(View view){
int cursorpos=display.getSelectionStart();
int textLen=display.getText().length();
if(cursorpos!=0 && textLen!=0){
SpannableStringBuilder selection=(SpannableStringBuilder)
display.getText();
selection.replace(cursorpos-1,cursorpos,"");
display.setText(selection);
display.setSelection(cursorpos-1);
}
}
public void puntobtn(View view){
updateText(".");
}
public void equivalbtn(View v){
String userExpression = display.getText().toString();
Expression expression = new Expression(userExpression);
String result = String.valueOf(expression.calculate());
display.setText(result);
display.setSelection(result.length());
}
}

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@color/rose">
<RelativeLayout
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@color/azul">
<TextView
android:layout_width="600dp"
android:layout_height="90dp"
android:gravity="center"
android:text="@string/calculadora_de_larysa_phenychna"
android:textColor="@color/white"
android:textSize="18sp"></TextView>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_below="@id/title">
<EditText
android:id="@+id/resultField"
android:layout_width="350dp"
android:layout_height="97dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/border_botton"
android:hint="@string/enter_in_a_value"
android:textSize="30sp"
android:inputType="none"
android:textAlignment="center"
tools:ignore="LabelFor"
android:textColor="@color/black">
</EditText>
</LinearLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="350dp"
android:layout_below="@id/title"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"

android:layout_marginTop="150dp"
android:layout_marginEnd="0dp"
android:layout_marginStart="20dp"
android:layout_marginBottom="50dp"
tools:layout_editor_absoluteX="150dp"
tools:layout_editor_absoluteY="400dp">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/C"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:backgroundTint="@color/white"
android:onClick="clearbtn"
android:text="@string/c"
android:textColor="@color/azul"
android:textSize="24sp"
android:layout_margin="3dp" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_span="2"
android:layout_margin="3dp"
android:backgroundTint="@color/violet"
android:onClick="deletbtn"
android:shadowColor="@color/white"
android:text="DELETE"
android:textColor="@color/white"
android:textSize="24sp" />
<Button
android:id="@+id/pal"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/azul"
android:onClick="divbtn"
android:text="@string/sep"
android:textSize="24sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/siete"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:backgroundTint="@color/violet"
android:onClick="sietebtn"
android:text="@string/siete"
android:textSize="24sp"
android:layout_margin="3dp" />
<Button
android:id="@+id/ocho"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:backgroundTint="@color/violet"
android:onClick="ochobtn"
android:text="@string/ocho"
android:textSize="24sp"
android:layout_margin="3dp"/>
<Button
android:id="@+id/nueve"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:backgroundTint="@color/violet"
android:onClick="nuevebtn"
android:text="@string/nueve"
android:textSize="24sp"
android:layout_margin="3dp"/>
<Button
android:id="@+id/mult"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/azul"
android:onClick="multbtn"
android:text="@string/mult"
android:textSize="24sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/cuatro"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:backgroundTint="@color/violet"
android:onClick="cuatrobtn"
android:text="@string/cuatro"
android:textSize="24sp"
android:layout_margin="3dp"/>
<Button
android:id="@+id/cinco"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/violet"
android:onClick="cincobtn"
android:text="@string/cinco"
android:textSize="24sp" />
<Button
android:id="@+id/seis"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/violet"
android:onClick="seisbtn"
android:text="@string/seis"
android:textSize="24sp" />
<Button
android:id="@+id/restar"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/azul"
android:onClick="minusbtn"
android:text="@string/minus"
android:textSize="24sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="72dp">
<Button
android:id="@+id/uno"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/violet"
android:onClick="unobtn"
android:text="@string/uno"
android:textSize="24sp" />
<Button
android:id="@+id/dos"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/violet"
android:onClick="dosbtn"
android:text="@string/dos"
android:textSize="24sp" />
<Button
android:id="@+id/tres"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/violet"
android:onClick="tresbtn"
android:text="@string/tres"
android:textSize="24sp" />
<Button
android:id="@+id/plus"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/azul"
android:onClick="plucbtn"
android:text="@string/plus"
android:textSize="24sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="67dp">
<Button
android:id="@+id/coma"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:backgroundTint="@color/azul"
android:onClick="puntobtn"
android:text="@string/punto"
android:textSize="24dp" />
<Button
android:id="@+id/zero"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_margin="3dp"
android:layout_span="1"
android:backgroundTint="@color/violet"
android:onClick="zerobtn"
android:text="@string/zero"
android:textSize="24sp" />
<Button
android:id="@+id/operar"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:backgroundTint="@color/verde"
android:onClick="equivalbtn"
android:text="@string/ravno"
android:textSize="34sp"
android:layout_span="2"
android:layout_margin="3dp"/>
</TableRow>
</TableLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="red">#B22222</color>
<color name="azul">#7B68EE</color>
<color name="fucia">#a02374</color>
<color name="rose">#ffd700</color>
<color name="verde">#50C878</color>
<color name="violet">#EE82EE</color>
</resources>

<?xml version="1.0" encoding="utf-8"?>


<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white"></solid>
<stroke android:width="4dp" android:color="@color/verde"/>
<corners android:radius="8dp"></corners>
</shape>

Para añadir funcionalidad he utilizado mXparser anadiendo a libreria de app

You might also like