Het creëren van een androïde

YouTube cliënt, het creëren van een cliënt op YouTube...,,,,,,,,,, 45, onderdeel 4,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,,,,,, je creëert, maar ook in de Google spelen veel populaire derde video cliënt, zoals een virus opduiken en   playtube, trachten te geven op een aantal bijzondere aanvullende functies, de officiële YouTube aanvragen niet, als u een dergelijke aanvraag deze training is je eigen,.,, in deze handleiding, we creëren onze eigen YouTube cliënt, kan niet alleen naar een video op YouTube, maar spelen ook een van hen.Dat doen, zullen wij leren om YouTube - speler van API - en YouTube API - gegevens cliënt bibliotheek Java.,,, op voorwaarde, om ervoor te zorgen dat je de laatste eclips ADT bundel is geregeld.Je kunt downloaden in de androïde website. En je moet er ook een sleutel van het gebruik van API - ontwikkelaars van YouTube.In overeenstemming met de ontwikkeling van Google op YouTube   stappen om de.,, 1.Het creëren van een nieuw project, vuur, erosie en het creëren van een nieuwe robot van toepassing.De toepassing van de naam, SimplePlayer,.De keuze van een unieke naam van het pakket, en de vaststelling van minimumvoorschriften  , SDK, androïde 2.2,   en, met het doel de androïde SDK, 4. X (L preview),.,,,,, moeten we zorgen voor onze eigen activiteiten, dus de afschaffing van,, het scheppen van activiteiten,   klik.,,,,,, 2.Stap 1: toevoeging van de bibliotheek, het downloaden van een bibliotheek, moet u de volgende bibliotheek van het project:,,, YouTube speler API,   deze bibliotheek uw aanvraag te verankeren en controle op YouTube video 's van naadloze.In de tijd van de bibliotheek schrijven, is in de laatste versie van 1.0.0,.Je kan het downloaden van de website van het Google - ontwikkelaars.,, YouTube API - gegevens V3 cliënt de bibliotheek,   Java: laat je aanvraag informatie, op YouTube.We moeten het gebruiken om ons te zoeken naar de toepassing van de video op YouTube.Dit kan ook op Google website.,,,   Picasso: deze gegevensbank kan gemakkelijk te verkrijgen, en een beeld.We moeten het voor het verkrijgen van een postzegel voor de video.De meest recente versie is op dit moment   2.4.0, kun je rechtstreeks van het pakhuis, Maven downloaden. Stap 2: toevoeging van bibliotheken, het toevoegen van YouTube speler API, uitpakken, youtubeandroidplayerapi-1.0.0.zip, reproductie van documenten, youtubeandroidplayerapi.jar,, Lips, uw project MAP, toevoeging van YouTube. API - gegevens en de afhankelijkheid van de Bibliotheek   V3, uitpakken, google-api-services-youtube-v3-rev124-java-1.19.0.zip, en een kopie van de volgende documenten aan je project MAP, Lips,:,,,,, google-api-client-1.19.0 google-api-services-youtube-v3-rev124-1.19.0. Tank. Tank,,,,, google-http-client-1.19.0 google-oauth-client-1.19.0 blikken, potten,.,,,,, jsr305-1.3.9 blikken, potten. Google-http-client-jackson2-1.19.0.,,,,, google-api-client-android-1.19 Pot, jackson-core-2.1.3.0. De pot,,,,, google-http-client-android-1.19.0. Pot, en tot slot nog Picasso, kopiëren, picasso-2.4.0.jar, tot je het project MAP, Lips,.,,, 3.De lijst van de uitgever, laat ons alleen van toepassing is, moet   androïde machtigingen, Internet,   YouTube. Toegang tot de server.   wordt het volgende toegevoegd  , AndroidManifest. XML -:,, < de toestemming voor het gebruik van de naam "de androïde = androïde. Rijbewijs. Het internet /> we hebben twee aanvragen. Een actieve, op zoek naar een video en een dozijn van ze.Om te voorkomen dat in deze handleiding met veranderingen in de richting van de kracht van de activiteiten, we gebruiken alleen het landschap, het patroon.Verklaring van de in de lijst van activiteiten door toevoeging van de volgende code:,, < activiteiten: naam van de androïde = ". Searchactivity" Android:screenorientation = "landschap" > < bedoeling filter > < actie androïde: naam: "de androïde. Bedoeling. Actie. De belangrijkste" /> < categorie: naam: "robot. Bedoeling. Categorie. De zender /> < /bedoelingen filters > < /activiteiten > < activiteiten: naam van de androïde =". Playeractivity "Android:screenorientation =" landschap "/>,, 4.Het touw, redacteur. XML - res /waarde /XML - documenten bevatten, string.   van onze programma 's de touwtjes in handen.Zoals hieronder aangegeven:,, de aanpassing van de inhoud van < middelen > < - naam = "app_name" > SimplePlayer < /serie > < - naam = "naar" > zoeken < /serie > < De string "falen" > niet starten. YouTube speler < /serie > < /resource >,, 5.Het creëren van een indeling  , searchactivity,,, stap 1: het creëren van een indeling,,, searchactivity,   moeten de volgende punten:,,,, de redactie, de gebruikers in staat te stellen zoeken naar type: M:,, blijkt dat de resultaten, de hiërarchie, dit standpunt is deze mening: de vader van mening, het creëren van een nieuw document, genaamd indeling /activity_search. XML,   en de toevoeging van de volgende code:,, <?De XML - = "1" codering = "utf - 8"?> < hiërarchie xmlns:Android = "http://schemas.android.com/apk/res/android" Android:layout_width = "match_parent" Android:layout_height = "match_parent" androïde: - = "verticale" > < Edit - layout_width = "match_parent" Android:layout_height = "wrap_content" impliceert dat de androïde: = "@ string /zoeken" - id = "identiteit". Search_input ": een androïde vergunning /=" waar "/> < m =" Android:ID "+ ID /videos_found" Android:layout_width = "match_parent" Android:layout_height = "match_parent" Android:dividerheight = "5DP" /> < /hiërarchie > stap 2: indeling, en de Resultaten van elk van  , de resultaten van de"Video op YouTube, we moeten een indeling naar een video van informatie.Dus, elke, m, die bestaat uit de volgende standpunten:,,,   ImageView,: een video postzegel, structuur, dat de titel van de video:,, de beschrijving van de structuur, de: een video (schema: dit is een andere mening van de moedermaatschappij, en het creëren van een indeling van De naam, /video_item. XML,   en de toevoeging van de volgende code:,, <?De XML - = "1" codering = "utf - 8"?> < xmlns:Android = "(schema http://schemas.android.com/apk/res/android" Android:layout_width = "match_parent" Android:layout_height = "match_parent" gevuld "16dp = androïde:" > < ImageView Android:ID = "+ ID /video_thumbnail" Android:layout_width = "128dp" Android:layout_height = "128dp" Android:layout_alignparentleft = "waar" - layout_alignparenttop = "." de androïde: layout_marginright = "20dp" /> < Android:ID = "structuur" + identiteitskaart /video_title "Android:layout_width =" wrap_content "Android:layout_height =" "" "wrap_content Android:layout_torightof = + ID /video_thumbnail" Android:layout_alignparenttop = "waar"- layout_margintop = "5DP androïde: de omvang van de tekst" = "25sp androïde stijl" = "vet" /> < Android:ID = "structuur" + ID /video_description "Android:layout_width =" wrap_content "Android:layout_height =" "" "wrap_content Android:layout_torightof = + ID /video_thumbnail" androïde layout_below = "+ ID /video_title androïde: de omvang van de tekst" = "15sp" /> < /(schema >,, 6.Het creëren van een indeling  , playeractivity, stap 1: het creëren van een indeling,,,, playeractivity, moet de volgende standpunten van de  :,,,, youtubeplayerview YouTube video,:,, hiërarchie, dit standpunt is:  , youtubeplayerview vader gezien,,, het creëren van een nieuw document, lay - out /activity_player.   XML, en dan ook nog de volgende code:,, het <?De XML - = "1" codering = "utf - 8"?> < hiërarchie xmlns:Android = "http://schemas.android.com/apk/res/android" Android:layout_width = "match_parent" Android:layout_height = "match_parent" androïde: - = "verticale" > < com.google.android.youtube.player.youtubeplayerview Android:ID = "+ ID /player_view" Android:layout_width = "match_parent" Android:layout_height = "wrap_content" /> < /hiërarchie >, 7.Videoitem creëren,,, het creëren van nieuwe Java genoemd, videoitem. Java,.We gebruiken dit soort winkel een YouTube video op YouTube, de volgende informatie:  , id, de titel, de beschrijving, de postzegel link,,, boven zijn opgeslagen...Na de toetreding van de videoitem.java ze ambitieus en setter, documenten moeten de volgende inhoud:,, pakket com.hathi.simpleplayer; de cursus videoitem (privé - string string titel; beschrijving van thumbnailurl touw, touw, touw id; de getid () {terug te keren naar de id;} de leegte setid (string id) {} {terug this.id = id; het touw gettitle () titel;} de leegte settitle (string - naam) {this.title = titel;} {string getdescription () beschrijving;} de leegte setdescription (string beschrijving) {this.description = beschrijving;} string thumbnailurl getthumbnailurl () {} de leegte.Setthumbnailurl (lijst van de postzegel) {}}, this.thumbnailurl = postzegel; 8.Het creëren van een helper, om te voorkomen dat de verwerking van API - gegevens rechtstreeks op YouTube ons, de activiteiten, het creëren van een nieuwe klasse van de Java -, het is de naam van de youtubeconnector. Java.   van deze variabelen:,, de   YouTube, een voorbeeld voor   klasse   voor API - en YouTube communicatie, YouTube, lijst van voorbeelden van  . Zoeken, zoeken naar een   vertegenwoordiger, YouTube -   sleutel als een statische, serie,,,, we zullen deze variabelen van de fabrikant.   - de aanleg van YouTube,,,, youtube.builder, heeft gebruikt.Het zal verantwoordelijk zijn voor de verbinding met en hola doorgegeven aan de bouwers, zodra de initialisatie.,, zoeken, is gebruikt voor het creëren van een zoekopdracht.In de resultaten, en wij hopen dat in de resultaten van gedetailleerde informatie.In deze handleiding, moeten we een id, en paragraaf, elk van de resultaten.Uit deze, halen we de volgende gebieden:,,, id /-,,,,, de afdeling /titel /beschrijving van,,,, /me /default /.,,,, ontwikkelaars van API - sleutel moet elk verzoek   zoeken.Setkey, methoden, zijn voor deze doelstelling.We kunnen ook worden gebruikt voor apparatuur, beperking van de resultaten, de video, maar op dit moment.  , klas moeten gaan:,, pakket com.hathi.simpleplayer; de cursus youtubeconnector {particuliere YouTube; particuliere youtube.search.list vraag; /je dat gericht is op de ontwikkeling van een statische laatste touwtje hier sleutels = "aizasqzzqwqqwmgzik9h_qrxz8g-v6edl3qw_us"; de Openbare youtubeconnector (de context) {YouTube = nieuwe YouTube. Generator (nieuwe nethttptransport () (), de nieuwe jacksonfactory, nieuwe httprequestinitializer () {@ de leegte gestart (httprequest HR) een ioexception {}}). Setapplicationname (inhoud (R.string. "Ja". App_name)). () {vraag te bouwen; = youtube.seBoog (). De lijst ("id"); de vraag. Setkey (vooral); vraag. Apparatuur ('"); de vraag. Setfields (" project (nr /video /fragment, de titel, de beschrijving, punt /me /default /.) "); de vangst (ioexception e) {} logboek. D (" je "en" niet -: "+ E);}}}, is de volgende stap, creëren we een methode te zoeken op basis van de uitvoering van de gebruikers,   trefwoord zoeken.Deze methode heeft het sleutelwoord, touw, parameters.Vraag de variabele, setq, methoden, worden gebruikt om de sleutelwoorden, en we vragen   werking van gebruik en de wijze van uitvoering.Het resultaat is een voorbeeld, searchlistresponse,   vorm terug.   we gebruikmaken van de resultaten van het project en het creëren van een nieuwe lijst, videoitem, voorwerp en de waarde van deze methode.Na toetreding tot de passende behandeling fout, zoeken,   methode eruit moet zien:,, openbare lijst < videoitem > zoeken (reeks trefwoorden) {vraag. Setq (trefwoorden); proberen {searchlistresponse reactie = vraag. Door het (); de lijst < searchresult > de resultaten van getitems () = reactie.; tabel < videoitem > project = nieuwe arraylist < videoitem > (); (searchresult resultaten: de resultaten van het project) {videoitem = nieuwe videoitem (); de projecten. Settitle (resultaten. Getsnippet () (). Gettitle); project. Setdescription (resultaten. Getsnippet getdescription (().)); de resultaten van de projecten. Setthumbnailurl. Getsnippet () (). Getthumbnails. Getdefault () (). Geturl); project. Setid (resultaten. Getid () (). Getvideoid); toevoeging van projecten. ();} terug halen (ioexception projecten; e) {}LOGBOEK. D ("jij", "niet naar:" + E); terug van nul;}}, 9.Het creëren van searchactivity,,, het creëren van een nieuwe klasse van nomenclatuur, searchactivity. Java,.Dit soort gebieden genoemd, namens ons, activity_search XML - oog.Het heeft ook een procedure in   draad, interfaces worden bijgewerkt, in onCreate,.,,, we starten van mening en de toevoeging van oneditoractionlistener, dat, EditText,   weet dat als de gebruiker is het sleutelwoord, uitbreiding van de cursussen, searchactivity activiteiten (particuliere EditText searchinput; particuliere m videosfound particuliere behandeling; procedure voor De behandeling van; - de beschermde nietig oncreate (pakket savedinstancestate {-). OnCreate (savedinstancestate); setContentView (r.layout. Activity_search); searchinput = (uitgever) findViewById (r.id.search_input); videosfound = (m) findViewById (r.id.videos_found); behandeling van = nieuwe begeleider (); searchinput. Setoneditoractionlistener (nieuwe methoden. ONeditoractionlistener () {@ Boolcaanse oneditoraction (actionid keyEvent structuur v, int, evenementen) {als (actionid = = = = = = = editorinfo. Ime_action_done) {searchonyoutube (V. Gettext () (). Tostring); terugkeer valse;} terug waar;}});}}, moet je zijn opgevallen Dat de telefoon, searchonyoutube en de methode.Laten we nu de methode omschreven.Op deze manier, creëren we een nieuwe te starten, draad, youtubeconnector, voorbeelden en het, zoeken.Een nieuwe draad nodig is, omdat de exploitatie van het netwerk niet in de uitvoering van   gebruikersinterface draad.Als je vergeet dat dit een beetje, je wordt geconfronteerd met een looptijd van de uitzondering.Zodra de resultaten beschikbaar is, de procedure voor het bijwerken van de gebruikersinterface,.,, privé - lijst < videoitem > van de resultaten; particuliere nietig searchonyoutube (lijst van trefwoorden) {nieuwe draad () {de leegte run () {youtubeconnector DM = nieuwe youtubeconnector (searchactivity. Dit); de Resultaten van de zoektocht (= DM na de behandeling. Wachtwoord); (nieuwe runnable () {de leegte run () {}); updatevideosfound (});}}. Start ();}, in updatevideosfound, methoden, hebben wij een   ArrayAdapter, en zal het doorgeven aan de, m, de resultaten weergegeven.In de getview, flaconadapter methode, en we zullen video_item.xml, de indeling en de actualisering van de standpunten van de resultaten blijkt dat de informatie van de bibliotheek, Picasso.,, de belasting, de methode voor het verkrijgen van video 's en, als een postzegel, methode is gebruikt voor de overdracht van het ImageView,,.,, particuliere nietig updatevideosfound () {ArrayAdapter < videoitem * de nieuwe ArrayAdapter; adapter = < videoitem > (getapplicationcontext (), r.layout.video_item, resultaten) {- getview (int de ogen van het publiek, de positie van de moeder van de convertview, oog - groep) {als (convertview = = = = = = = = = = = = = nul) (convertview getlayoutinflater () uitbreiding (. R.layout.video_item, moeder, valse);} me foto' s = (convertview findViewById (r.id.video_thumbn ImageView).Ail); structuur convertview titel = (structuur). FindViewById (r.id.video_title); structuur = (convertview structuur). FindViewById (r.id.video_description); videoitem searchresult = zoekresultaten. (plaats); van Picasso, (getapplicationcontext ()). - (de searchresult. Getthumbnailurl ()). In de titel wordt ((postzegel); searchresult. Gettitle ()); de beschrijving. SetText (searchresult terug. Getdescription ()); convertview;}}; videosfound. Setadapter (adapter);}, en, tot slot, we hebben een methode voor de vaststelling van de   m, onitemclicklistener,,, zodat de gebruiker kan op zoek naar resultaten en om de bijbehorende video.We noemen deze methode, addclicklistener,   en noemen het onCreate methoden, en, tot slot, als de posten in de lijst, is het afluisteren, creëren we een nieuwe, de bedoeling van playeractivity, en   video, de Europass.Zodra de, met de bedoeling is geschapen, is voor de lancering van startActivity, de methode, de playeractivity,.,, particuliere nietig addclicklistener () {videosfound. Setonitemclicklistener (nieuwe adapterview. Onitemclicklistener () {- de leegte onitemclick (adapterview <?> AV, oog V, int de producentenorganisaties, generaal id) {bedoeling = nieuwe opzet (getapplicationcontext (), playeractivity.); de bedoeling. PutExtra ("video_id", de resultaten, de (-). Getid ()); startActivity (bedoeling);}});}, 10.Playeractivity creëren,,, het creëren van nieuwe Java genoemd, playeractivity. Java,   geërfd van  , youtubebaseactivity,.Dit is heel belangrijk, want alleen, youtubebaseactivity subklasse, gebruik kunnen maken van de youtubeplayerview,,.,, een lid van deze variabelen, youtubeplayerview, we activity_player.xml genoemd, de indeling in, doc.Dit is in onCreate starten, door een beroep te doen op de   - methode, de methode, de youtubeplayerview,  ,   na   API - ontwikkeling van   sleutel. En de rest van ons nodig heeft, dat weet oninitializedlistener interface, gestart.De interface is twee methoden, nomenclatuur, oninitializationfailure oninitializationsuccess,,,.,, als het lukt, CueVideo. De methode wordt gebruikt om aan te tonen dat YouTube video.In het geval van een storing, een toast, blijkt dat de gebruiker niet vertellen. En, wat is dit, playeractivity, eruit moet zien: de uitbreiding, playeractivity, les youtubebaseactivity dat oninitializedlistener (particuliere youtubeplayerview playerview; - de beschermde nietig onCreate (;) {super oncreate (pakket).; setContentView (r.layout. Activity_player); playerview = (youtubeplayerview) findViewById (r.id.player_view); playerview. - (youtubeconnector.key, dit);} - de leegte oninitializationfailure (leveranciers van leveranciers, youtubeinitializationresult resultaten) {geroosterd brood. Maketext (het "ja" (R.string. Niet), gebakken. Length_long).Hoe ();} - de leegte oninitializationsuccess (leveranciers van leveranciers, youtubeplayer spelers, booleaanse hervat) {als.Hervat) {speler. CueVideo (getintent (). Getstringextra ("video_id");}}}, 11.De opstelling en de,, we YouTube cliënt nu kunnen worden ingezet om de androide.Bijna alle populaire androïde apparatuur is geïnstalleerd, maar om ervoor te zorgen dat de installatie van apparatuur op YouTube van toepassing op de datum van de aanvraag, omdat we afhankelijk zijn van het,, zodra de inzet. Je kan in een vraag naar de YouTube video, en daarna op een overeenkomstige resultaten begint te spelen video.,,,,, conclusie, en nu weet je hoe je die YouTube video 's in de androïde.Je hebt geleerd hoe het gebruik van API - cliënt bibliotheek en Google en YouTube.De androïde speler voor de toepassing van de procedure van controle van de verschillende methoden om de video afspelen, en je ze gebruikt kunnen worden voor het creëren van een zeer innovatieve toepassingen.Referentie volledige handleiding, om meer te weten te komen over.

Final product image





Previous:
Next Page: