xml android club 2015. agenda xml json xml extensible markup language used for: data transfer php...

25
XML Android Club 2015

Upload: rudolph-stevenson

Post on 24-Dec-2015

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML

Android Club 2015

Page 2: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Agenda

• XML• JSON

Page 3: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML

• eXtensible Markup Language• Used for: data transfer• PHP -> Java

Page 4: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML: example

Page 5: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML: example

<?xml version="1.0" encoding="UTF-8" ?><countries> <country> <name>Uzbekistan</name> <capital>Tashkent</capital> <currency>Sum</ currency> </country></countries>

Page 6: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML: practice

• Add following countries:• Russia – Moscow – Ruble• China – Beijing – Yuan• Japan – Tokyo – Yen• US – Washington – US Dollar• Germany – Berlin - Euro

Page 7: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML Parsing (разобрать)

• DOM• JDOM• StAX• JAXB• Lynda.com - XML Integration with Java

Page 8: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Android XML parsers

• DOM• SAX• XmlPullParser

Page 9: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

DOM: example

• DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

• DocumentBuilder builder = factory.newDocumentBuilder();

• Document doc = builder.parse("http://www.w3schools.com/xml/simple.xml");

Page 10: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

DOM: example

• NodeList list = doc.getElementsByTagName("food");

• for (int i = 0; i < list.getLength(); i++) {Element element = (Element) list.item(i);String value =

element.getElementsByTagName("name").item(0).getTextContent();

System.out.println(value);• }

Page 11: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

DOM: practice

• http://joerichard.net/api/ac/countries.xml

• Create DocumentBuilderFactory• Create DocumentBuilder • Create Document -> use before

stated URL• Get node list• Print country names

Page 12: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

DOM: practice (cont)

• http://joerichard.net/api/ac/countries.xml

• Print: [CAPITAL] is capital city of [COUNTRY]

• Example: Tashkent is capital city of Uzbekistan

Page 13: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

DOM: practice 2

• http://joerichard.net/api/ac/books.xml• Create DocumentBuilderFactory• Create DocumentBuilder• Create Document -> use before

stated URL• Get node list• Print book titles

Page 14: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

POJO

• Plain old java object

Page 15: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML - example

<food><name>Belgian Waffles</name>

<price>$5.95</price><description>Two of our famous

Belgian Waffles with plenty of real maple syrup

</description><calories>650</calories>

</food>

Page 16: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

POJO - example

• String name;• String price;• String description;• int calories;

• Getters + setters

Page 17: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

XML parsing: example

• List<Food> foodList = new ArrayList<>();

• Food food = new Food();• food.setName(name);• food.setDescription(description);• food.setPrice(price);• food.setCalories(Integer.parseInt(calories));

• foodList.add(food);

Page 18: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

POJO - practice

• http://joerichard.net/api/ac/countries.xml

• Create list of country POJOs• Print amount of countries using POJO

list

Page 19: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

POJO – practice 2

• http://joerichard.net/api/ac/books.xml• Create list of books POJOs• Print amount of books

Page 20: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

FINAL PRACTICE

• http://joerichard.net/api/ac/students.xml

• Create DocumentBuilderFactory• Create DocumentBuilder• Create Document• Create node list• Using node list parse XML to POJOs

list• Print names: firstname+lastname

Page 21: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Questions?

• Do you have questions?

Page 22: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Review

• Chapter 10: File management

Page 23: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Next lesson

• Tic Tac Toe

Page 24: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Test: June 29th

• Warmup-1 & Warmup-2 10%+10%• String-1 & String-2 10%+10%• Array-1 & Array-2 10%+10%• Logic-1 & Logic-2 10%+10%• Project Euler 1 problem from 1-20

20%• 8*10%+1*20%=100%• Next month will be FREE!

Page 25: XML Android Club 2015. Agenda XML JSON XML eXtensible Markup Language Used for: data transfer PHP -> Java

Thank you

• Thank you for your attention!