2012-12-19 3 views
0

간단한 통화 변환기를 만들었지 만, 실제 통화를 검색 할 수있는 간단한 방법이 있습니다 (이스라엘 셰켈에서 달러로 말하는 통화). 예를 들어 : 안드로이드 | 통화 변환기 라이브 통화

case R.id.euro: 
     mDollar.setChecked(false); 
     Meuro.setChecked(true); 
     exchangeRate = **//live currency from external source** 
     exchangeSymbol = "€"; 

     break; 

여기에 내 모든 코드

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mResult = (TextView) findViewById(R.id.result); 
    mToConvert = (EditText) findViewById(R.id.toConvert); 
    mRadioGroup = (RadioGroup) findViewById(R.id.radioG); 
    mDollar = (RadioButton) findViewById(R.id.dollar); 
    Meuro = (RadioButton) findViewById(R.id.euro); 

    mToConvert.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void onTextChanged(CharSequence arg0, int arg1, int arg2, 
       int arg3) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void beforeTextChanged(CharSequence arg0, int arg1, 
       int arg2, int arg3) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void afterTextChanged(Editable arg0) { 
      convertCurrentAmount(); 

     } 
    }); 
    mRadioGroup 
      .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 

       @Override 
       public void onCheckedChanged(RadioGroup group, int checkedId) { 
        convertCurrentAmount(); 
       } 
      }); 
} 

public void convertCurrentAmount() { 
    double exchangeRate = -1; 
    String exchangeSymbol = null; 
    switch (mRadioGroup.getCheckedRadioButtonId()) { 
    case R.id.dollar: 
     mDollar.setChecked(true); 
     Meuro.setChecked(false); 
     exchangeRate = 3.76; 
     exchangeSymbol = "$"; 


     break; 

    case R.id.euro: 
     mDollar.setChecked(false); 
     Meuro.setChecked(true); 
     exchangeRate = 5; 
     exchangeSymbol = "€"; 

     break; 
    } 
    if (exchangeRate > 0 && exchangeSymbol != null) { 

     Double stringtoint = Double 
       .valueOf(mToConvert.getText().toString()); 
     double result = stringtoint * exchangeRate; 
     mResult.setText("" + exchangeSymbol + result); 

    } 
} 

}

답변

1

유럽 중앙 은행은 XML 매일 환율에 대한 사이트를 가지고있다.

http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

여기에 몇 가지 추가 정보를 원하시면 : http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev

당신은 아마로드 및 시작에 XML을 구문 분석 및 오프라인 사용을 위해 저장하고 그래서 당신은 할 때마다 값을 가져하지 않아도한다 (하루에 한번 충분).

+0

감사합니다. 하지만 프로그래밍에 새로운 오전, 내 질문에이 XML 얻을 수있는 가능한 방법은 문서에서 구문 분석 할 수 있습니까? –

+0

프로그래밍으로 모든 것이 가능하므로 물론 가능합니다. 그러나 나중에 사용할 수 있도록 개체에 매핑 한 다음 변환 할 통화를 모두 확인하는 것이 좋습니다. –

+0

한 통화 (ILS) 만 변환하려는 경우 Marvins 솔루션이 더 좋을 수 있습니다. 그러나 통화를 선택할 수있는 변환기를 만들고 있다면 특히 성공적인 구문 분석 후 인터넷 연결이 필요하지 않으므로이 방법이 더 좋습니다. –