private Webcamera saveWebcameraAndCreateNewIfNecessary( Webcamera webcamera, String name, ArrayList<Webcamera> results) { if (name.equalsIgnoreCase(myActivity.getString(R.string.webkamera))) { if (webcamera != null) { webcamera.setLatLng(); results.add(webcamera); } webcamera = new Webcamera(); } return webcamera; }
public ArrayList<Webcamera> readFeed(XmlPullParser parser) throws IOException, XmlPullParserException { ArrayList<Webcamera> results = new ArrayList<>(); Webcamera webcamera = null; parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.webkameraer)); while (parser.next() != XmlPullParser.END_DOCUMENT) { String name = parser.getName(); if (name != null) { webcamera = saveWebcameraAndCreateNewIfNecessary(webcamera, name, results); readAndHandleNextXmlTag(webcamera, parser, name); } } return results; }
private void readAndHandleNextXmlTag(Webcamera webcamera, XmlPullParser parser, String name) throws IOException, XmlPullParserException { if (webcamera != null) { switch (name) { case ("url"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.url)); webcamera.setUrl(readText(parser)); break; case ("stedsnavn"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.stedsnavn)); webcamera.setStedsnavn(readText(parser)); break; case ("veg"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.veg)); webcamera.setVeg(readText(parser)); break; case ("landsdel"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.landsdel)); webcamera.setLandsdel(readText(parser)); break; case ("lengdegrad"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.lengdegrad)); webcamera.setLengdegrad(readText(parser)); break; case ("breddegrad"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.breddegrad)); webcamera.setBreddegrad(readText(parser)); break; case ("info"): parser.require(XmlPullParser.START_TAG, ns, myActivity.getString(R.string.info)); webcamera.setInfo(readText(parser)); break; default: break; } } }