Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: None  |  size: 3.82 KB  |  hits: 24  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Loading Parsed XML data into simpleListAdapter?
  2. public class xmlparser extends ListActivity implements OnClickListener {
  3.  
  4. static final String XMLsite = "http://www.google.com/ig/api weather=Boston+Massachusetts";
  5.  
  6.  
  7. public void onCreate(Bundle savedInstanceState) {  
  8.     super.onCreate(savedInstanceState);  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. @SuppressWarnings("unchecked")
  15. @Override
  16.     try{
  17.         URL website = new URL(XMLsite);
  18.         //getting xmlreader to parse data
  19.         SAXParserFactory spf = SAXParserFactory.newInstance();
  20.         SAXParser sp = spf.newSAXParser();
  21.         XMLReader xr = sp.getXMLReader();
  22.         HandlingXMLStuff doingWork = new HandlingXMLStuff();
  23.         xr.setContentHandler(doingWork);
  24.         xr.parse(new InputSource(website.openStream()));
  25.  
  26.         ArrayList<HashMap<String, String>> list =(ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arraylist");
  27.  
  28.         String[] from = { "name", "purpose" };
  29.         int[] to = { android.R.id.text1, android.R.id.text2 };
  30.  
  31.         SimpleAdapter adapter = new SimpleAdapter(this, list,
  32.                 android.R.layout.simple_list_item_2, from, to);
  33.         setListAdapter(adapter);
  34.  
  35.  
  36.         }catch(Exception e){
  37.  
  38.     }
  39. }
  40.        
  41. package com.school;
  42.  
  43. import java.util.ArrayList;
  44. import java.util.HashMap;
  45. import android.app.Activity;
  46. import android.content.Intent;
  47. import android.os.Bundle;
  48.  
  49. public class XMLDataCollected extends Activity{
  50.  /** Called when the activity is first created. */
  51. @Override
  52. public void onCreate(Bundle savedInstanceState) {
  53.     super.onCreate(savedInstanceState);
  54.  
  55.     Intent intent = new Intent(this, xmlparser.class);
  56.     ArrayList<HashMap<String, String>> list = buildData();
  57.     intent.putExtra("arraylist", list);
  58.     startActivity(intent);
  59. }
  60.  
  61. int temp = 0;
  62. String city = null;
  63.  
  64. public void setCity(String c){
  65.     city = c;
  66.  
  67. }
  68. public void setTemp(int t){
  69.     temp = t;
  70. }
  71.  
  72.  
  73. private ArrayList<HashMap<String, String>> buildData() {
  74.     ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
  75.     list.add(putData(city, "temp"));
  76.     list.add(putData("city", "temp"));
  77.     list.add(putData("city", "temp"));
  78.     return list;
  79. }
  80.  
  81. private HashMap<String, String> putData(String name, String purpose) {
  82.     HashMap<String, String> item = new HashMap<String, String>();
  83.     item.put("name", name);
  84.     item.put("purpose", purpose);
  85.     return item;
  86. }
  87. }
  88.        
  89. public class ActivityOne extends Activity {
  90.     private static final String ADDRESS = "...";
  91.     @Override public void onCreate(Bundle icicle) {
  92.         super.onCreate(icicle);
  93.  
  94.         new FetchDataTask(ADDRESS).execute();
  95.     }
  96.  
  97.  
  98.     private class FetchDataTask extends AsyncTask<Void, Void, Void> {
  99.         private URL mWebsite;
  100.         private ArrayList<???> mListActivityContent;
  101.  
  102.         public FetchDataTask(String address) {
  103.             mWebsite = new URL(address);
  104.         }
  105.  
  106.         @Override public void doInBackground(Void... voids) {
  107.             //getting xmlreader to parse data
  108.             SAXParserFactory spf = SAXParserFactory.newInstance();
  109.             SAXParser sp = spf.newSAXParser();
  110.             XMLReader xr = sp.getXMLReader();
  111.             HandlingXMLStuff doingWork = new HandlingXMLStuff();
  112.             xr.setContentHandler(doingWork);
  113.             xr.parse(new InputSource(mWebsite.openStream()));
  114.             /*
  115.              * Now, you are going to want other parsing and
  116.              * array building stuff here. Looking at your code,
  117.              * I can't figure out how the XMLDataCollected
  118.              * Activity is used, sorry, so you will have to tweak
  119.              * this to accomodate it.
  120.              */
  121.         }
  122.  
  123.         @Override public void onPostExecute(Void voids) {
  124.             SimpleAdapter adapter = new SimpleAdapter(ActivityOne.this,
  125.             list, android.R.layout.simple_list_item_2, from, to);
  126.  
  127.             ActivityOne.this.setListAdatper(adapter);
  128.         }
  129.     }
  130. }