繁体   English   中英

货币转换器API在Android中不起作用

[英]Currency Converter API not working in Android

我遇到一个问题,我的Yahoo Finance API无法在我的代码中使用。 我正在创建一个实时货币转换器。 我已经检查过Google,但似乎没有任何答案。 当我在应用程序中按下“计算”按钮时,什么也没有发生。 这是我输入的代码。

        public interface CurrencyConverter {
    public double convert(String currencyFrom, String currencyTo) throws Exception;
}

public class YahooCurrencyConverter implements CurrencyConverter{
     public double convert(String currencyFrom, String currencyTo) throws IOException {
            HttpClient httpclient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet("http://quote.yahoo.com/d/quotes.csv?s=" + currencyFrom + currencyTo + "=X&f=l1&e=.csv");
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            String responseBody = httpclient.execute(httpGet, responseHandler);
            httpclient.getConnectionManager().shutdown();
            return Double.parseDouble(responseBody);
}


}
     public void convertDollarstoEuros(){
    double current;
    double val = Double.parseDouble(edittextdollars.getText().toString());
    DecimalFormat df = new DecimalFormat(".##");
     YahooCurrencyConverter ycc = new YahooCurrencyConverter();

        try {
            current = ycc.convert("USD", "EUR");
            edittexteuros.setText(df.format(val*current)); 
            }
        catch (Exception e) {
            e.printStackTrace();
        }

    }

我的清单文件中具有互联网许可,并且我已在Android SDK中安装Google API。 我的代码似乎有问题,但我无法识别。 这是我删除try / catch方法时出现的内容: http://oi40.tinypic.com/2sah6d5.jpg

任何帮助将不胜感激。

最有可能“什么也没有发生”,因为您正在捕获所有异常。 我建议您删除try...catch块,或至少捕获您需要处理的特定异常,然后让Java异常系统为您完成其余的工作。 我强烈建议您了解有关Java异常处理系统的更多信息。 Oracle异常教程是一个很好的起点。 前两节课将为您提供99%的Android编程所需的基础知识。

此外,你应该检查logcat的,看是否有异常抛出。

编辑:有关异常的一点

请注意,弹出消息中的某些文本为蓝色。 这意味着您可以单击它,Eclipse将为您生成一些代码。 我建议您单击“围绕try / catch”,并注意生成的代码与您在此处发布的代码有何不同。 当您了解如何以及何时使用try / catch语句时,这是一个很好的工具。

在这种情况下,我认为“添加引发声明”是一个更好的选择。 单击它,看看会发生什么。 您极有可能在代码的其他地方得到类似的错误。 您应该继续向不知道如何处理异常的每个方法添加throws声明。 您只应在知道错误发生时该怎么办的方法中添加try / catch语句。 通常在UI代码中,例如Listener方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM