前言
汇率转换工具的开发与实现。
一、效果展示
二、代码
准备工作和样式布局与我开发的另一个小工具(长度转换工具)所用一致,详情请看我上一篇文章。
链接: Android开发实用小工具二——长度转换工具
另外本项目用到了调用网络接口API实时获取货币汇率以便计算转换,因此需要创建”调用网络接口API“和“并行执行调用接口”工具类,详情请看我上一篇文章。
链接: Android开发实用小技巧五——调用网络接口API并处理返回结果(json)
主代码
ExchangeRateConversionActivity.java :
public class ExchangeRateConversionActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemSelectedListener, LoadDataAsyncTask.onGetNetDataListener {
private final static String EXCHANGE_RATE_CONVERSION_API = "https://open.er-api.com/v6/latest/";
// 定义下拉列表需要显示的单位名称
private static final String[] nameArray = {
"人民币", "美元", "欧元", "日元", "港币", "韩元",
"英镑", "泰铢", "新台币", "越南盾", "阿尔及利亚第纳尔", "阿根廷比索",
"阿联酋迪拉姆", "阿曼里亚尔", "澳大利亚元", "澳门元", "白俄罗斯卢布", "巴林第纳尔",
"保加利亚新列弗", "巴西雷亚尔", "冰岛克朗", "波兰兹罗提", "丹麦克朗", "俄罗斯卢布",
"菲律宾比索", "哥伦比亚比索", "哥斯达黎加科朗", "加拿大元", "柬埔寨瑞尔", "埃及镑",
"捷克克朗", "卡塔尔里亚尔", "克罗地亚库纳", "肯尼亚先令", "科威特第纳尔", "老挝基普",
"离岸人民币", "黎巴嫩镑", "罗马尼亚列伊", "马来西亚林吉特", "孟加拉塔卡", "缅甸元",
"摩洛哥迪拉姆", "墨西哥比索", "南非兰特", "挪威克朗", "瑞典克朗", "瑞士法郎",
"塞尔维亚第纳尔", "沙特里亚尔", "斯里兰卡卢比", "坦桑尼亚先令", "土耳其里拉", "文莱元",
"乌干达先令", "乌克兰格里夫纳", "新加坡元", "新西兰元", "匈牙利福林", "叙利亚镑",
"伊拉克第纳尔", "印度卢比", "印度尼西亚盾", "以色列新谢克尔", "约旦第纳尔", "赞比亚克瓦查",
"智利比索"
};
// 定义下拉列表需要显示的单位数组
private static final String[] unitArray = {
"CNY", "USD", "EUR", "JPY", "HKD", "KRW",
"GBP", "THB", "TWD", "VND", "DZD", "ARS",
"AED", "OMR", "AUD", "MOP", "BYN", "BHD",
"BGN", "BRL", "ISK", "PLN", "DKK", "RUB",
"PHP", "COP", "CRC", "CAD", "KHR", "EGP",
"CZK", "QAR", "HRK", "KES", "KWD", "LAK",
"CNH", "LBP", "RON", "MYR", "BDT"