使用两种不同的货币转换货币

时间:2016-05-10 06:50:52

标签: android

我想制作货币转换器。如何通过更改的货币从一个到另一个输入数字和倍数。在这个用户将输入一个数字&它是一种货币对另一种货币。

  

对于示例用户输入5000用户想要将美元转换为   印度卢比。所以答案应该是5000 * 66.7600 = 333800。

我希望用户输入的任何内容都应与转换后的货币相乘。

请参阅下面的图片。 直到现在我才将美元兑换成印度卢比。

CurrencyConverter.java

public class CurrencyConverterActivity extends Activity {
    public int to;
    public int from;
    public String [] val;
    public String s;
    public Handler handler;
    double a,b;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Spinner s1 = (Spinner) findViewById(R.id.spinner1);
        Spinner s2 = (Spinner) findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.name, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
        val  = getResources().getStringArray(R.array.value);
        s1.setAdapter(adapter);
        s2.setAdapter(adapter);
        s1.setOnItemSelectedListener(new spinOne(1));
        s2.setOnItemSelectedListener(new spinOne(2));
        Button b = (Button) findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                TextView t = (TextView) findViewById(R.id.textView4);

                if(from == to)
                {
                    Toast.makeText(getApplicationContext(), "Invalid", 4000).show();
                }
                else
                {                                       
                      try {
                         s = getJson("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22"+val[from]+val[to]+"%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=");                       
                        JSONObject jObj;
                        jObj = new JSONObject(s);
                        String exResult = jObj.getJSONObject("query").getJSONObject("results").getJSONObject("rate").getString("Rate");

                          t.setText(exResult);
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        catch (ClientProtocolException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }                                                    
                    }                                           
                }                               
        });
    }
    public String getJson(String url)throws ClientProtocolException, IOException {

        StringBuilder build = new StringBuilder();
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);
        HttpResponse response = client.execute(httpGet);
        HttpEntity entity = response.getEntity();
        InputStream content = entity.getContent();
        BufferedReader reader = new BufferedReader(new InputStreamReader(content));
        String con;
        while ((con = reader.readLine()) != null) {
                    build.append(con);
                }
        return build.toString();
    }
    private class spinOne implements OnItemSelectedListener
    {
        int ide;
        spinOne(int i)
        {
            ide =i;
        }
        public void onItemSelected(AdapterView<?> parent, View view,
                int index, long id) {
            if(ide == 1)
                from = index;
            else if(ide == 2)
                to = index;

        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub  
        }

    }
}

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/one"
        android:inputType="number"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/in"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Spinner
        android:id="@+id/spinner2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/equal"
        android:textAppearance="?android:attr/textAppearanceLarge" />




    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="122dp" 
        android:gravity="center"
        android:background="#fff">



        <RelativeLayout
            android:id="@+id/relativeLayout2"
            android:layout_width="match_parent"
            android:layout_height="120dp"
            android:gravity="center"

            android:background="#0D0D0D">
        <EditText
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="@string/result"

            />
        </RelativeLayout>



    </RelativeLayout>

    <Button
        android:id="@+id/button1"
        android:layout_marginTop="10dp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/calculate" />
</LinearLayout>
</ScrollView>

的strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, CurrencyConverterActivity!</string>
        <string name="one"></string>
        <string name="in">In</string>
            <string name="equal">Is Equal To</string>
            <string name="result">Click Calculate for Result</string>
            <string name="calculate">Calculate</string>

    <string name="app_name">CurrencyConverter</string>
    <string-array name="name">
        <item >Indian Rupee</item>
        <item >US Dollar</item>
        <item >European Union Euro</item>
        <item >Canadian Dollar</item>
        <item >Australian Dollar</item>
        <item >Singapore Dollar</item>
    </string-array>
    <string-array name="value">
        <item >INR</item>
        <item >USD</item>
        <item >EUR</item>
        <item >CAD</item>
        <item >AUD</item>
        <item >SGD</item>
    </string-array>
</resources>

CuurencyConverter

0 个答案:

没有答案