De androïde XML - training

, XML (extensible mark - language.xml is de uitwisseling van gegevens op een zeer populaire vorm en gebruikte.In dit hoofdstuk wordt beschreven hoe de XML - bestand van de nodige informatie in, de androïde voorziet in drie soorten van XML - SAX, dom, maar XmlPullParser,.Die androïde aanbevolen XmlPullParser omdat het effectief is en gemakkelijk te gebruiken.Dus we moeten het gebruik van XML - XmlPullParser, de eerste stap is het bepalen van de gebieden in je geïnteresseerd in XML - formaat.Bijvoorbeeld.De hieronder gegeven is dat we de temperatuur van belang.XML version = "1"?> < de huidige > < de id = "2643743" naam "London" > < coördinatie van de lengte = "0.12574" = "51.50853" land van de belasting over de toegevoegde waarde /> < S > Groot - Brittannië < /S > < Sunrise = "2013-10-08t06:13:56" = "; 2013-10-08t17:21:45" /> < /stad > < temperatuur = "289.54" = "289.15" minuten max = "290.15" eenheden = "Kelvin" /> < vochtigheid = "77" = "eenheden%" > < de druk van de waarde per eenheid = "1025" = "Marco" /> < /S >, XML - elementen, XML - bestand bevat een aantal onderdelen.Hier is de lijst van de definitie van een XML - bestand, de beschrijving van de bestanddelen, sr.nocomponent & beschrijving van 1, Prolog, XML - bestand van een Prolog.Met betrekking tot de informatie in het dossier bevat de eerste regel van een gebeurtenis is, 2, een XML - bestand is in vele gevallen.Kan zo 'n incident.Begin van het dossier, aan het einde van het dossier mark beginnen, de etikettering en de tekst van de tekst, met uitzondering van, 3, etikettering en evenementen, en het XML - bestand bevat ook eenvoudige tekst.Bijvoorbeeld, de nationale staat, is de tekst op etiket. 4, eigenschap is een etiket, zoals de waarde van de eigenschap, enzovoort, extra, XML - analyse, de volgende stap, creëren we XmlPullParser object, maar om te scheppen, zullen wij de eerste creëren als xmlpullparserfactory op, en bel dan het voor de newpullparser () het creëren van XmlPullParser.De syntaxis van het particuliere xmlpullparserfactory &verminderen;, xmlfactoryobject = xmlpullparserfactory. Newinstance (); de particuliere XmlPullParser myparser = xmlfactoryobject. Newpullparser (); de volgende stap die betrekking hebben op de genoemde XmlPullParser, bevat het XML - bestand.Het kan een document, kan ook een stroom.In ons geval is het een stroom, de syntaxis van &verminderen; de,, myparser. Setinput (stroom, nul); en de laatste stap is de XML -.Een XML - documenten, met inbegrip van de gebeurtenissen, de naam, de tekst, zoals die attributesvalue dus XmlPullParser onafhankelijke functie van elk onderdeel van de analyse van het XML - bestand.De syntaxis van het incident, int &verminderen; = myparser. Geteventtype (); en (gebeurtenis.= XmlPullParser. End_document) {string myparser. Getname (); - (gebeurtenissen) (zaak xmlpullparser.start_tag: breekt; de zaak als xmlpullparser.end_tag: (naam. Gelijk aan (temperatuur ") {temperatuur = myparser. Getattributevalue (nul," waarde ");} breken;} gebeurtenissen = myparser Next ();}, Voor de geteventtype. Gebeurtenissen, terug naar het type.Bijvoorbeeld: de start van het document, de etikettering van volledig gekwalificeerde terug begon, en geëtiketteerd met de benaming, want we zijn alleen geïnteresseerd in temperatuur, dus we controleren alleen voorwaardelijke straffen, als we een temperatuur van etikettering, bellen we de methode, getattributevalue, terug naar onze temperatuur etiket, naast de waarde daarvan, zijn er andere manieren. Het is beter om, om het XML - bestand.Deze methoden zijn als volgt: &verminderen;, sr.nomethod & beschrijving van 1, getattributecount (), is deze methode alleen om terug te keren naar de huidige, markeert het begin van een aantal eigenschappen, 2, getattributename (int - index), en deze methode is de index van de waarde van de getcolumnnumber (, 3), aangewezen, de naam van de eigendom van de terugkeer van de huidige lijst van deze methode is het nummer van 0, 4, getdepth (), de methode, terugkeren naar de huidige diepte. 5, getlinenumber (), is de huidige lijn, met ingang van 1, 6, getnamespace (). Deze methode is de huidige elementen, de naam van de ruimte, Uri, 7. Getprefix (), terug naar de huidige methode voor de elementen getname (8), de etikettering van deze methode, en terug, 9, gettext (), die in overeenstemming is met de naam,Voor de specifieke elementen van de tekst terug, 10, iswhitespace (), deze methode te controleren of de huidige tekst bevat slechts een lege gebeurtenissen, zoals de personages.,, er is hier een voorbeeld van het gebruik van XmlPullParser klasse.Het creëren van een fundamentele weer van toepassing, zodat je weer van Google XML - API - en weergave van de resultaten, worden voorbeelden van experimenten, je kunt rennen in de apparatuur of de simulator, je zal stepsdescription androïde studio voor het creëren van een pakket com.example.sairamkrishna.myapplication een androïde.Bij de oprichting van dit project, om ervoor te zorgen dat de doelstellingen die in het SDK je androïde SDK met de laatste versie van een hoger niveau van API.2 src /mainactivity.java documenten toe te voegen aan de noodzakelijke code.3modify res /regeling /activity_main toegevoegd aan de overeenkomstige XML - onderdelen voor het creëren van nieuwe Java - documenten in de "/handlexml.java lezen en analyseren van XML - gegevens 5modify AndroidManifest.xml nog de nodige vergunningen 6run van Internet, de toepassing en de keuze van een androïde apparatuur installeren van toepassingen en de resultaten van de verificatie, hier is De belangrijkste activiteiten van de documenten na wijziging van de inhoud, de Java -,.Com.example.sairamkrishna.myapplication, pakket; de invoer van android.content.context; de invoer van android.content.intent; de invoer van android.content.sharedpreferences; de invoer van android.graphics.typeface; de invoer van android.support.v7.app.actionbaractivity; de invoer van android.os.bundle; de invoer van android.view.menu; de invoer van android.view.menuitem; de invoer van android.view.view; de invoer van android.widget.button; de invoer van android.widget.edittext; de invoer van android.widget.textview; De invoer van android.widget.toast; com.example.sairamkrishna.myapplication de belangrijke uitbreiding van de activiteiten EditText actionbaractivity (1, 2, 3, 4, (; particuliere string url1 = "http://api.openweathermap.org/data/2.5/weather?Q = "; de privé - string url2 =" & - = XML "; de particuliere handlexml dst; knop B1; beschermde nietig oncreate (pakket savedinstancestate {-). OnCreate (savedinstancestate); setContentView (r.layout. Activity_main); b = (knop) findViewById (r.id.button); 1 = (uitgever) findViewById (r.id.edittext); 2 = (uitgever) findViewById (r.id.edittext2); 3 = (uitgever) findViewById (r.id.edittext3); 4 = (uitgever) findViewById (r.id.edittext4); (= (uitgever) findViewById (r.id.edittext5); b. Setonclicklistener (nieuwe horizon. Onclicklistener () {- de leegte onclick (overzicht) {string URL 's = 1 (). Gettext. Tostring (); reeks finalurl = url1 +.+ url2; 2. SetText (finalurl); dst = nieuwe handlexml (finalurl); dst. Fetchxml (); en (doelst. 1) parsingcomplete); 2. SetText (doelst. 1) getcountry ()); 3. SetText (doelst. 1) gettemperature ()); 4. SetText (doelst. 1) gethumidity ()); (. SetText (doelst. 1) getpressure ());}}}); - de Boolcaanse onCreateOptionsMenu (menu) {///////uitbreiding van de menu 's; het zal een punt toevoegen aan de actie BAR als echt bestaat.Getmenuinflater (). De uitbreiding (r.menu.menu_main, menu 's); terug waar;} - de Boolcaanse onOptionsItemSelected (menu' s) {///////de actie BAR hier.Actie BAR /automatische verwerking van thuis /knop klikken, zo lang je ouders in de AndroidManifest.xml /aangewezen activiteiten.Int id = projecten. Getitemid (); ///////noinspection simplifiableifstatement als (id = = = = = = = r.id.action_settings) {} terug terug waar. Super. OnOptionsItemSelected (post);}}, is de inhoud van de src /Com. Voorbeelden van. Xmlparser /handlexml Java, zak. Com.example.sairamkrishna.myapplication; de invoer van org.xmlpull.v1.xmlpullparser; de invoer van org.xmlpull.v1.xmlpullparserfactory; de invoer van java.io.inputstream; de invoer van java.net.httpurlconnection; de invoer van java.net.url; /* * * * * * * sairamkrishna tot 4 /11 /2015.* * * * * * * /open handlexml (privé - string "=" provincie "; de privé - string temperatuur = temperatuur"; de privé - string vochtigheid = vochtigheid; particuliere string druk = "druk"; de privé - string urlstring = nul; de particuliere xmlpullparserfactory xmlfactoryobject; vluchtige booleaanse parsingcomplete = echt publiek; de handlexml ((URL) {this.urlstring = URL 's. Getcountry () {}); de terugbetaling van het land; de string gettemperature () {}) de temperatuur van het water; - gethumidity () {terug. Terug naar de string;} {getpressure () druk;} de leegte parsexmlandstoreit (XmlPullParser myparser) {int gebeurtenissen;Letterlijk = nul; proberen {gebeurtenissen = myparser. Geteventtype (); en (gebeurtenis.= XmlPullParser. End_document) {string myparser. Getname (); - (gebeurtenissen) (zaak xmlpullparser.start_tag: breekt; de zaak xmlpullparser.text: tekst = myparser. Gettext (); de schuld; voorbeeld: als xmlpullparser.end_tag (naam. Gelijk aan ("nationale") (land = tekst;} anders als (gelijk aan ("natte" naam.)) {vochtigheid = myparser. Getattributevalue (nul, "waarde");} anders als (naam. Gelijk aan ("druk")) {druk = myparser. Getattributevalue (nul, "waarde");}Als (naam. Gelijk aan (temperatuur ") {temperatuur = myparser. Getattributevalue (nul," waarde "} {}); het andere geval = myparser;}. Next ();} parsingcomplete = valse;} vangst (abnormale) {}} de leegte printstacktrace (e); fetchxml () {de Draad = nieuwe draad (nieuwe runnable () {- de leegte run () {proberen (URL 's = nieuwe URL (urlstring); je, conn, = (u) URL' s. Openconnection (); conn.setreadtimeout (10000 /* * * * * * * milliseconDs * /); conn.setconnecttimeout (15 000 MW /* * * * * * * * * * * * * * /); conn.setrequestmethod (""); conn.setdoinput (echt); Connecticut verbinden (Port); - = Connecticut getinputstream (); xmlfactoryobject = xmlpullparserfactory. Newinstance (); XmlPullParser myparser = xmlfactoryobject. Newpullparser (); myparser. Setfeature (xmlpullparser.feature_process_namespaces, valse); myparser setinput (stroom. Lege); parsexmlandstoreit (myparser); (); de vangst (-), onder e) (zoals printstacktrace (});{});}}, draad. Start (); de volgende is van XML - wijzigingen van de inhoud van res/layout/activity_main. XML, < xmlns:Android = "(schema http://schemas.android.com/apk/res/android 'xmlns: instrumenten =" http://schemas.android.com/tools "Android: layout_width =" match_parent "Android:layout_height =" match_parent "- paddingleft =" @ dimensie /activity_horizontal_margin "Android:paddingright =" @ dimensie /activity_horizontal_margin "Android:paddingtop =" @ dimensie /activity_vertical_margin "Android:paddingbottom =" @ dimensie /activity_vertical_margin "instrumenten: context =" mainstream "> < structuur Android:layout_width =" wrap_content "Android:layout_height =" wrap_content "..." ": de tekst = XML - id =" + ID/": layout_alignparenttop androïde structuur =" waar "- layout_centerhorizontal =" waar "de androïde: de omvang van de tekst:" 30dp "/> < structuur Android:layout_width =" wrap_content "Android:layout_height =" wrap_content "=" Training ": de tekst..." "Android:ID = + ID /textview2"... "Layout_below =" + ID /structuur "Android:layout_centerhorizontal =" waar "de androïde: de omvang van de tekst =" 35dp "androïde: tekst kleur ="&#ff16ff01 "/> < Edit - layout_width =" wrap_content "Android:layout_height =" "" "wrap_content Android:ID = + ID /bewerken": Het standpunt van de androïde = "" de androïde: layout_below = "+ ID /textview2" Android:layout_alignparentleft = "waar" de androïde: Los Angeles.Yout_alignparentstart = "waar" - layout_margintop = "61dp" Android:layout_alignparentright = "waar" - layout_alignparentend = "waar" /> < knopen Android:layout_width = "wrap_content" Android:layout_height = "wrap_content" androïde: tekst = "weer" Android:ID = "+ ID /knop" Android:layout_below = "+ identiteitskaart /montage" - layout_centerhorizontal = "waar" /> < Edit - layout_width = "wrap_content" Android:layout_height = "" "" wrap_content Android:ID = + ID /edittext2 "Android:layout_below =" + ID /knop "- layout_alignparentleft =" waar "- layout_alignparentstart =" waar "- layout_alignright =" + ID /bewerken "- layout_alignend = "+ ID /montage" - teksten = "munt" /> < Edit - layout_width = "wrap_content" Android:layout_height = "" "" wrap_content Android:ID = + ID /edittext3 "Android:layout_below =" + ID /edittext2 "- layout_alignparentleft =" waar "- layout_alignparentstart =" waar "- layout_alignparentright =" waar "- layout_alignparentend =" waar "de androïde: tekst = temperatuur" /> < Edit - layout_width = "wrap_content" Android:layout_height = "" "" wrap_content Android:ID = + ID /edittext4 "Android:layout_below =" + ID /edittext3 "Android:layout_alignparentleft =" waar "- layout_alignparentstart =" waar "- layout_alignright = "+ ID /edittext3" Android:layout_alignend = "+ ID /edittext3 androïde: de tekst" = "natte" /> < Edit - layout_width = "wrap_content" Android:layout_height = "" "" wrap_content Android:ID = + ID /edittext5 "- layout_below =" + ID /edittext4 "Android:layout_alignparentleft =" waar "- layout_alignparentstart =" waar "- layout_alignparentright =" waar "- layout_alignparentend =" waar "de androïde: tekst = druk /> < /(schema >, hier is wat inhoud, XML - documenten, <?De XML - = "1" codering = "utf - 8"?> < de xmlns:Android = "http://schemas.android.com/apk/res/android pakket =" COM. Voorbeelden van. Sairamkrishna. MyApplication "> < toestemming voor het gebruik van de naam" de androïde = androïde. Rijbewijs. Het internet "> < toepassing van de androïde: allowbackup =" waar "de androïde icoon =" @ MIP /ic_launcher "label =..." @ string /app_name "androïde: thema 's =" @ stijl /apptheme "> < activiteiten: naam van de androïde =" ". De androïde: etikettering =" @ string /app_name "> < bedoeling filter > < - actie =" androïde. Bedoeling. Actie. "> < categorie: naam:" robot. Bedoeling. Categorie. De zender /> < /bedoelingen filters > < /activiteiten >< /toepassing > < /lijst van >, laten we ons gewoon de toepassing van onze amendementen.Ik veronderstel dat je creëerde je een tegelijk doen, en, het milieu.Voor de toepassing van de androïde studio, open je het dossier van de activiteiten van het project, en klik, icoon van de werkbalk.De androïde studio installatie van toepassing op je systeem beginnen, als alles goed met je is en de toepassing van het programma, het raam en de vermindering van de simulator zal vertonen de volgende;,,, wat je nu moet doen is in de positie van een positie in het veld.Zoals ik al in India.Op de knop "weer", als je in positie.De volgende scherm verschijnen op je en en verminderen; de,, nu je weer "knop in, de aanvraag van Google - en verzoek u het XML - bestand en zal de analyse nodig.Als de volgende documenten zal terugkeren naar Londen en verminderen; op deze temperatuur is,,, in Kelvin, dus als je wil omzetten in een begrijpelijke vorm, je moet omzetten in graden Celsius.,,

Eclipse Run Icon
Anroid XML Parser Tutorial
Anroid XML Parser Tutorial
Anroid XMLParser Tutorial



Previous:
Next Page: