Wednesday, April 4, 2012

How to add Sdcards mp3 songs to Listing of Music Player in Android

MusicDroid.java


XMl Parsing With SAX Parser in Android

XMLParsingExample.java


package com.androidpeople.xml.parsing;
import java.net.URL;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
public class XMLParsingExample extends Activity {
/** Create Object For SiteList Class */
SitesList sitesList = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/** Create a new layout to display the view */
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(1);
/** Create a new textview array to display the results */
TextView name[];
TextView website[];
TextView category[];
try {
/** Handling XML */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Send URL to parse XML Tags */
URL sourceUrl = new URL(
"http://www.androidpeople.com/wp-content/uploads/2010/06/example.xml");
/** Create handler to handle XML Tags ( extends DefaultHandler ) */
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));
} catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}
/** Get result from MyXMLHandler SitlesList Object */
sitesList = MyXMLHandler.sitesList;
/** Assign textview array lenght by arraylist size */
name = new TextView[sitesList.getName().size()];
website = new TextView[sitesList.getName().size()];
category = new TextView[sitesList.getName().size()];
/** Set the result text in textview and add it to layout */

for (int i = 0; i < sitesList.getName().size(); i++)
 {
name[i] = new TextView(this);
name[i].setText("Name = "+sitesList.getName().get(i));
website[i] = new TextView(this);
website[i].setText("Website = "+sitesList.getWebsite().get(i));
category[i] = new TextView(this);
category[i].setText("Website Category = "+sitesList.getCategory().get(i));
layout.addView(name[i]);
layout.addView(website[i]);
layout.addView(category[i]);
}

/** Set the layout view to display */

setContentView(layout);
}
}

MyXMLHandler.java

package com.androidpeople.xml.parsing;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class MyXMLHandler extends DefaultHandler {

Boolean currentElement = false;
String currentValue = null;
public static SitesList sitesList = null;
public static SitesList getSitesList() {
return sitesList;

}
public static void setSitesList(SitesList sitesList) {
MyXMLHandler.sitesList = sitesList;
}

/** Called when tag starts ( ex:- AndroidPeople

* -- )*/

@Override

public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
currentElement = true;
if (localName.equals("maintag"))
{
/** Start */
sitesList = new SitesList();
} else if (localName.equals("website")) {

/** Get attribute value */

String attr = attributes.getValue("category");
sitesList.setCategory(attr);
}
}

/** Called when tag closing ( ex:- AndroidPeople

* -- )*/

@Override
public void endElement(String uri, String localName, String qName)

throws SAXException {
currentElement = false;

/** set value */

if (localName.equalsIgnoreCase("name"))
sitesList.setName(currentValue);
else if (localName.equalsIgnoreCase("website"))
sitesList.setWebsite(currentValue);

}

/** Called to get tag characters ( ex:- AndroidPeople
* -- to get AndroidPeople Character ) */

@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
if (currentElement) {
currentValue = new String(ch, start, length);
currentElement = false;

}
}
}

SitesList.java

package com.androidpeople.xml.parsing;

import java.util.ArrayList;
/** Contains getter and setter method for varialbles */

public class SitesList {
/** Variables */
private ArrayList name = new ArrayList();
private ArrayList website = new ArrayList();
private ArrayList category = new ArrayList();
/** In Setter method default it will return arraylist

* change that to add */
public ArrayList getName() {
return name;
}

public void setName(String name) {
this.name.add(name);
}

public ArrayList getWebsite() {
return website;
}

public void setWebsite(String website) {
this.website.add(website);
}

public ArrayList getCategory() {
return category;
}

public void setCategory(String category) {
this.category.add(category);
}
}

Saturday, March 17, 2012

How to In Automatically Start activity after complete video ?

In complete video You have to put Listener for video properties.

This are the basic funda for playing video in android.

So this are the code below.

vd is the VideoView variable.

First of all pass uri.

Uri uri = Uri.parse("PATH OF VIDEO");

Then set media controller And set video uri ....
MediaController mc = new MediaController(this);
vd.setMediaController(mc);
vd.setVideoURI(uri);
vd.start();
Now On complete video setoncompletelistner properties on VideoView this code below....

vd.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.v("log_tag","Complete Video");
}
});