Java Android |货币转换器实时汇率

Java Android |货币转换器实时汇率,java,android,currency,currency-exchange-rates,Java,Android,Currency,Currency Exchange Rates,我做了一个简单的货币转换器,但是有没有一个简单的方法来检索活货币(仅仅是货币,比如从以色列谢克尔到美元)?例如: case R.id.euro: mDollar.setChecked(false); Meuro.setChecked(true); exchangeRate = **//live currency from external source** exchangeSymbol = "€"; break;

我做了一个简单的货币转换器,但是有没有一个简单的方法来检索活货币(仅仅是货币,比如从以色列谢克尔到美元)?例如:

case R.id.euro:
        mDollar.setChecked(false);
        Meuro.setChecked(true);
        exchangeRate = **//live currency from external source**
        exchangeSymbol = "€";

        break;
这是我的全部密码

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

    mResult = (TextView) findViewById(R.id.result);
    mToConvert = (EditText) findViewById(R.id.toConvert);
    mRadioGroup = (RadioGroup) findViewById(R.id.radioG);
    mDollar = (RadioButton) findViewById(R.id.dollar);
    Meuro = (RadioButton) findViewById(R.id.euro);

    mToConvert.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1,
                int arg2, int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable arg0) {
            convertCurrentAmount();

        }
    });
    mRadioGroup
            .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    convertCurrentAmount();
                }
            });
}

public void convertCurrentAmount() {
    double exchangeRate = -1;
    String exchangeSymbol = null;
    switch (mRadioGroup.getCheckedRadioButtonId()) {
    case R.id.dollar:
        mDollar.setChecked(true);
        Meuro.setChecked(false);
        exchangeRate = 3.76;
        exchangeSymbol = "$";


        break;

    case R.id.euro:
        mDollar.setChecked(false);
        Meuro.setChecked(true);
        exchangeRate = 5;
        exchangeSymbol = "€";

        break;
    }
    if (exchangeRate > 0 && exchangeSymbol != null) {

        Double stringtoint = Double
                .valueOf(mToConvert.getText().toString());
        double result = stringtoint * exchangeRate;
        mResult.setText("" + exchangeSymbol + result);

    }
}

}

欧洲中央银行有一个XML每日货币汇率网站

这里有更多信息:


您可能应该在启动时加载和解析XML,并将其保存以供脱机使用,这样您就不必每次都获取值(一天一次就足够了)。

谢谢。但是我对编程还不熟悉,我的问题是,有没有一种可能的方法来获取这个xml并只解析文档中的数据?编程的一切都是可能的,所以,是的。不过,我建议您将其映射到一个对象以备将来使用,然后解析您正在转换的任何货币。如果您只打算转换一种货币(ILS),那么Marvins解决方案可能会更好。但是,如果您正在做一个转换器,您可以在其中选择货币和货币,那么这一个更好,特别是因为它在成功解析后不需要互联网连接。