Освой программирование играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Java. Класс Currency

Класс java.util.Currency появился ещё в API 1, но в урезанном виде. Позже в API 19 и API 24 были добавлены новые методы. Класс Currency предназначен для работы с валютой.

  • static Set<Currency> getAvailableCurrencies() - возвращает набор поддерживаемых валют
  • String getCurrencyCode() - возвращает код валюты в стандарте ISO 4217
  • int getDefaultFractionDigits() - возвращает количество десятичных знаков после точки, которые обычно используются с данной валютой
  • String getDisplayName() - возвращает название валюты для заданного по умолчанию региона
  • String getDisplayName(Locale locale) - возвращает название валюты для заданного региона
  • static Currency getInstance(Locale locale) - возвращает объект класса Currency для региональных данных locale
  • static Currency getInstance(String currencyCode) - возвращает объект класса Currency, ассоциированный с кодом валюты currencyCode
  • String getSymbol() - возвращает символ валюты (напр., $) для вызывающего объекта
  • String getSymbol(Locale locale) - возвращает символ валюты (напр., $) для региональных данных locale
  • String toString() - возвращает код валюты вызывающего объекта

Список доступных валют в системе

В Android 4.4 (KitKat) были добавлены новые методы getAvailableCurrencies() и getDisplayName() класса java.util.Currency, позволяющие получить список доступных валют в системе.

Добавим в разметку компонент ListView и напишем код для активности


package ru.alexanderklimov.currency;

import java.util.ArrayList;
import java.util.Currency;
import java.util.List;
import java.util.Set;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private ListView mCurrencyList;
	private Set<Currency> mAvailableCurrenciesSet;
	private List<Currency> mAvailableCurrenciesList;
	private ArrayAdapter<Currency> mAdapter;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mCurrencyList = (ListView) findViewById(R.id.currencylist);

		// available from API Level 19
		mAvailableCurrenciesSet = Currency.getAvailableCurrencies();

		mAvailableCurrenciesList = new ArrayList<Currency>(
				mAvailableCurrenciesSet);
		mAdapter = new ArrayAdapter<Currency>(this,
				android.R.layout.simple_list_item_1, mAvailableCurrenciesList);
		mCurrencyList.setAdapter(mAdapter);

		mCurrencyList.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				Currency currency = (Currency) parent
						.getItemAtPosition(position);
				String currencyCode = currency.getCurrencyCode();
				String displayName = currency.getDisplayName();
				String symbol = currency.getSymbol();

				Toast.makeText(MainActivity.this,
						displayName + "\n" + currencyCode + "\n" + symbol,
						Toast.LENGTH_LONG).show();
			}
		});
	}
}

Реклама