How to perform background activity in android?
This is my avtivity...How can I perform test() function in background, so that i can display something before execution of test() ?? Is it possible to load the contents dynamically after displaying the layout???Please help me...........



    package com.android.kidstories;

    import java.io.BufferedInputStream;
    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;
     import java.text.DecimalFormat;

          import javax.xml.parsers.DocumentBuilder;
     import javax.xml.parsers.DocumentBuilderFactory;

       import org.w3c.dom.Document;
        import org.w3c.dom.Element;
      import org.w3c.dom.Node;
        import org.w3c.dom.NodeList;
     import org.xml.sax.InputSource;

      import android.app.Activity;
        import android.content.Context;
       import android.content.Intent;
         import android.graphics.Bitmap;
        import android.graphics.BitmapFactory;
      import android.graphics.Color;
     //import android.net.Uri;
        import android.os.Bundle;
     import android.view.View;
      import android.view.View.OnClickListener;
     import android.view.ViewGroup.LayoutParams;
        import android.webkit.WebView;
       import android.widget.ImageView;
      import android.widget.LinearLayout;
     import android.widget.ScrollView;
       import android.widget.TextView;

     public class viewstoryActivity extends Activity {
      LinearLayout layout1;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.list);
		/** Create a new layout to display the view */
		//ScrollView sv = (ScrollView)findViewById(R.id.sv);
		layout1 =(LinearLayout)findViewById(R.id.LinearLayout);
		test();
		
	} public void test(){
        try {
        	LinearLayout layout[];
        	LinearLayout layout2[];
        	LinearLayout layout3[];
    		TextView name[];
    		TextView desc[];
    		TextView viewCount[];
    		ImageView website[];
    		ImageView star[];
    		TextView category[];
            //ImageButton img[];
			URL url = new URL(
					"http://gdata.youtube.com/feeds/api/videos?start-index=1&max-results=25&vq=itsaperfectstory&orderby=relevance");
			
			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
			DocumentBuilder db = dbf.newDocumentBuilder();
			Document doc = db.parse(new InputSource(url.openStream()));
			//doc.getDocumentElement().normalize();

			NodeList nodeList = doc.getElementsByTagName("entry");

			/** Assign textview array lenght by arraylist size */
			 layout= new LinearLayout[nodeList.getLength()];
			 layout2= new LinearLayout[nodeList.getLength()];
			 layout3= new LinearLayout[nodeList.getLength()];
			name = new TextView[nodeList.getLength()];
			desc = new TextView[nodeList.getLength()];
			viewCount = new TextView[nodeList.getLength()];
			website = new ImageView[nodeList.getLength()];
			star = new ImageView[nodeList.getLength()];
			category = new TextView[nodeList.getLength()];
            //img = new ImageButton[nodeList.getLength()];
            
			for (int i = 0; i < nodeList.getLength(); i++) {

				Node node = nodeList.item(i);
                layout[i]= new LinearLayout(this);
        		layout[i].setOrientation(LinearLayout.HORIZONTAL);
        		layout[i].setBackgroundResource(R.anim.bg);
        		layout[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,150));
        		layout2[i]= new LinearLayout(this);
        		layout2[i].setOrientation(LinearLayout.VERTICAL);
        		layout2[i].setLayoutParams(new LayoutParams(400,150));
        		layout3[i]= new LinearLayout(this);
        		layout3[i].setOrientation(LinearLayout.VERTICAL);
        		layout3[i].setLayoutParams(new LayoutParams(150,150));
				name[i] = new TextView(this);
				desc[i] = new TextView(this);
				viewCount[i]=new TextView(this);
				website[i] = new ImageView(this);
				star[i]=new ImageView(this);
				category[i] = new TextView(this);
				//img[i] = new ImageButton(this);
				//img[i].setBackgroundResource(R.anim.button);
				//img[i].setLayoutParams(new LayoutParams(74,35));
				name[i].setPadding(10, 20,0,0);
				name[i].setTextSize(16);
				Element fstElmnt = (Element) node;
				
				NodeList nameList = fstElmnt.getElementsByTagName("title");
				Element nameElement = (Element) nameList.item(0);
				nameList = nameElement.getChildNodes();
				name[i].setText(((Node) nameList.item(0)).getNodeValue());
				name[i].setLines(1);
				
				NodeList websiteList = fstElmnt.getElementsByTagName("media:content");
				Element websiteElement = (Element) websiteList.item(0);
				websiteList = websiteElement.getChildNodes();
				final String url1=websiteElement.getAttribute("url");
				
				NodeList websiteList1 = fstElmnt.getElementsByTagName("media:thumbnail");
				Element websiteElement1 = (Element) websiteList1.item(0);
                String test=websiteElement1.getAttribute("url");
                
                NodeList descitem = fstElmnt.getElementsByTagName("content");
				Element descElement = (Element) descitem.item(0);
				nameList = descElement.getChildNodes();
				desc[i].setText(((Node) nameList.item(0)).getNodeValue());
				desc[i].setLines(1);
				desc[i].setTextColor(Color.DKGRAY);
				desc[i].setPadding(10,8,0,0);
				
				
				NodeList gditem = fstElmnt.getElementsByTagName("yt:statistics");
				Element gdElement = (Element) gditem.item(0);
				String view1=gdElement.getAttribute("viewCount");
				viewCount[i].setText(view1+" views");
				viewCount[i].setPadding(10,8,0,0);
                Bitmap bm = null;  URL aURL = new URL(test); URLConnection conn = aURL.openConnection(); conn.connect();
                InputStream is = conn.getInputStream(); BufferedInputStream bis = new  BufferedInputStream(is); 
                bm = BitmapFactory.decodeStream(bis); bis.close(); is.close();  // TODO:  handle exception 
                website[i].setImageBitmap(bm);
				website[i].setPadding(30, 20, 0, 0);
				
                layout3[i].addView(website[i]);
				layout2[i].addView(name[i]);
				layout2[i].addView(desc[i]);
				layout2[i].addView(viewCount[i]);
				NodeList staringitem = fstElmnt.getElementsByTagName("gd:rating");
				if ((staringitem==null)||(staringitem.getLength()==0)) {
					
					star[i].setImageResource(R.drawable.star0);
					layout2[i].addView(star[i]);
				}else{
					Element starElement = (Element) staringitem.item(0);
					String stars = starElement.getAttribute("average");
					double d=Double.parseDouble(stars);
					DecimalFormat decimalFormat=new DecimalFormat("#");
					stars=decimalFormat.format(d);
					if (stars.contentEquals("1")) {
						star[i].setImageResource(R.drawable.star1);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("2")) {
						star[i].setImageResource(R.drawable.star2);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("3")) {
						star[i].setImageResource(R.drawable.star3);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("4")) {
						star[i].setImageResource(R.drawable.star4);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("5")) {
						star[i].setImageResource(R.drawable.star5);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("0")) {
						star[i].setImageResource(R.drawable.star0);
						layout2[i].addView(star[i]);

					}
				}
				layout[i].addView(layout3[i]);
				layout[i].addView(layout2[i]);
				//layout.addView(category[i]);
				//layout[i].addView(img[i]);
				((LinearLayout)layout1).addView(layout[i]);
				layout[i].setOnClickListener(new OnClickListener() {
					public void onClick(View v) {
						/*Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url1)); 
						
						startActivity(intent);*/
						Bundle bundle = new Bundle();
					    // add data to bundle
					    bundle.putString("url", url1);
						Intent intent=new     Intent(viewstoryActivity.this , VidActivity.class);
						intent.putExtras(bundle);
						startActivityForResult(intent, 0);
						overridePendingTransition  (R.anim.right_slide_out, R.anim.right_slide_out);
					}

					
				});
			}
		} catch (Exception e) {
			System.out.println("XML Pasing Excpetion = " + e);
		}
		
		/** Set the layout view to display */
       // ((ScrollView) sv).addView(layout1);
        
		//setContentView(sv);
		
 	}
	
	
     }

