我正在建立一个在线订购系统,但我在澳大利亚,对于国际客户,我想用美元或欧元显示价格,这样他们就不必花费精力来兑换澳元.
有谁知道我是否可以通过我可以从我的PHP脚本访问的易于解析的格式从网上获取最新的汇率?
更新:我现在编写了一个实现这个的PHP类.您可以从我的网站获取代码.
在我的申请中,我需要获得不同货币的当前汇率.因为它已经被提出这个,这个和这个问题的一个很好的办法做到这一点,是使用雅虎财经服务.
所以,当我想找到例如美元和加元之间的汇率时,我只需发送此链接: http://download.finance.yahoo.com/d/quotes.csv?s=USDCAD=X&f=sl1d1t1ba&e=.csv
这对于我的带有Android 2.3.4的摩托罗拉Atrix手机和再次使用Google API 2.3.3的模拟器都可以正常工作.但是,当我尝试使用Android ICS 4.0的Galaxy SII和使用Google API 4.0的模拟器完全相同的链接时,在两种情况下,quotes.csv文件仅包含"缺失符号列表".
在挖掘之后,我发现如果没有找到费率,就会发生这种反应.但是这个响应是我在Android 4.0(Galaxy SII或模拟器)下尝试的任何货币.因此,我无法使用Android 4.0获得费率,但我可以使用Android 2.x.
有没有人遇到过同样的问题?有没有解决方法?
编辑:这是处理从雅虎货币服务下载费率的线程代码:
//show the progress dialog
downloadingDialog.show();
Runnable getRates = new Runnable() {
public void run(){
dataNotFound = false;
final String baseDir = getApplicationContext().getFilesDir().getAbsolutePath();
//download the rates from yahoo to a CSV file
downloadFileViaHTTP (baseDir);
//read the file line
String filePath = baseDir + "/" + "quotes.csv";
Log.d(tag, "-> filePath = " + filePath);
try {
// …Run Code Online (Sandbox Code Playgroud) android currency yahoo-finance android-4.0-ice-cream-sandwich