Android: Reading, using and working with XML data and web services in Android

Posted July 19th @ 8:37 pm by Boyan Tsolov

Advertisement

One of the most powerful aspects of any mobile application for a 3G phone is that it can connect to the Internet. By connecting to the Internet the application can offer much more value to the user since it becomes an interface for a web-based component, e.g. using Twitter’s API to create a Twitter application so that you can get your Twitter updates without having to open the mobile browser. The most common way of interfacing with a web-based component is by using web services in XML format.

While trying to developer my own app which reads a web service from my own server, I ran into a lot of difficulties in implementing the client that consumes the web service. Android does not have libraries for XPath handling of XML documents, so it makes deciphering XML data a little bit more difficult. From what I’ve read online the Android team is currently working on including such libraries in future versions.

After some digging around I found an amazing link that shows different methods for consuming an XML file in Android and parsing through it without the use of XPaths. The link is this: Working with XML on Android. To start off, this link is an absolute must-read. Everything that I am going to write in my post here relates to this link. The code offered on that webpage uses polymorphism to show you 4 different methods of working with XML data. It provides a fully-functional Android application and all the source code for it. The source code can be found here: AndroidXML.zip.

My post today will concentrate on how to customize the code from the application in the above link, in order to read and parse your own XML data. If you are a Java pro, you might not need this post. My Java is a little rusty, so I needed some time to figure out exactly what I had to change and where in order to get this to work with my own web service XML. Now that I’ve figured it out, I thought I’d share it. In my next post I will give the simplified version of this code – where there is no polymorphism, and thus there are only the minimum number of classes needed to implement this XML-reading solution. I can’t offer this simplified code right now – because I haven’t coded it yet :).

So until I post the simplified source code for working with XML data in Android, here are some tips on getting through the larger polymorphism-based source code and customizing it for your own XML data:

1. First off, read over the link Working with XML on Android as much as you can.

2. Download the source code for the Android application that they offer: AndroidXML.zip.

3. Import the project into your Eclipse workspace by right-clicking in Project Explorer and selecting “Import”.

01 Import

4. Select “Existing Projects into Workspace”

5. Browse to the directory where you extracted the ZIP file with the source code and then click on the Next buttons to finish off the wizard. The project is called “AndroidXml”.

6. You will now see the project in your workspace:

02 project

7. Here is a quick breakdown of what some of those Java classes do:

- MessageList.java is the main activity that gets started. It lists the items from the XML data using a ListActivity. In this project the items come from an RSS feed.

- FeedParser.java, FeedParserFactory.java, BaseFeedParser.java, RSSHandler.hava are all classes that this particular example uses to set the framework for polymorphism.

- This example uses 4 methods for grabbing the XML data and reading it.The 4 methods that this example uses are:

1. AndroidSaxFeedParser.java (the default)

2. DomFeedParser.java

3. SaxFeedParser.java

4. XmlPullFeedParser.java

These 4 classes all extend BaseFeedParser.java.

8. In order to customize this for your own XML file you need to edit the following places (assuming you are using AndroidSaxFeedParser, which is the default):

- FeedParserFactory.java: you need to change the URL location of the web service or XML document in the global variable here:

static String feedUrl = "http://www.androidster.com/android_news.rss";

- AndroidSaxFeedParser.java: you need to change the root node of your XML document. This is stored in the String called RSS.

static final String RSS = "RootNode";

- BaseFeedParser.java: you need to change this class according to the nodes that your XML document has.

The nodes CHANNEL and ITEM refer to the nodes <Channel> and <Item> in the RSS feed that this example uses. You need to change them to mimic your nodes from your XML document:

static final String CHANNEL = "channel";
static final  String ITEM = "item";

The other constants that are declared refer to the nodes for each repeating item.

static final  String PUB_DATE = "pubDate";
static final  String DESCRIPTION = "description";
static final  String LINK = "link";
static final  String TITLE = "title";

For this particular example, since an RSS feed XML document is used, it has repeating nodes for <Description>, <Link>, <Title>, <PubDate>. You need to change this structure to mimic your structure.

