Det står selvsagt at mange bruker mobile enheter til å koble seg til sosiale medier. I denne serien av opplæringsprogrammer vil vi opprette en grunnleggende Twitter-klient for Android-plattformen. Vi vil bruke Twitter4J biblioteket for å koble til Twitter. Appen vil vise brukerens hjemme tidslinje, sende tweets, retweet, og svare på tweets.
Her er en forhåndsvisning av sluttresultatet:
Før vi begynner å bygge appen, la oss ta et øyeblikk å gå over det vi prøver å oppnå og hvordan vi skal gjøre det! Appen vil innebære en rekke teknikker og Java / Android-verktøy, inkludert en SQLite-database, en tjeneste, en kringkasting mottaker, en adapter og Twitter4J-metoden selv.
Når brukeren kjører programmet for første gang, vil de bli bedt om å spørre dem om å logge inn på Twitter for å autorisere appen til å bruke sin konto. På dette tidspunktet vil de bli omdirigert til en side i nettleseren, der Twitter vil håndtere at de blir logget på og autoriserer appen for tilgang. Brukeren blir da omdirigert tilbake til appen, med Twitter returnerer autorisasjonsinformasjonen som kreves for å implementere de ulike tweeting- og tidslinjefunksjonene.
Når brukeren har gitt appen tillatelse til å bruke sin konto, og på etterfølgende app kjører etter det, er den første tingen de vil se, deres Twitter-tidslinje for Twitter (som i bildet ovenfor). Hjemmenyen viser i utgangspunktet de siste tweets, med nyere tweets lagt til ettersom tiden går. Mens brukeren samhandler med appen, vil en tjeneste periodisk hente nye tweets og koden vil oppdatere tidslinjevisningen tilsvarende.
Innenfor hver tweet på tidslinjen, vil brukeren kunne se Twitter brukernavn for kontoen i spørsmålet, tidspunktet for tweet ble sendt i forhold til nå, den tweeted-teksten og brukerprofilikonikonet. Hvis det er noen nettadresser i tweetteksten, behandler appen disse automatisk som webkoblinger, slik at brukeren kan klikke på dem for å få tilgang til de koblede ressursene. Brukeren vil også kunne retweetes og svare på hver tweet på tidslinjen.
For å sende en tweet, vil brukeren trykke på Tweet-knappen øverst på skjermen, som tar dem til skjermbildet Tweet Activity. Her kan de komme inn og sende sine tweet. Hvis brukeren velger å svare på en tweet på tidslinjen, blir de også tatt til Tweet-skjermen, med brukernavnet automatisk befolket i tweet-tekstfeltet og den underliggende koden lagrer informasjonen som kreves for å svare på et bestemt tweet.
Denne appen har et veldig spesifikt oppdrag, men når du er ferdig med å utvikle det, kan du selvfølgelig ønske å forbedre det. På slutten av den siste opplæringen i serien vil vi løpe gjennom noen forslag til videreutvikling, for eksempel en aktivitet for visning av Twitter brukerprofiler. Appen som vi vil utvikle den her, vil tillate brukeren å klikke gjennom til profilen til en Twitter-bruker i nettleseren ved å velge brukernavn innenfor tidslinjen, koble til Twitter-nettstedet for å gi brukeren tilgang til funksjoner vi ikke har oppgitt i selve appen.
Twitter klient-appen skal ha to hovedaktiviteter: en for tidslinjen og en for tweeting. Når appen starter, vil den opprette en SQLite-database for å lagre hjemmelinjets tweets, med en adapter som kartlegger databaserammerne i visningsgrensesnittet. Appen vil også starte en tjeneste som skal kjøre mens brukeren samhandler med den, oppdaterer tidslinjen med nye tweets når de er tilgjengelige. For å gjøre dette, vil appen sende og motta sendinger når nye oppdateringer er hentet, slik at den kan oppdatere de synlige tweets.
Søknaden vil bare inneholde noen få klasser, men disse klassene er relativt komplekse. Vi må også importere Twitter4J-biblioteket, opprette og referere til ulike ressursfiler og redigere prosjektet Manifest. Hvis dette virker som mye å fortsette med, ikke bekymre deg! Vi vil jobbe gjennom og forklare hvert trinn i detalj. La oss bli satt opp.
Gå til Twitter Developers-siden og logg inn med dine egne Twitter-innloggingsdetaljer for å registrere appen din. Opprett en ny app i grensesnittet du ser der. Skriv inn et navn for appen din. For denne opplæringsserien blir appen TwitNice, men du må velge ditt eget navn. Skriv inn en beskrivelse og en nettadresse, som ganske enkelt kan være din egen hjemmeside. Du kan skrive inn samme adresse (eller egentlig en hvilken som helst adresse du eier) som tilbakekallingsadressen; Vi trenger ikke det for appen, men du må skrive inn noe for å fullføre registreringen.
Når du har opprettet appen din i Twitter Developer-grensesnittet, bør du kunne se detaljene. Bla til fanen Innstillinger for appen og bla ned til delen Programtype. Velg enten Les og skriv eller Les, skriv og få tilgang til direkte meldinger. For denne serien får vi ikke tilgang til direkte meldinger, men det kan hende du ønsker å utvide appen din til å gjøre dette i fremtiden. Du kan når som helst endre disse innstillingene. Klikk på knappen nederst på siden for å oppdatere programinnstillingene dine.
Velg fanen Detaljer for Twitter-applikasjonen din. Dette området inneholder detaljer du må legge merke til. I OAuth-innstillingsseksjonen kopierer du verdiene for forbrukernøkkel og forbrukerhemme til en fil på datamaskinen for fremtidig referanse. Disse bør begge holdes private. Vi vil bruke OAuth-nøkkelen og hemmeligheten i søknadskoden for å utføre Twitter-funksjoner.
Disse innstillingene er for å verifisere utviklerens tilgang til dette programmet. Senere må vi også implementere verifisering av brukeren og få tillatelse til å samhandle med sine tweets.
Tid til å lage ditt prosjekt. I Eclipse velger du File, New, Project, og deretter Android Project. Skriv inn prosjektnavnet ditt, velg Neste og velg API nivå 8 for å forsikre deg om at koden i denne opplæringsserien ikke vil forårsake noen problemer. Klikk Neste og skriv inn pakkenavnet ditt, og deretter Fullfør for å opprette ditt nye prosjekt.
Vi bruker Twitter4J til å håndtere samhandling med Twitter i appen. Dette innebærer å importere biblioteket slik at vi kan opprette objekter som er definert i det, og bruk disse objektene til å ringe metodene som er nødvendige for å få tilgang til Twitter. Besøk Twitter4J-siden og last ned den nyeste stabile versjonen av biblioteket. Når du har lastet ned den, pakker du ut den zippede filen til et valgfritt sted i filsystemet på datamaskinen.
Nå må vi legge til Twitter4J-biblioteket til appens byggevei. For å gjøre dette, velg prosjektet i Eclipse Package Explorer, velg deretter Prosjektverktøylinje-menyen, og deretter Egenskaper. Egenskapsvinduet skal åpnes. Velg Java Build Path, og deretter på biblioteket.
For å legge til Twitter4J-biblioteket i prosjektet, velg Legg til Eksterne JAR, og velg deretter plasseringen til kjernen JAR-filen for Twitter4J, som for øyeblikket er kalt "twitter4j-core-android-2.2.5.jar" og lagres i "lib" -mappen i katalogen du pakket ut. For nyere versjoner av biblioteket, må du kanskje lete etter en litt annen JAR-fil, men den bør ha omtrent samme navn. Når du har lagt til JAR-filen, vil du se den i kategorien Biblioteker.
Klikk OK for å lukke Egenskaper-vinduet. I søknadskatalogen din, bør du nå se JAR-filen i Biblioteket Referanser.
Din søknad har nå muligheten til å referere og bruke Twitter4J-funksjonaliteten. Hvis du senere bestemmer deg for å legge til mediefunksjoner som for eksempel bildeopplasting til Twitter-appen din, må du også legge til Twitter4J media JAR-filen, som ligger på samme sted som kjernen JAR.
For å fullføre forberedelsen av appen, la oss redigere prosjektet Manifest. Åpne Manifest-filen fra Eclipse Package Explorer for å se den i editoren. Bytt til AndroidManifest.xml-fanen for å redigere koden direkte.
Vi må gjøre noen tilføyelser og endringer til manifestet for å forberede appen. Først legger du til følgende tillatelseselement hvor som helst du vil, så lenge det er utenfor alle andre elementer bortsett fra selve rotasjons manifestelementet:
Dette lar appen få tilgang til Internett-ressurser. I applikasjonselementet endrer du hovedaktiviteten som følger:
Innenfor åpningsaktivitetstegnet, endre navnattributtet for å passe til navnet på hovedaktivitetsklassen du valgte når du opprettet prosjektet ditt, eller et valgfritt navn hvis du ikke fikk Eclipse til å generere din hovedaktivitet automatisk.
Intent Filter-elementene angir at hovedaktiviteten din skal startes når appen starter, og at den vil kunne åpne nettleseren, slik at vi kan få brukeren til å logge på Twitter for autorisasjon.
Legg merke til dataelementet nær bunnen av denne koden. Dette er også for godkjenning av appen. Du kan endre ordningen attributt verdi hvis du vil, men det er referert i programkoden, så hold dette i bakhodet. Det spiller ingen rolle hva du legger inn her så lenge det samsvarer med Java-koden, vil vi skrive senere.
Til slutt legger du til ytterligere to elementer til Manifestet ditt, inne i programelementet, men etter avslutningskoden for aktivitetselementet ovenfor:
Aktivitetselementet er for den andre skjermen i appen, som er for å sende tweets. Vi ringer Aktivitetsklassen "NiceTweet". Hvis du vil gi klassen et annet navn, må du gjerne gjøre det, og husk at klassenavnet du velger, må samsvare med dette elementet i manifestet og referanser på ulike punkter i programmets Java-kode. Det andre elementet er for tjenesten vi skal implementere for å hente Twitter-oppdateringer. Igjen, vær så snill å endre klassenavnet hvis du ønsker det.
Vi har nå lagt grunnlaget for vår Twitter-klient. I neste opplæring vil vi håndtere at brukerne logger inn på Twitter for å gi appen tillatelse til å få tilgang til kontoene sine. Når Twitter-siden returnerer brukeren til appen, henter vi autentiseringsinformasjonen og lagrer den i programvalgene. Deretter kan appen hente og vise brukerens tidslinje, samt sende tweets fra sin konto.
I del 2 av denne serien vil vi også opprette brukergrensesnittelementer for appen, inkludert layouter og trekkbare ressurser. I del 3, 4 og 5 vil vi implementere databasen, adapteren og tjenesten for appen, så vel som at brukeren kan tweet, retweet og svare på tweets.