PMDM Tarea04
PMDM Tarea04
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 {
if(getString(R.string.enter_in_a_value).equals(display.getText().toString()))
{
display.setText("");
}}});}
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());
}
}
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>