Ejercicio: Conversor de moneda

Convertir $ a € y viceversa

Ejercicio: Conversor de moneda

Pasar una cadena de texto a número y viceversa:

public static String convertirADolares(String cantidad) {
    double valor = Double.parseDouble(cantidad) / cambio;
    return Double.toString(valor);
    //return String.valueOf(valor);
}

Poner un formato con dos decimales:

public static String convertirAEuros(String cantidad) {
    double valor = Double.parseDouble(cantidad) * cambio;
    return String.format("%.2f", valor);
}

Use view binding to replace findViewById

View Binding

Ejercicio: Conversor de moneda usando View Binding

en el fichero build.gradle se deben añadir estas líneas:

        viewBinding {
            enabled = true
        }

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "30.0.2"

     viewBinding {
        enabled = true
    }

//   buildFeatures {
//      viewBinding = true
//  }

    defaultConfig {
        applicationId "com.example.conversornuevo"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }


. . . 

MainActivity.java:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    public final double RATIO = 0.9;
    private ActivityMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //activity_main.xml -> ActivityMainBinding
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        View view = binding.getRoot();
        setContentView(view);
        //botón convertir en activity_main.xml
        binding.convertir.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        if (view == binding.convertir) {
            try {
                if (binding.dolaresAEuros.isChecked())
                    binding.euros.setText((convertirAEuros(binding.dolares.getText().toString(), RATIO)));
                else
                    binding.dolares.setText((convertirADolares(binding.euros.getText().toString(), RATIO)));
            } catch (NumberFormatException e) {
                Toast.makeText(this, "Error al convertir " + e.getMessage(), Toast.LENGTH_LONG);
            }
        }
    }
}

 

Deja una respuesta