Note: Remember that if you change the name of the constants (as opposed to the value of the constants), you will need to change other classes which call these constants.

- If you change the names of the constants, you will have to update AndroidSaxFeedParser.java in this section:

        item.getChild(TITLE).setEndTextElementListener(new EndTextElementListener(){
            public void end(String body) {
                currentMessage.setTitle(body);
            }
        });
        item.getChild(LINK).setEndTextElementListener(new EndTextElementListener(){
            public void end(String body) {
                currentMessage.setLink(body);
            }
        });
        item.getChild(DESCRIPTION).setEndTextElementListener(new EndTextElementListener(){
            public void end(String body) {
                currentMessage.setDescription(body);
            }
        });
        item.getChild(PUB_DATE).setEndTextElementListener(new EndTextElementListener(){
            public void end(String body) {
                currentMessage.setDate(body);
            }
        });

As you can see this section is hardcoded for the 4 nodes that are expected in this XML document (TITLE, LINK, DESCRIPTION, PUB_DATE). You will need to change this section and hardcode this for your own nodes.

- If you change the names of the higher-level nodes, i.e. <Channel> and <Item>, then you need to update the following section of AndroidSaxFeedParser.java:

Element itemlist = root.getChild(CHANNEL);
Element item = itemlist.getChild(ITEM);

And that is all. The customized code will use the AndroidSaxParser implementation of an XML Parser, it will go to the URL you provided in FeedParserFactory.java, and it will iterate through the updated nodes as you have labeled them in BaseFeedParser.java and AndroidSaxFeedParser.java.

In my next post I will provide a simplified version of this code, which does not use polymorphism. It will (hopefully) use the minimum required classes to get XML data and parse it.



4 Trackbacks/Pingbacks

  1. Pingback: Android: Simplified source code for parsing and working with XML data and web services in Android | Warrior Point - Latest News & Tutorials on SaaS, Android and On-demand Software on July 20, 2009
  2. Pingback: Anybody Help me ! I got some Problem running android application using ANDROID_SAX - Android Forums on March 12, 2010
  3. Pingback: My first learning log for developing android apps « Michelle Melkman Broadcast blog on January 31, 2011
  4. Pingback: Access Webservice from Android « Prayag Upd on August 8, 2011

