Advertisement
samadhanmedge

JSON Parsing 2

Dec 29th, 2012
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.38 KB | None | 0 0
  1. //MainActivity.java
  2.  
  3. package wdwapp.com;
  4.  
  5.  
  6. import android.app.ListActivity;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.widget.AdapterView;
  10. import android.widget.AdapterView.OnItemClickListener;
  11. import android.widget.ArrayAdapter;
  12. import android.widget.ListView;
  13. import android.view.View;
  14. import android.widget.TextView;
  15.  
  16. public class MainActivity extends ListActivity
  17. {
  18.  
  19.     @Override
  20.     protected void onCreate(Bundle savedInstanceState)
  21.     {
  22.         super.onCreate(savedInstanceState);
  23.        
  24.         String[] adobe_products = getResources().getStringArray(R.array.menu1);
  25.          
  26.         // Binding resources Array to ListAdapter
  27.         this.setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main, R.id.label, adobe_products));
  28.         ListView lv = getListView();
  29.         lv.setOnItemClickListener(new OnItemClickListener()
  30.         {
  31.              public void onItemClick(AdapterView<?> parent, View view,
  32.                      int position, long id) {
  33.        
  34.                      // selected item
  35.                      
  36.        
  37.                      // Launching new Activity on selecting single List Item
  38.                      Intent i = new Intent(getApplicationContext(), CurrencyConversion.class);
  39.                      // sending data to new activity
  40.                      
  41.                      startActivity(i);
  42.              }
  43.         });
  44.        
  45.     }
  46.    
  47.    
  48.  
  49.    
  50. }
  51.  
  52.  
  53.  
  54. //CurrencyConversion.java
  55.  
  56. package wdwapp.com;
  57.  
  58. import java.util.ArrayList;
  59. import java.util.HashMap;
  60. import java.util.List;
  61.  
  62. import org.apache.http.NameValuePair;
  63. import org.json.JSONArray;
  64. import org.json.JSONException;
  65. import org.json.JSONObject;
  66.  
  67. import helper.AlertDialogManager;
  68. import helper.ConnectionDetector;
  69. import helper.JSONParser;
  70. import android.app.Activity;
  71. import android.app.AlertDialog;
  72. import android.app.ProgressDialog;
  73. import android.content.Context;
  74. import android.content.DialogInterface;
  75. import android.os.AsyncTask;
  76. import android.os.Bundle;
  77. import android.util.Log;
  78. import android.view.View;
  79. import android.widget.ArrayAdapter;
  80. import android.widget.Button;
  81. import android.widget.EditText;
  82. import android.widget.ListAdapter;
  83. import android.widget.SimpleAdapter;
  84. import android.widget.Spinner;
  85. import android.widget.TextView;
  86. import android.widget.Toast;
  87.  
  88. public class CurrencyConversion extends Activity
  89. {
  90.     Spinner spnConvertFrom, spnConvertTo;
  91.     EditText etInput;
  92.     TextView tvResult;
  93.     Button btnConvert;
  94.        
  95.     ConnectionDetector cd;
  96.     AlertDialogManager alert = new AlertDialogManager();
  97.     private ProgressDialog pDialog;
  98.     JSONParser jsonParser = new JSONParser();
  99.     ArrayList<HashMap<String, String>> albumsList;
  100.     JSONArray albums =null;
  101.     String str2 = "";
  102.     StringBuilder sss = new StringBuilder();
  103.    
  104.     private static final String URL_ALBUMS = "http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD";
  105.    
  106.     private static final String LHS = "lhs";
  107.     private static final String RHS = "rhs";
  108.     private static final String ERROR = "error";
  109.     private static final String ICC = "icc";
  110.    
  111.     @Override
  112.     protected void onCreate(Bundle savedInstanceState)
  113.     {
  114.         super.onCreate(savedInstanceState);
  115.         setContentView(R.layout.currency_conversion);
  116.        
  117.         etInput = (EditText) findViewById(R.id.etInput);
  118.         tvResult = (TextView) findViewById(R.id.tvResult);
  119.        
  120.         spnConvertFrom = (Spinner) findViewById(R.id.spnConvertFrom);
  121.         spnConvertTo = (Spinner) findViewById(R.id.spnConvertTo);
  122.        
  123.         ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.currency_unit, android.R.layout.simple_spinner_dropdown_item);
  124.         // Specify the layout to use when the list of choices appears
  125.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  126.         // Apply the adapter to the spinner
  127.         spnConvertFrom.setPrompt("select One");
  128.         spnConvertFrom.setAdapter(adapter);
  129.         spnConvertTo.setAdapter(adapter);
  130.         btnConvert = (Button) findViewById(R.id.btnConvert);
  131.         btnConvert.setOnClickListener(new View.OnClickListener()
  132.         {          
  133.             @Override
  134.             public void onClick(View arg0)
  135.             {
  136.                
  137.             }
  138.         });
  139.        
  140.         cd = new ConnectionDetector(getApplicationContext());
  141.  
  142.         //check for intrnet connection
  143.         if(!cd.isConnectingToInternet())
  144.         {
  145.             //Internet Connection is not Present
  146.             alert.showAlertDialog(CurrencyConversion.this, "Internet Connection Error", "Please connect to working Internet connection", false);
  147.             //stop executing code by return
  148.             return;
  149.         }
  150.        
  151.         Toast.makeText(CurrencyConversion.this, "Success", Toast.LENGTH_LONG).show();              
  152.        
  153.         new LoadCurrency().execute();
  154.                
  155.        
  156.     }
  157.  
  158.     class LoadCurrency extends AsyncTask<String,String,String>
  159.     {
  160.        
  161.  
  162.         @Override
  163.         protected String doInBackground(String... args)
  164.         {
  165.            
  166.             // Building Parameters
  167.             List<NameValuePair> params = new ArrayList<NameValuePair>();
  168.            
  169.             // getting JSON string from URL
  170.             String json = jsonParser.makeHttpRequest(URL_ALBUMS, "GET",
  171.                     params);
  172.            
  173.             //Toast.makeText(CurrencyConversion.this, json+"json got", Toast.LENGTH_LONG).show();
  174.             // Check your log cat for JSON reponse
  175.             Log.d("Albums JSON: ", "> " + json);
  176.  
  177.             try
  178.             {
  179.                 albums = new JSONArray(json);
  180.  
  181.                 if (albums != null)
  182.                 {
  183.                     // looping through All albums
  184.                     for (int i = 0; i < albums.length(); i++)
  185.                     {
  186.                         JSONObject c = albums.getJSONObject(i);
  187.  
  188.                         // Storing each json item values in variable
  189.                         String lhs = c.getString(LHS);
  190.                         String rhs = c.getString(RHS);
  191.                         String error = c.getString(ERROR);
  192.  
  193.                        
  194.                         // creating new HashMap
  195.                         //HashMap<String, String> map = new HashMap<String, String>();
  196.  
  197.                         // adding each child node to HashMap key => value
  198.                         //map.put(LHS, lhs);
  199.                        // map.put(RHS, rhs);
  200.                        // map.put(ERROR, error);
  201.                        
  202.                         //sss.append(lhs);
  203.                         //sss.append(rhs);
  204.                         //sss.append(error);
  205.                         //sss.append(map);
  206.                        
  207.                        
  208.                         // adding HashList to ArrayList
  209.                         //albumsList.add(map);
  210.                     }
  211.                 }
  212.                 else
  213.                 {
  214.                     Log.d("Albums: ", "null");
  215.                 }
  216.  
  217.             }
  218.             catch (JSONException e)
  219.             {
  220.                 Toast.makeText(CurrencyConversion.this, e.getMessage().toString(), Toast.LENGTH_LONG).show();
  221.                 e.printStackTrace();
  222.             }
  223.             return null;
  224.         }
  225.  
  226.         @Override
  227.         protected void onPostExecute(String result)
  228.         {
  229.             pDialog.dismiss();
  230.             runOnUiThread(new Runnable()
  231.             {              
  232.                 @Override
  233.                 public void run()
  234.                 {
  235.                     //ListAdapter adapter = new SimpleAdapter(CurrencyConversion.this, albumsList, R.layout.currency_conversion, new String[]{LHS,RHS,ERROR}, new int[]{R.id.tvConvertFrom,R.id.tvConvertTo,R.id.tvResult});
  236.                     //setListAdapter(adapter);
  237.                     String str = LHS+RHS+ERROR;
  238.                     String str1 = albumsList.toString();
  239.                     Toast.makeText(getApplicationContext(), sss+"hi", Toast.LENGTH_SHORT).show();
  240.                     tvResult.setText(sss);
  241.                 }
  242.             });
  243.             super.onPostExecute(result);
  244.         }
  245.  
  246.         @Override
  247.         protected void onPreExecute()
  248.         {
  249.             super.onPreExecute();
  250.             pDialog = new ProgressDialog(CurrencyConversion.this);
  251.             pDialog.setMessage("Listing Albums ...");
  252.             pDialog.setIndeterminate(false);
  253.             pDialog.setCancelable(false);
  254.             pDialog.show();
  255.         }
  256.        
  257.     }
  258. }
  259.  
  260. //activity_main.xml
  261.  
  262.  
  263. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  264.     xmlns:tools="http://schemas.android.com/tools"
  265.     android:id="@+id/LinearLayout1"
  266.     android:layout_width="match_parent"
  267.     android:layout_height="match_parent"
  268.     android:orientation="vertical"
  269.     tools:context=".MainActivity" >
  270.  
  271.     <TextView
  272.         android:id="@+id/label"
  273.         android:layout_width="fill_parent"
  274.         android:layout_height="fill_parent"
  275.         android:padding="10dip"
  276.         android:textSize="16dip"
  277.         android:textStyle="bold"/>
  278.    
  279. </LinearLayout>
  280.  
  281.  
  282. //currency_conversion.xml
  283.  
  284. <?xml version="1.0" encoding="utf-8"?>
  285. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  286.     xmlns:tools="http://schemas.android.com/tools"
  287.     android:id="@+id/LinearLayout1"
  288.     android:layout_width="match_parent"
  289.     android:layout_height="match_parent"
  290.     android:orientation="vertical"
  291.     tools:context=".MainActivity" >
  292.  
  293.     <EditText
  294.         android:id="@+id/etInput"
  295.         android:layout_width="fill_parent"
  296.         android:layout_height="wrap_content"
  297.         android:ems="10"
  298.         android:inputType="number" >
  299.  
  300.         <requestFocus />
  301.     </EditText>
  302.  
  303.     <TextView
  304.         android:id="@+id/tvConvertFrom"
  305.         android:layout_width="wrap_content"
  306.         android:layout_height="wrap_content"
  307.         android:text="@string/tvConvertFrom"
  308.         android:textAppearance="?android:attr/textAppearanceLarge" />
  309.  
  310.     <Spinner
  311.         android:id="@+id/spnConvertFrom"
  312.         android:layout_width="match_parent"
  313.         android:layout_height="wrap_content" />
  314.  
  315.     <TextView
  316.         android:id="@+id/tvConvertTo"
  317.         android:layout_width="wrap_content"
  318.         android:layout_height="wrap_content"
  319.         android:text="@string/tvConvertTo"
  320.         android:textAppearance="?android:attr/textAppearanceLarge" />
  321.  
  322.     <Spinner
  323.         android:id="@+id/spnConvertTo"
  324.         android:layout_width="match_parent"
  325.         android:layout_height="wrap_content" />
  326.  
  327.     <Button
  328.         android:id="@+id/btnConvert"
  329.         android:layout_width="fill_parent"
  330.         android:layout_height="wrap_content"
  331.         android:text="@string/btnConvert" />
  332.  
  333.     <TextView
  334.         android:id="@+id/tvResult"
  335.         android:layout_width="fill_parent"
  336.         android:layout_height="wrap_content"
  337.         android:text="@string/tvResult"
  338.         android:textAppearance="?android:attr/textAppearanceMedium" />
  339.  
  340. </LinearLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement