i try to get datas from internet and save them in variables, but the process is too slow... here my code: 

```
`public class CurrConvert extends AsyncTask {

    boolean connection = true;

    float exchangeRate(final String currencyFrom, final String currencyTo) throws IOException {
        URL url = new URL("http://quote.yahoo.com/d/quotes.csv?s=" + currencyFrom + currencyTo + "=X&f=l1&e=.csv");
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setUseCaches(false);
        InputStream inputStream = urlConnection.getInputStream();
        String result = IOUtils.toString(inputStream);
        return Float.parseFloat(result);
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(getActivity());
        pDialog.setMessage(getContext().getString(R.string.updating));
        pDialog.setCancelable(false);
        pDialog.show();
    }

    @Override
    protected Object doInBackground(Object[] objects) {
        try {
            USD_AUD = exchangeRate("USD", "AUD");
            USD_CAD = exchangeRate("USD", "CAD");
            USD_EUR = exchangeRate("USD", "EUR");
            USD_GBP = exchangeRate("USD", "GBP");
            USD_INR = exchangeRate("USD", "INR");
            USD_JPY = exchangeRate("USD", "JPY");
            USD_SGD = exchangeRate("USD", "SGD");

            EUR_AUD = exchangeRate("EUR", "AUD");
            EUR_CAD = exchangeRate("EUR", "CAD");
            EUR_GBP = exchangeRate("EUR", "GBP");
            EUR_INR = exchangeRate("EUR", "INR");
            EUR_JPY = exchangeRate("EUR", "JPY");
            EUR_SGD = exchangeRate("EUR", "SGD");
            EUR_USD = exchangeRate("EUR", "USD");

            AUD_CAD = exchangeRate("AUD", "CAD");
            AUD_EUR = exchangeRate("AUD", "EUR");
            AUD_GBP = exchangeRate("AUD", "GBP");
            AUD_INR = exchangeRate("AUD", "INR");
            AUD_JPY = exchangeRate("AUD", "JPY");
            AUD_SGD = exchangeRate("AUD", "SGD");
            AUD_USD = exchangeRate("AUD", "USD");

            CAD_AUD = exchangeRate("CAD", "AUD");
            CAD_EUR = exchangeRate("CAD", "EUR");
            CAD_GBP = exchangeRate("CAD", "GBP");
            CAD_INR = exchangeRate("CAD", "INR");
            CAD_JPY = exchangeRate("CAD", "JPY");
            CAD_SGD = exchangeRate("CAD", "SGD");
            CAD_USD = exchangeRate("CAD", "USD");

            SGD_AUD = exchangeRate("SGD", "AUD");
            SGD_CAD = exchangeRate("SGD", "CAD");
            SGD_EUR = exchangeRate("SGD", "EUR");
            SGD_GBP = exchangeRate("SGD", "GBP");
            SGD_INR = exchangeRate("SGD", "INR");
            SGD_JPY = exchangeRate("SGD", "JPY");
            SGD_USD = exchangeRate("SGD", "USD");

            GBP_AUD = exchangeRate("GBP", "AUD");
            GBP_CAD = exchangeRate("GBP", "CAD");
            GBP_EUR = exchangeRate("GBP", "EUR");
            GBP_INR = exchangeRate("GBP", "INR");
            GBP_JPY = exchangeRate("GBP", "JPY");
            GBP_SGD = exchangeRate("GBP", "SGD");
            GBP_USD = exchangeRate("GBP", "USD");

            JPY_AUD = exchangeRate("JPY", "AUD");
            JPY_CAD = exchangeRate("JPY", "CAD");
            JPY_EUR = exchangeRate("JPY", "EUR");
            JPY_GBP = exchangeRate("JPY", "GBP");
            JPY_INR = exchangeRate("JPY", "INR");
            JPY_SGD = exchangeRate("JPY", "SGD");
            JPY_USD = exchangeRate("JPY", "USD");

            INR_AUD = exchangeRate("INR", "AUD");
            INR_CAD = exchangeRate("INR", "CAD");
            INR_EUR = exchangeRate("INR", "EUR");
            INR_GBP = exchangeRate("INR", "GBP");
            INR_JPY = exchangeRate("INR", "JPY");
            INR_SGD = exchangeRate("INR", "SGD");
            INR_USD = exchangeRate("INR", "USD");

        } catch (IOException e) {
            connection = false;
        }
        return 0;
    }

    @Override
    protected void onPostExecute(Object o) {
        super.onPostExecute(o);
        pDialog.dismiss();
        if (connection) {
            Toast.makeText(getContext(), "Done", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(getContext(), R.string.no_connection, Toast.LENGTH_LONG).show();
        }
    }
}`

```

doInBackground method takes almost 30 sec to complete the process... is there a way to be istantaneous?