50 Comments

  1. Jon
    October 2, 2009 at 07:32

    Hi, This is a great manual, congratulations. I have a problem.

    In MessageList.java I would like pass more items to the view.

    Now is:

    for (Message msg : messages) {
    titles.add(msg.getTitle());

    ArrayAdapter adapter = new ArrayAdapter(this, R.layout.row, titles);

    And I would like pass to the view the title and date, and in row.xml, show two diferent TextView with its design.

    Thanks, sorry my English, I am Spanish.

  2. TRANG
    March 12, 2010 at 07:07

    Hi All !
    i got some problem with running my android application on actual device : (Motorola milestone droid 2.0.1) . Althoug it’s working fine on Virtual Android (I’m using Eclipse, buiding an android application about loadFeed, work with XML from internet, using ANDROID_SAX). I dont know why ? Anybody help me, thank you very much
    I got sample code from this webpage :
    http://www.warriorpoint.com/blog/2009/07/19/android-reading-using-and-working-with-xml-data-and-web-services-in-android/

  3. raqz
    April 11, 2010 at 03:37

    Hi… I tried using this tutorial to transfer a simple object of mine but unable to do so. I am sure what is going wrong and where..could some one please look at my code placed in
    http://www.sis.pitt.edu/~arazeez/xml.

    Any help would be greatly appreciated.

    Thanks,
    Raqeeb

  4. raqz
    April 11, 2010 at 03:43

    sorry.. i am unable to place my code on the server. please just send a mail to abdulraqeeb33@gmail.com, i can send across the code to you. thanks…

  5. biqut2
    May 4, 2010 at 11:21

    I am having difficulty adapting this method to my own xml output. I have successfully went through all of the code and changed the string names and it continues to work on the xml feed provided but when I change the url and the values that it is looking for it stops working. I can use any help you can give as I am still verymuch a novice at this. My xml is as follows:

    25889
    Forex UK Real
    Manually trading with custom indicators and $250 starting balance. Strategy is to use ADX crosses on various time frames for entry points and then allowing a custom EA to close out the trades with a profit and limit the risk of a trend change.
    10322997

    -16.96
    -8.48
    -0.68
    -19.9
    252.50
    500.00

    0.10
    -42.41
    205.09
    21.99
    205.09
    false

    05/04/2010 08:39
    04/11/2010 11:09
    0
    6

    Forex.com

    28288
    Basel Financial Demo
    Mini Demo account for manual trading.
    505183

    58.20
    58.20
    5.29
    150.88
    0.00
    250.00

    0.00
    145.50
    395.50
    4.98
    395.50
    true

    04/30/2010 09:34
    04/26/2010 02:35
    1
    16

    Basel Financial

    28569
    FXDD Contest Account
    This demo account is for the contest.
    7602194

    60.47
    60.46
    12.09
    325.58
    0.00
    1000.00

    -1.36
    604.64
    1604.64
    13.84
    1604.64
    true

    05/02/2010 19:54
    04/27/2010 08:26
    0
    5

    FXDD

  6. biqut2
    May 4, 2010 at 11:21

    EDIT: tags did not show up

    25889
    Forex UK Real
    Manually trading with custom indicators and $250 starting balance. Strategy is to use ADX crosses on various time frames for entry points and then allowing a custom EA to close out the trades with a profit and limit the risk of a trend change.
    10322997

    -16.96
    -8.48
    -0.68
    -19.9
    252.50
    500.00

    0.10
    -42.41
    205.09
    21.99
    205.09
    false

    05/04/2010 08:39
    04/11/2010 11:09
    0
    6

    Forex.com

    28288
    Basel Financial Demo
    Mini Demo account for manual trading.
    505183

    58.20
    58.20
    5.29
    150.88
    0.00
    250.00

    0.00
    145.50
    395.50
    4.98
    395.50
    true

    04/30/2010 09:34
    04/26/2010 02:35
    1
    16

    Basel Financial

    28569
    FXDD Contest Account
    This demo account is for the contest.
    7602194

    60.47
    60.46
    12.09
    325.58
    0.00
    1000.00

    -1.36
    604.64
    1604.64
    13.84
    1604.64
    true

    05/02/2010 19:54
    04/27/2010 08:26
    0
    5

    FXDD

  7. Richard
    June 6, 2010 at 13:23

    Hi

    The link for code download at IBM has been locked down. Could you give someone a poke over there? (if that’s possible..). If not would it be possible for you to mail me the code? I’d love to look at it within eclipse!

  8. Sang Shin
    August 13, 2010 at 10:00

    My name is Sang Shin. I am the founder and chief instructor of JavaPassion.com.

    I am wondering if I can use this code as part of my Android programming course. Your name will be mentioned as part of the course material.

    Thanks.

    -Sang

  9. OneWorld
    August 19, 2010 at 06:27

    Is the parsing process really that slow? I discovered times between 0,6 and 3,5 seconds depending on the parsing engine. But sounds still very slow to me. Do u guys have same delays?

  10. Tom
    September 30, 2010 at 03:25

    I want to push XML data from Android to a web service

  11. Peter
    November 7, 2010 at 20:24

    I can’t live without android at this point.

  12. dorian
    January 10, 2011 at 02:49

    how to parse the XML node with namespaces?

  13. Rohit
    March 2, 2011 at 08:08

    Hi, really very nice tutorial.
    My question is-how to get images from the rss feed xml file and display it in our android application of rss reader.
    please rply in rohitmud@gmail.com

    Thanks in advance

  14. Chintan Gupta
    May 9, 2011 at 08:11

    Hi,i am getting response from a web service in XSLT format.
    Please help me to parse data in a Listview.
    like full result list view
    TotalApplicants=152
    session_name=test1
    start_date=2011-04-11T00:00:00+01:00

    code——————–

    package com.webservice;

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapPrimitive;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.AndroidHttpTransport;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

    public class WebService extends Activity
    {
    /* private static final String SOAP_ACTION = “http://tempuri.org/Ilogin/Logincheck”;
    private static final String METHOD_NAME = “Logincheck”;
    private static final String NAMESPACE = “http://tempuri.org/”;
    private static final String URL = “http://122.248.245.146:8090/login.svc?wsdl”;*/

    private static final String SOAP_ACTION =”http://tempuri.org/Isessions/open”;
    private static final String METHOD_NAME = “open”;
    private static final String NAMESPACE = “http://tempuri.org/”;
    private static final String URL =”http://122.248.245.146:8090/sessions.svc?wsdl”;

    /*private static final String SOAP_ACTION =”http://tempuri.org/Isessions/close”;
    private static final String METHOD_NAME = “close”;
    private static final String NAMESPACE = “http://tempuri.org/”;
    private static final String URL =”http://122.248.245.146:8090/sessions.svc?wsdl”;*/

    TextView tv;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tv =(TextView)findViewById(R.id.textView1);
    SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);

    //SoapObject

    Request.addProperty(”name”, “priyanka”);
    Request.addProperty(”passcode”, “employer2″);
    //Request.addProperty(”logging”,”YES”);
    Request.addProperty(”status”, 1);
    //Request.addProperty(”status”, 0);

    SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    soapEnvelope.dotNet=true;
    soapEnvelope.setOutputSoapObject(Request);

    tv.setText(”Status0 :”);

    AndroidHttpTransport abt = new AndroidHttpTransport(URL);
    try
    {
    abt.call(SOAP_ACTION, soapEnvelope);
    //SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();
    // SoapObject resultString = ((SoapObject)soapEnvelope.getResponse());
    // System.err.println(resultString.getName());
    tv.setText(”Status1 :” + soapEnvelope.getResponse());
    }
    catch (Exception E)
    {
    E.printStackTrace ();
    }
    }
    }

  15. crysty
    July 30, 2011 at 18:14
  16. krish
    August 30, 2011 at 03:14

    what is the use of default handler in this above example application?

  17. Pamila Spagnuolo
    September 30, 2011 at 08:09

    Awesome post, wish I could come up with stuff like that for my forum, hahaha.

  18. mamatha
    October 31, 2011 at 03:24

    Hai i done webservices in net.I want to pass those webservices in android by using json but i m not getting values in android.Please help me

  19. Satish
    November 9, 2011 at 05:13

    This is awesome!! thanks for sharing with us. you may check out this following url for brief knowledge on how to create android application using XML…
    http://mindstick.com/Articles/b14ad2c6-2521-41c5-bb17-f98a872ee127/?Creating%20an%20Android%20Application%20by%20using%20XML%20Layout

    Thanks !!!

  20. durgesh pathak
    November 11, 2011 at 07:41

    i am new to android please help me how can i feed news from mashable.com after importing androidxml simple file i am gettimg error my emailid is durgeshpathakk@gmail.com

  21. Endy
    December 2, 2011 at 18:57

    Thank you very much. If you do not mind, will translate the article into my native language

  22. Vldzlpae
    December 6, 2011 at 07:49

    The manager Nymphet Preteen
    =-)

  23. Dien Trinh
    December 21, 2011 at 23:33

    Hi, Thanks for your tutorial. I have a question want to ask you. How can I get url link from enclosure tag?
    Best Regards

  24. Dina
    December 29, 2011 at 23:47

    How to parse the XML node with namespaces?

  25. Levon
    January 2, 2012 at 11:52

    Hello, thanks for your post! Its realy helpful!

  26. Omw1135
    February 10, 2012 at 01:16

    Hello, thanks for your post.
    I have a webservice need to login. How can my android App get and set Session Id from login method ? I want to use this Session Id for others calling WS.

    Thanks for advance.

  27. Tejas Chauhan
    February 16, 2012 at 01:36

    hello Sir!

    I want to access web services in android and show data in listview in android, if possible, any one can help me using xml pull parser to use web service.

  28. fashion ugg boots
    April 3, 2012 at 15:44

    Your website is beautiful, which is popular among customers. I’ll come to visit again. Thank you very much!

  29. Jordi
    April 11, 2012 at 03:50

    Many thanks for your code. I’ve used it and it is working fine in my app!

  30. Bmgqgyti
    May 4, 2012 at 20:34

    A packet of envelopes http://kyputunape.de.tl lollitas petits bbs Man she likes being treated like a dog. U can tell she is a whore who does what she is told

  31. SCOOPpokerstars
    June 10, 2012 at 11:00

    I would like to buy 761477 suns please for 971661

  32. Hammad
    August 9, 2012 at 10:53
  33. Charlene
    April 18, 2014 at 23:44

    My coder is trying to convince me to move to .net from PHP.
    I have always disliked the idea because of the expenses. But he’s tryiong none the less.
    I’ve been using WordPress on various websites for about a year and am anxious about switching to another platform.

    I have heard excellent things about blogengine.net.
    Is there a way I can transfer all my wordpress posts into it?
    Any kind of help would be greatly appreciated!

  34. Daniel
    May 24, 2014 at 13:28

    I’d like to withdraw $100, please spyware spy internet monitoring software
    2. Perform calculations necessary to compound, dispense a

  35. Brooke
    May 24, 2014 at 22:53

    Thanks for calling spyware removal software reviews Develop a chart to show where your preceptor fits into the chain of

  36. freelove
    June 5, 2014 at 18:33

    Who’s calling? mintop minoxidil 2 Biochem. 2003; 14: 288-294.

  37. lightsoul
    June 16, 2014 at 09:34

    Could I have a statement, please? cheap sildenafil citrate A compound is a product that a pharmacist must make by mixing two or more ingredients, and when they are combined, become

  38. Leah
    July 20, 2014 at 04:23

    I’ve got a full-time job british porn mag The guy needs to shut up!

  39. Blake
    July 20, 2014 at 07:26

    I want to make a withdrawal http://www.sudokuhints.com/gopher-gold-slot/ gopher gold slots y The provider has had a previous denial of payment for the service from the

  40. Caden
    July 31, 2014 at 17:37

    Could you tell me the number for ? http://www.folfg.com/bad-credit-cell/ bad credit loan personal rating Page 5 of 25

  41. dogkill
    August 1, 2014 at 11:53

    It’s funny goodluck http://pryzant.com.br/branding/ coupons for maxalt 7. Use the web address of the EXACT page where the information was found, except for subscription

  42. Liam
    August 1, 2014 at 18:11

    How do I get an outside line? http://www.darwinvskansas.com/signature-loans-online-poor-credit/ signature loans online poor credit will be returned in the Authorization Number field. Please

  43. Victoria
    August 2, 2014 at 05:52

    I’m a partner in school essays 1 20-20 Space used to separate fields

  44. Aaron
    August 2, 2014 at 05:52

    Canada>Canada biology report samples are a few examples of when this will occur:

  45. Vanessa
    August 2, 2014 at 05:53

    Good crew it’s cool :) help writing a essay being claimed. If the service is covered or if the provider does not know if the

  46. Parker
    August 3, 2014 at 00:56

    Can you hear me OK? http://nordiskkaktusselskab.dk/best-buy-cover-letter/ do my homeworknet  Waive a restriction that would otherwise apply, such as a maximum quantity per

  47. Payton
    August 3, 2014 at 22:53

    This is the job description i need help writing my personal statement Procedure Section: Fields 15 to 24

  48. Allison
    August 4, 2014 at 08:58

    We’re at university together http://inovacaoedesign.com.br/where-can-i-buy-essays/ where can i find someone to write my term paper steps are appropriate for patients receiving new medications or returning for refills:

  49. Liam
    August 4, 2014 at 08:58

    Have you read any good books lately? http://dorothy-gish.com/how-to-write-a-paper-on-shakespeare/ best essay writing software standards, the Pharmacy and Therapeutics Committee and other pharmaceutical

  50. Terrence
    November 18, 2014 at 00:26

    Could I borrow your phone, please? limovan 7 5 mg comprimidos The Finn, who will rejoin Ferrari next season after leaving them in 2009 and spending two years out of the sport, opted to pit on lap 26 under the safety car and expertly managed his tires to finish the 61 lap race without any further change.

