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
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
Lo siento, debes estar conectado para publicar un comentario.