Este de la sine înțeles că mulți oameni folosesc dispozitive mobile pentru a se conecta la serviciile de social media. În această serie de tutoriale, vom crea un client de bază Twitter pentru platforma Android. Vom folosi biblioteca Twitter4J pentru a vă conecta la Twitter. Aplicația va afișa cronologia utilizatorului la domiciliu, va trimite mesaje tweet, retweet și va răspunde la tweet-uri.
Iată o previzualizare a rezultatului final:
Înainte de a începe să construim aplicația, să facem un moment pentru a trece peste ceea ce încercăm să realizăm și cum o vom face! Aplicația va implica o varietate de tehnici și utilitare Java / Android, inclusiv o bază de date SQLite, un serviciu, un receptor Broadcast, un adaptor și metodele Twitter4J.
Când utilizatorul execută aplicația pentru prima dată, ei vor primi un prompt solicitându-i să se conecteze la Twitter pentru a autoriza aplicația să își folosească contul. În acest moment, aceștia vor fi redirecționați către o pagină din browserul Web, unde Twitter se va ocupa de conectarea acestora și autorizarea aplicației pentru acces. Utilizatorul va fi apoi redirecționat înapoi la aplicație, iar Twitter va întoarce informațiile de autorizare necesare implementării diferitelor funcții de tweeting și cronologie.
Odată ce utilizatorul a acordat permisiunea aplicației de a-și utiliza contul și în ultima aplicație care rulează ulterior, primul lucru pe care îl va vedea este cronometrul de acasă Twitter (ca în imaginea de mai sus). Cronologia de acasă afișează inițial cele mai recente tweet-uri, cu cele mai noi tweets adăugate cu trecerea timpului. În timp ce utilizatorul interacționează cu aplicația, un serviciu va prelua periodic mesaje tweet noi, iar codul va actualiza în mod corespunzător afișarea cronologică.
În cadrul fiecărui tweet din linia de timp, utilizatorul va putea vedea numele de utilizator Twitter al contului în cauză, ora la care a fost trimis tweet-ul față de acum, textul tweeted și imaginea cu pictograma profilului utilizatorului. Dacă există URL-uri în textul tweet-ului, aplicația le va trata în mod automat ca link-uri Web, astfel încât utilizatorul să le poată da clic pentru a accesa resursele asociate. De asemenea, utilizatorul va putea să returneze și să răspundă la fiecare tweet în cronologie.
Pentru a trimite un tweet, utilizatorul va apăsa pe butonul Tweet din partea de sus a ecranului, care va duce la ecranul Activitate Tweet. Aici pot să intre și să trimită tweet-ul lor. În cazul în care utilizatorul alege să răspundă la un tweet în cronologie, acestea vor fi de asemenea trimise la ecranul Tweet, cu numele de utilizator automat populate în câmpul de text tweet și codul de bază care stochează informațiile necesare pentru a răspunde la un anumit mesaj tweet.
Această aplicație are o atribuție foarte specifică, dar odată ce ați terminat dezvoltarea, puteți dori, desigur, să o îmbunătățiți. La sfârșitul ultimului tutorial din seria vom trece prin câteva sugestii pentru o dezvoltare ulterioară, cum ar fi o activitate pentru vizualizarea profilurilor utilizatorilor Twitter. Aplicația, așa cum o vom dezvolta aici, va permite utilizatorului să facă clic pe profilul unui utilizator Twitter din browserul web, selectând numele de utilizator din cronologie, făcând legătura cu site-ul Twitter pentru a oferi utilizatorului acces la funcțiile pe care nu le-am furnizat în cadrul aplicației în sine.
Aplicația client Twitter va avea două activități principale: una pentru cronologie și una pentru tweeting. Când se pornește aplicația, va crea o bază de date SQLite pentru stocarea tweets-ului de cronologie acasă, cu un adaptor care cartografiază rândurile bazei de date la Vizualizări din interfața de utilizare a aplicației. Aplicația va porni, de asemenea, un Serviciu pentru a rula în timp ce utilizatorul interacționează cu acesta, actualizând cronologia cu tweet-uri noi atunci când sunt disponibile. Pentru a face acest lucru, aplicația va trimite și primi transmisiunile atunci când vor fi preluate noi actualizări, astfel încât să poată reîmprospăta mesajele tweets vizibile.
Aplicația va conține doar câteva clase, însă aceste clase sunt relativ complexe. De asemenea, va trebui să importem biblioteca Twitter4J, să creați și să consultați diferite fișiere de resurse și să editați proiectul Manifest. Dacă acest lucru pare a fi o mulțime de a continua, nu vă faceți griji! Vom lucra și vom explica fiecare pas în detaliu. Să ne pregătim.
Vizitați site-ul Twitter Developers și conectați-vă cu propriile dvs. date de conectare Twitter pentru a vă înregistra aplicația. Creați o aplicație nouă în interfața pe care o vedeți acolo. Introduceți un nume pentru aplicația dvs. Pentru această serie de tutori, aplicația va fi numită TwitNice, dar va trebui să alegeți propriul nume. Introduceți o descriere și o adresă URL a site-ului, care poate fi pur și simplu propria pagină de pornire. Puteți introduce aceeași adresă (sau chiar orice adresă pe care o dețineți) ca adresă URL de apel invers; nu vom avea nevoie de aceasta pentru aplicație, dar trebuie să introduceți ceva pentru a completa înregistrarea.
Odată ce aplicația dvs. a fost creată în interfața de dezvoltatori Twitter, ar trebui să puteți vedea detaliile acesteia. Accesați fila Setări pentru aplicație și derulați în jos la secțiunea Tipul aplicației. Selectați Citire și Scriere sau Citire, Scrieți și Accesați mesaje directe. Pentru această serie nu vom accesa mesaje directe, dar vă recomandăm să vă extindeți aplicația în viitor. Puteți modifica oricând aceste setări. Faceți clic pe butonul din partea de jos a paginii pentru a actualiza setările aplicației.
Selectați fila Detalii pentru aplicația dvs. Twitter. Această zonă conține detalii pe care va trebui să le notați. În secțiunea Setări OAuth, copiați valorile pentru Consumer Key și Consumer Secret într-un fișier de pe computerul dvs. pentru referințe ulterioare. Acestea ar trebui să fie păstrate private. Vom folosi cheia OAuth și secretul în cadrul codului aplicației pentru a efectua funcții Twitter.
Aceste setări sunt pentru verificarea accesului pentru dezvoltatori pentru această aplicație. Mai târziu, va trebui, de asemenea, să punem în aplicare verificarea utilizatorului și obținerea permisiunii de a interacționa cu tweets-urile lor.
E timpul să vă creați proiectul. În Eclipse, alegeți Fișier, Nou, Proiect, apoi Proiect Android. Introduceți numele proiectului, selectați Înainte și alegeți nivelul API 8 pentru a vă asigura că codul din această serie de tutori nu va provoca probleme. Faceți clic pe Următorul și introduceți numele pachetului, apoi Finalizați pentru a vă crea noul proiect.
Vom folosi Twitter4J pentru a trata interacțiunea cu Twitter în cadrul aplicației. Aceasta implică importarea bibliotecii astfel încât să putem crea obiecte definite în ea, apoi să folosim aceste obiecte pentru a apela metodele necesare pentru a accesa Twitterul. Vizitați site-ul Twitter4J și descărcați cea mai recentă versiune stabilă a bibliotecii. Odată ce ați descărcat-o, despachetați fișierul zip într-o locație de alegere în sistemul de fișiere de pe computer.
Acum trebuie să adăugăm biblioteca Twitter4J în calea de construire a aplicației. Pentru a face acest lucru, selectați proiectul în Eclipse Package Explorer, apoi alegeți meniul Project toolbar și apoi Properties. Fereastra Proprietăți trebuie să se deschidă. Selectați Calea de construire Java, apoi fila Biblioteci.
Pentru a adăuga biblioteca Twitter4J la proiectul dvs., selectați Adăugați JAR-uri externe, apoi navigați la locația fișierului JAR de bază pentru Twitter4J, care în acest moment este numit "twitter4j-core-android-2.2.5.jar" și este stocat în dosarul "lib" al directorului pe care l-ați despachetat. Pentru versiuni mai noi ale bibliotecii, poate fi necesar să căutați un fișier JAR ușor diferit, dar ar trebui să aibă aproximativ același nume. Odată ce ați adăugat fișierul JAR, îl veți vedea în fila Biblioteci.
Faceți clic pe OK pentru a închide fereastra Proprietăți. În directorul de aplicații, ar trebui să vedeți acum fișierul JAR din secțiunea Biblioteci referite.
Aplicația dvs. are acum capacitatea de a trimite și utiliza funcționalitatea Twitter4J. Dacă decideți mai târziu că doriți să adăugați funcții media cum ar fi încărcarea imaginilor în aplicația dvs. Twitter, va trebui, de asemenea, să adăugați fișierul JAR media de pe Twitter4J, care se află în aceeași locație ca și JAR-ul de bază.
Pentru a finaliza pregătirea aplicației, hai să editați proiectul Manifest. Deschideți fișierul Manifest din Eclipse Package Explorer pentru al vedea în editor. Treceți la fila AndroidManifest.xml pentru a edita direct codul.
Trebuie să facem câteva completări și modificări la Manifest pentru pregătirea aplicației. Mai întâi, adăugați următorul element de permisiune oriunde doriți, atâta timp cât este în afara tuturor celorlalte elemente, cu excepția elementului de manifestare a rădăcinilor:
Acest lucru permite aplicației să acceseze resursele de internet. În elementul de aplicație, modificați activitatea principală după cum urmează:
În cadrul etichetei Activitate de deschidere, modificați atributul nume pentru a se potrivi cu numele clasei de activitate principală pe care ați ales-o când creați proiectul dvs. sau cu un nume la alegere, dacă nu ați primit Eclipse pentru a vă genera automat activitatea principală.
Elementele Filter Intent specifică faptul că activitatea dvs. principală ar trebui lansată la pornirea aplicației și că va fi capabil să deschidă browser-ul web pentru ca utilizatorul să poată fi conectat la Twitter pentru autorizare.
Observați elementul de date din partea de jos a acestui cod. Aceasta este, de asemenea, pentru autentificarea aplicației. Puteți modifica valoarea atributului schemei dacă doriți, dar este menționată în codul aplicației, astfel încât să aveți în vedere acest lucru. Nu contează exact ce introduceți aici, atâta timp cât se potrivește cu codul Java pe care îl vom scrie ulterior.
În cele din urmă, adăugați alte două elemente spre Manifest, în interiorul elementului de aplicație, dar după eticheta de închidere pentru elementul de activitate de mai sus:
Elementul Activitate este pentru al doilea ecran din aplicație, care este destinat trimiterii de tweet-uri. Apelam la clasa de activitate "NiceTweet". Dacă doriți să dați clasei un nume diferit, nu ezitați să faceți acest lucru, amintindu-vă că numele de clasă pe care îl alegeți va trebui să corespundă acestui element în Manifest și trimiteri la diferite puncte ale codului Java al aplicației. Cel de-al doilea element este pentru Serviciul pe care îl vom implementa pentru a prelua actualizările Twitter. Din nou, nu ezitați să schimbați numele clasei dacă doriți.
Am pus acum bazele pentru clientul nostru Twitter. În tutorialul următor, vom rezolva problema ca utilizatorii să se conecteze la Twitter pentru a acorda aplicației permisiunea de a-și accesa conturile. Când pagina Twitter returnează utilizatorul în aplicație, vom prelua informațiile de autentificare și le vom salva în preferințele aplicației. Apoi, aplicația va putea prelua și afișa cronologia utilizatorului, precum și trimiterea de tweet-uri din contul său.
În Partea 2 din această serie vom crea, de asemenea, elemente de interfață pentru aplicație, inclusiv machete și resurse trasabile. În părțile 3, 4 și 5 vom implementa baza de date, adaptor și service pentru aplicație, precum și permițând utilizatorului să tweet, retweet și să răspundă la tweets.