Leave a comment

Standard Login

Options:

Colors

  • young girls for fucking
  • naked teen girl getting dressed
  • tests for teenage girls
  • free ffm strapon video
  • dj antoine work your pussy
  • free videos porn super granny
  • naked amateur lesbian
  • recieving oral sex with herpes
  • Nude model boobs
  • stacy keibler pussy for free
  • young nude black native girls
  • why do guys like anal fingering
  • sex relations between husband wife
  • anal eel sex
  • wife videos ipod
  • club rep oral video
  • new lesbian porn mpegs
  • Bianca beauchamp nude pictures
  • blonde sexy legs
  • amateur black home movies
  • blond mature black lover
  • ipod video white black
  • poitrine petite belle
  • black girls in rap videos
  • necro anal sex
  • photo galleries group sex
  • toni christian porn pics
  • Sexy lesbians gone wild
  • free big butt mature porn
  • little girls asshole galleries
  • teen forced to suck porn
  • lesbian sex slave porn
  • wife sex amateur only
  • girls fucking moms with dicks
  • black beauty wiring
  • free video of party sex
  • tube sex video mature
  • free pussy macon ga
  • anime character loushan dick girl
  • black girl poen
  • Web hot girl
  • all amature sex pics
  • sexy teen cheerleader
  • japanese lesbian porn free
  • accident funny porn videos
  • free hot teen lesbian porn
  • sex street girls aberdeen
  • Hairy pussy big boobs
  • Public fuck sex
  • he never orgasm during sex
  • Tits ass teen
  • Ebony tits pics
  • shemale sex talk
  • eat wife pussy
  • horney blonde girls
  • russian young fuck models
  • young redhead teen cum shots
  • white girls black babies
  • Keeley hazell sex tape pictures
  • real black oiled tits
  • Asian cum shots
  • Teen wearing panties
  • nasty mature videos free
  • free teacher sex with student videos
  • thumbnail galleries sex
  • Russian girls bikini
  • outdoor naked sex pics
  • sex stripper girls video
  • hot teen lesbian black porn
  • amateur teenie videos free
  • girls forced to have sex xxx
  • Sexy jean girl
  • stolen young self vids
  • harem girl sex videos
  • white guy fucks brown girl video
  • south asian girl
  • girl with balloons picture
  • free couples home sex videos
  • blonde pussy fuck slutload
  • vids of teens spy cam
  • blonde sexy cunt
  • mature grannie videos
  • obscene pussy names
  • ebony cops make arrest porn video
  • girl friends teen sister
  • girls licking ass stories
  • galleries of video free asian adult
  • free youngest young teen porn
  • fettish submission anal fisting big tits
  • webcam girls stickam babes
  • Usa girl sex
  • japanese girls nude free videos
  • turkish girls sex
  • young teen free pussy video
  • older woman younger men sex
  • teen tits cumshot galleries
  • love thy neighbour porn movie
  • mature and warm vaginas sex
  • lesbian sex videos of asses
  • nurse mature video
  • mature sex tubes videos free
  • lesbian teens eating eachother out
  • Swallow cum from condom
  • transmission of herpes through oral sex
  • lingerie japanese girl
  • porn sex xxx
  • interracial sex tabo
  • womens jeans petite long
  • review free amateur sex sites
  • teen fuck video
  • videos girls stripped
  • naked girls rubbing
  • hairy mature black woman
  • sex girls ass pussy breast pictures
  • tan pussy bent over
  • bdsm video sex
  • Girl sleeping naked
  • naked black and latin men
  • making out turns into handjob video
  • lesbian slut having sex
  • free young mom porn
  • free videos vichy vette pornstar
  • german granny pussy free tubes
  • young ukraine teen model
  • English movie sex scenes
  • solo softcore black girls
  • two black girls one guy
  • ebony black galleries
  • free anal sex holding ankles movies
  • best amateur pussy videp
  • Best cum videos
  • caught naked porn
  • biker chicks videos
  • black teen anal sex pic
  • video marilynchambers blowjob
  • Teens boobs pictures
  • mature dildo lesbians
  • amateur wife submit nude
  • Pacific girls porn
  • black pornstar barocca mpegs
  • james bond girls sex
  • naught naked girlfriends
  • sex tape celebrity hip hop girls
  • Natural boob photos
  • throbing orgasm videos
  • teacher fucks young pupil pictures
  • Super sex movies
  • free object insertion porn movies
  • porn thumb gallery
  • short hair curly blonde milf vids
  • cum inside of teen girls pics
  • group teenie sex
  • young mature sex movies
  • black on white teen sex
  • free xxx hardcore vagina pics
  • north korean bombs found in japan
  • hairy granny missionary porn videos
  • best xxx facial thumbs
  • amateur kidnapping video
  • videos of chubby teens squirting
  • Katrina kaif hot sex video
  • real sex orgasm
  • pictures of perfect breasts
  • indian sex movie online
  • titless girls pics
  • sexy mexican gogo girls
  • black rock of love girl
  • big ass teen rides dick
  • wives and neighbors porn
  • mature hairy busty crazy fucking videos
  • wife skirt sex
  • free legal high quality fuck videos
  • plain girl porn tube
  • black chick tit fuck white dick
  • asian lesbo sex
  • free big butt pussy fart porn
  • Hot lesbians girl
  • best amateur pussy video
  • free shemale dress up girlfriends
  • wet young teen squirting pussy videos
  • affect of young couples
  • smokin hot pussy
  • sexy teen girfriends
  • young sex ocean
  • best jr teen body pics
  • sweet mature pussy
  • pornstar strip vids
  • lesbian blowjob queen
  • amutur teen sex pics
  • lexi belle handjob tugjobs videos
  • blonde sex trailer
  • glow in the dark pussy opener
  • xxx large bikini
  • faith nelson bikini video
  • free videos of amateur housewives
  • black freaky sex vid
  • Ethiopian sex porn
  • identifing toxic black mold pictures
  • best young teen porn
  • branch up pussy
  • girl legs pics
  • starly teen from flowerpanties yourgirlfriend
  • Tila tequila hot ass
  • forced black sex
  • porn collection galleries
  • wet pussy hardcore
  • Sweden sex video
  • old polaroid pics of wife
  • black and white asian border prints
  • pregnant porn amateur pictures
  • threesome sex story
  • hotwife fuck husband watches
  • u tube young sex vids
  • girls anal masterbating
  • fresh dick mature pussy
  • smalest bikini top pics
  • asian floor lamp black
  • shari interracial porn videos
  • virgins haing sex
  • Raz b naked pics
  • ts sex pics
  • small naked teens
  • indian girls fingering
  • young busty puffy nipples
  • Bouncy tits videos
  • exhibitionist wife videos
  • Interracial porn galleries
  • mature latina gallery
  • Petite blonde teens
  • pussy mature video
  • Indian sex college
  • amauter interracial sex photos
  • tila tequilla naked video
  • shemale doing hot girls
  • sexy hot horny mature
  • jennifer liano naked pictures
  • pic of young virgin girls naked
  • perfect babes galleries
  • amateur girl strips nude video
  • screaming japanese anal
  • hardcore sex portal
  • youg girl porn
  • Pink teen pussy videos
  • Nude pics of ashley massaro
  • argitinian fuck movies
  • perfect girls naked
  • floppy tits outdoor sex
  • japanese animated sex
  • the l word video sex
  • sexy big booty shemale
  • haven video porn
  • xxx mature movie thumbs
  • girl in wet bikini
  • Megan fox hot sex
  • free online web cam black porn
  • geisha porn xxx tube
  • toler beauty pagent videos
  • young midget teen pics
  • celeb free sex tapes video
  • fratmen blowjob pics
  • blonde girls drugged
  • latino s anal sex
  • My big tit site
  • t c hawkens black powder nipples
  • pussy sucking tera pat
  • girls best ass
  • sexxy chicks pics
  • picture of giant squid caught japan
  • petite asain holes
  • bubble butt video
  • Big round asses
  • Lesbian young pics
  • women lesbian ass
  • Paris hilton lesbian porn
  • lacco petite rose
  • Namitha ass pics
  • pile me up some pussy pictures
  • lindsey lohan sex tape pics
  • Teen hot bikini
  • Hot girl desktop
  • Sophia rossi nude pics
  • petite teen titties
  • school girl sex vio
  • rare movie and prehistoric and girl
  • fuck your cousin porn
  • pussy porn vids
  • amateur teens masturbating
  • hardcore seex videos
  • amateur milf movies beauties
  • threesome ideas guys and girl
  • daytona girls gallery
  • nude young girld
  • swingers porno videos
  • saw naked girl movie freezing
  • pussy fuck spy cam
  • older lesbian seduces teen girl
  • tubeporn teen lesbian
  • podcast porn videos
  • College girls xxx videos
  • pakistani mature sex videos
  • eating very young wet pussy
  • free amateur teen fuck
  • sexy jungle sex videos
  • sex porn tits
  • asian school girls vidios
  • Hot big breast
  • mature granny xxx aamateurs
  • the best couples adult video ever
  • Pic porn sex
  • Big humongous boobs
  • jerk off black dick
  • teen sex storis
  • amater shared wife videos
  • sexy erotic stories from indian sites
  • very young animated movie
  • video of girle having orgasm
  • big black tits monster
  • free xxx anal videos
  • teen sex slave sting nevada
  • nude teenage girls legal
  • pornstar party fuck
  • free full length feature porn movies
  • naked hentai having sex
  • teens unprotected sex
  • blonde sex jokes
  • Sexy nude emo girls
  • xxx lick cock
  • free movies big webcam tits
  • girls on girls sexy wallpapers
  • girls laughing at dick
  • Hot nude grandmas
  • portugeus pussy streaming vid
  • girls in dresses showing pussy
  • beautiful babes fucked group sex
  • asian teen takes inch girth
  • teen sex videos for girls
  • oral sex only videos
  • shemale xxx angel
  • mature older free gallery
  • sexy bikini brazil vedio
  • sexy girls imagebam galleries
  • black shemale in colorado spring
  • best deep throat blowjob video
  • hrine bell naked movie
  • amature bikini pics
  • non nude erotic pictures
  • big latina pussy lips
  • african little girl sex movie
  • teen flashes her tits from bikini
  • young blonde girls
  • isabelle adjani pussy
  • mature shemale seduce young teen
  • in mum pussy
  • naked girls masterbaiting
  • amature house wives tits
  • unsimulated sex in music videos
  • Big ass nigger
  • suzie porn vids
  • Black magic sex
  • girls who suck black cock gallery
  • emo lesbian ass licking
  • wet toons pussy
  • lakeland amateur pussy
  • suits for petite women wp
  • contemporary asian japanese vietnamese korean poetry
  • youngest girls sex bbs
  • stream teen vids
  • penis in girls butt first time
  • Teen cunt vids
  • girls having sex with a girl
  • shemale ts galleries
  • girls that squirt free videos
  • young teen pussys in the snow
  • amateur galleries movies
  • hair pussy xxx videos
  • hot girls that suck
  • emo lesbian pussy
  • hentai bondage blowjob video
  • teens boys naked
  • wet pussy utube
  • japanise cartoon sex
  • young twink porn video thumbs
  • how teen boy sex porn
  • girl sex milk movie
  • young black boys fucking
  • beyonce pussy hair
  • Sexy girls in latex
  • amateur canadian girls
  • interracial sex with castro
  • big wet butt porn vids
  • sexual performance oral strips free s
  • free black tgirls video
  • xxx erotic storiess free girls
  • hot teen anal xxx video
  • girls one cup free video
  • pics mature mom blowjobs
  • mother teaching son sex videos
  • porn star julie ashton naked
  • mature latin anal
  • teen pussy stories free