gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:01:25 25 4
gpt4 key购买 nike

我遇到了一个问题,我的 Yahoo Finance API 在我的代码中不起作用。我正在创建一个实时货币转换器。我查过谷歌,但似乎没有什么可以回答我的问题。当我在我的应用程序中按下“计算”按钮时,没有任何反应。这是我输入的代码。

        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();
}

}

我的 list 文件中有互联网权限,我已经在我的 Android SDK 中安装了 Google API。我的代码似乎有问题,但我无法识别。这是当我删除 try/catch 方法时出现的情况: http://oi40.tinypic.com/2sah6d5.jpg

如有任何帮助,我们将不胜感激。

最佳答案

很可能“什么都没发生”,因为您捕获了所有异常。我建议您删除 try...catch block ,或者至少捕获您需要处理的特定 异常,并让 Java 异常系统执行剩下的工作交给你。我强烈建议你多了解一下 Java 的异常处理系统。 The Oracle tutorial on Exceptions是一个很好的起点。前两个类将为您介绍您在 Android 编程中遇到的 99% 的内容所需了解的基础知识。

此外,您应该检查 logcat 以查看是否有任何异常抛出。

编辑:关于异常的一点点

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

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

关于java - 货币转换器 API 在 Android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com