How to perform background activity in android?
===

This is my avtivity...How can I perform test() function in background, so that i can display something before execution of test() ?? Is it possible to load the contents dynamically after displaying the layout???Please help me...........



    package com.android.kidstories;

    import java.io.BufferedInputStream;
    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;
     import java.text.DecimalFormat;

          import javax.xml.parsers.DocumentBuilder;
     import javax.xml.parsers.DocumentBuilderFactory;

       import org.w3c.dom.Document;
        import org.w3c.dom.Element;
      import org.w3c.dom.Node;
        import org.w3c.dom.NodeList;
     import org.xml.sax.InputSource;

      import android.app.Activity;
        import android.content.Context;
       import android.content.Intent;
         import android.graphics.Bitmap;
        import android.graphics.BitmapFactory;
      import android.graphics.Color;
     //import android.net.Uri;
        import android.os.Bundle;
     import android.view.View;
      import android.view.View.OnClickListener;
     import android.view.ViewGroup.LayoutParams;
        import android.webkit.WebView;
       import android.widget.ImageView;
      import android.widget.LinearLayout;
     import android.widget.ScrollView;
       import android.widget.TextView;

     public class viewstoryActivity extends Activity {
      LinearLayout layout1;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.list);
		/** Create a new layout to display the view */
		//ScrollView sv = (ScrollView)findViewById(R.id.sv);
		layout1 =(LinearLayout)findViewById(R.id.LinearLayout);
		test();
		
	} public void test(){
        try {
        	LinearLayout layout[];
        	LinearLayout layout2[];
        	LinearLayout layout3[];
    		TextView name[];
    		TextView desc[];
    		TextView viewCount[];
    		ImageView website[];
    		ImageView star[];
    		TextView category[];
            //ImageButton img[];
			URL url = new URL(
					"http://gdata.youtube.com/feeds/api/videos?start-index=1&max-results=25&vq=itsaperfectstory&orderby=relevance");
			
			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
			DocumentBuilder db = dbf.newDocumentBuilder();
			Document doc = db.parse(new InputSource(url.openStream()));
			//doc.getDocumentElement().normalize();

			NodeList nodeList = doc.getElementsByTagName("entry");

			/** Assign textview array lenght by arraylist size */
			 layout= new LinearLayout[nodeList.getLength()];
			 layout2= new LinearLayout[nodeList.getLength()];
			 layout3= new LinearLayout[nodeList.getLength()];
			name = new TextView[nodeList.getLength()];
			desc = new TextView[nodeList.getLength()];
			viewCount = new TextView[nodeList.getLength()];
			website = new ImageView[nodeList.getLength()];
			star = new ImageView[nodeList.getLength()];
			category = new TextView[nodeList.getLength()];
            //img = new ImageButton[nodeList.getLength()];
            
			for (int i = 0; i < nodeList.getLength(); i++) {

				Node node = nodeList.item(i);
                layout[i]= new LinearLayout(this);
        		layout[i].setOrientation(LinearLayout.HORIZONTAL);
        		layout[i].setBackgroundResource(R.anim.bg);
        		layout[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,150));
        		layout2[i]= new LinearLayout(this);
        		layout2[i].setOrientation(LinearLayout.VERTICAL);
        		layout2[i].setLayoutParams(new LayoutParams(400,150));
        		layout3[i]= new LinearLayout(this);
        		layout3[i].setOrientation(LinearLayout.VERTICAL);
        		layout3[i].setLayoutParams(new LayoutParams(150,150));
				name[i] = new TextView(this);
				desc[i] = new TextView(this);
				viewCount[i]=new TextView(this);
				website[i] = new ImageView(this);
				star[i]=new ImageView(this);
				category[i] = new TextView(this);
				//img[i] = new ImageButton(this);
				//img[i].setBackgroundResource(R.anim.button);
				//img[i].setLayoutParams(new LayoutParams(74,35));
				name[i].setPadding(10, 20,0,0);
				name[i].setTextSize(16);
				Element fstElmnt = (Element) node;
				
				NodeList nameList = fstElmnt.getElementsByTagName("title");
				Element nameElement = (Element) nameList.item(0);
				nameList = nameElement.getChildNodes();
				name[i].setText(((Node) nameList.item(0)).getNodeValue());
				name[i].setLines(1);
				
				NodeList websiteList = fstElmnt.getElementsByTagName("media:content");
				Element websiteElement = (Element) websiteList.item(0);
				websiteList = websiteElement.getChildNodes();
				final String url1=websiteElement.getAttribute("url");
				
				NodeList websiteList1 = fstElmnt.getElementsByTagName("media:thumbnail");
				Element websiteElement1 = (Element) websiteList1.item(0);
                String test=websiteElement1.getAttribute("url");
                
                NodeList descitem = fstElmnt.getElementsByTagName("content");
				Element descElement = (Element) descitem.item(0);
				nameList = descElement.getChildNodes();
				desc[i].setText(((Node) nameList.item(0)).getNodeValue());
				desc[i].setLines(1);
				desc[i].setTextColor(Color.DKGRAY);
				desc[i].setPadding(10,8,0,0);
				
				
				NodeList gditem = fstElmnt.getElementsByTagName("yt:statistics");
				Element gdElement = (Element) gditem.item(0);
				String view1=gdElement.getAttribute("viewCount");
				viewCount[i].setText(view1+" views");
				viewCount[i].setPadding(10,8,0,0);
                Bitmap bm = null;  URL aURL = new URL(test); URLConnection conn = aURL.openConnection(); conn.connect();
                InputStream is = conn.getInputStream(); BufferedInputStream bis = new  BufferedInputStream(is); 
                bm = BitmapFactory.decodeStream(bis); bis.close(); is.close();  // TODO:  handle exception 
                website[i].setImageBitmap(bm);
				website[i].setPadding(30, 20, 0, 0);
				
                layout3[i].addView(website[i]);
				layout2[i].addView(name[i]);
				layout2[i].addView(desc[i]);
				layout2[i].addView(viewCount[i]);
				NodeList staringitem = fstElmnt.getElementsByTagName("gd:rating");
				if ((staringitem==null)||(staringitem.getLength()==0)) {
					
					star[i].setImageResource(R.drawable.star0);
					layout2[i].addView(star[i]);
				}else{
					Element starElement = (Element) staringitem.item(0);
					String stars = starElement.getAttribute("average");
					double d=Double.parseDouble(stars);
					DecimalFormat decimalFormat=new DecimalFormat("#");
					stars=decimalFormat.format(d);
					if (stars.contentEquals("1")) {
						star[i].setImageResource(R.drawable.star1);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("2")) {
						star[i].setImageResource(R.drawable.star2);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("3")) {
						star[i].setImageResource(R.drawable.star3);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("4")) {
						star[i].setImageResource(R.drawable.star4);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("5")) {
						star[i].setImageResource(R.drawable.star5);
						layout2[i].addView(star[i]);
					} else if (stars.contentEquals("0")) {
						star[i].setImageResource(R.drawable.star0);
						layout2[i].addView(star[i]);

					}
				}
				layout[i].addView(layout3[i]);
				layout[i].addView(layout2[i]);
				//layout.addView(category[i]);
				//layout[i].addView(img[i]);
				((LinearLayout)layout1).addView(layout[i]);
				layout[i].setOnClickListener(new OnClickListener() {
					public void onClick(View v) {
						/*Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url1)); 
						
						startActivity(intent);*/
						Bundle bundle = new Bundle();
					    // add data to bundle
					    bundle.putString("url", url1);
						Intent intent=new     Intent(viewstoryActivity.this , VidActivity.class);
						intent.putExtras(bundle);
						startActivityForResult(intent, 0);
						overridePendingTransition  (R.anim.right_slide_out, R.anim.right_slide_out);
					}

					
				});
			}
		} catch (Exception e) {
			System.out.println("XML Pasing Excpetion = " + e);
		}
		
		/** Set the layout view to display */
       // ((ScrollView) sv).addView(layout1);
        
		//setContentView(sv);
		
 	}
	
	
     }
