Il va sans dire que de nombreuses personnes utilisent des appareils mobiles pour se connecter à des services de médias sociaux. Dans cette série de didacticiels, nous allons créer un client Twitter de base pour la plate-forme Android. Nous utiliserons la bibliothèque Twitter4J pour nous connecter à Twitter. L'application affiche la chronologie personnelle de l'utilisateur, envoie des tweets, retweet et répond aux tweets.
Voici un aperçu du résultat final:
Avant de commencer à créer l'application, prenons un moment pour passer en revue ce que nous essayons de réaliser et comment nous allons le faire! L'application impliquera diverses techniques et utilitaires Java / Android, notamment une base de données SQLite, un service, un récepteur de diffusion, un adaptateur et les méthodes Twitter4J elles-mêmes..
Lorsque l'utilisateur exécute l'application pour la première fois, un message lui demandant de se connecter à Twitter lui est présenté lui permettant d'autoriser l'application à utiliser son compte. À ce stade, ils seront redirigés vers une page du navigateur Web, où Twitter se chargera de les connecter et d'autoriser l'application à accéder. L'utilisateur sera ensuite redirigé vers l'application, Twitter renvoyant les informations d'autorisation requises pour mettre en œuvre les différentes fonctions de tweeting et de chronologie..
Une fois que l'utilisateur a autorisé l'application à utiliser son compte et que l'application suivante est exécutée par la suite, la première chose qu'ils verront est leur timeline Twitter personnelle (comme dans l'image ci-dessus). La chronologie de départ affiche initialement les tweets les plus récents, avec de nouveaux tweets ajoutés au fil du temps. Pendant que l'utilisateur interagit avec l'application, un service récupère périodiquement de nouveaux tweets et le code actualise l'affichage de la chronologie en conséquence..
Dans chaque tweet de la chronologie, l'utilisateur pourra voir le nom d'utilisateur Twitter du compte en question, l'heure d'envoi du tweet, le texte tweeté et l'image de l'icône du profil de l'utilisateur. S'il existe des URL dans le texte du tweet, l'application les traitera automatiquement comme des liens Web afin que l'utilisateur puisse cliquer dessus pour accéder aux ressources liées. L'utilisateur pourra également retweeter et répondre à chaque tweet de la chronologie..
Pour envoyer un tweet, l'utilisateur appuiera sur le bouton Tweet en haut de l'écran, qui le mènera à l'écran Activité de Tweet. Ici, ils peuvent entrer et envoyer leur tweet. Si l'utilisateur choisit de répondre à un tweet dans son calendrier, il sera également dirigé vers l'écran Tweet, le nom d'utilisateur sera automatiquement renseigné dans le champ de texte du tweet et le code sous-jacent stockant les informations requises pour répondre à un tweet particulier..
Cette application a des attributions très spécifiques, mais une fois que vous avez fini de la développer, vous souhaiterez peut-être l’améliorer. À la fin du dernier tutoriel de la série, nous allons passer en revue certaines suggestions de développement ultérieur, telles qu'une activité permettant d'afficher les profils d'utilisateurs de Twitter. L'application que nous allons développer ici permettra à l'utilisateur de cliquer sur le profil d'un utilisateur Twitter dans le navigateur Web en sélectionnant son nom d'utilisateur dans la chronologie, en se connectant au site Web de Twitter pour lui donner accès à des fonctions que nous n'avons pas fournies. dans l'application elle-même.
L'application client Twitter va avoir deux activités principales: une pour la timeline et une pour les tweets. Lorsque l'application démarre, elle crée une base de données SQLite pour stocker les tweets de la chronologie de départ, avec un adaptateur mappant les lignes de la base de données sur Vues dans l'interface utilisateur de l'application. L'application lancera également un service à exécuter pendant que l'utilisateur interagit avec celui-ci, mettant à jour la chronologie avec les nouveaux tweets lorsqu'ils sont disponibles. Pour ce faire, l'application envoie et reçoit des émissions lorsque de nouvelles mises à jour ont été récupérées, afin de pouvoir actualiser les tweets visibles..
L'application ne contiendra que quelques classes, mais ces classes sont relativement complexes. Nous devrons également importer la bibliothèque Twitter4J, créer et référencer divers fichiers de ressources et éditer le manifeste du projet. Si cela vous semble trop compliqué, ne vous inquiétez pas! Nous allons travailler et expliquer chaque étape en détail. Préparons-nous.
Visitez le site Twitter des développeurs et connectez-vous avec vos propres informations de connexion Twitter pour enregistrer votre application. Créez une nouvelle application dans l'interface que vous voyez ici. Entrez un nom pour votre application. Pour cette série de tutoriels, l'application s'appellera TwitNice, mais vous devrez choisir votre propre nom. Entrez une description et une URL de site Web, qui peut simplement être votre propre page d'accueil. Vous pouvez entrer la même adresse (ou toute adresse que vous possédez) en tant qu'URL de rappel; nous n'en aurons pas besoin pour l'application, mais vous devez entrer quelque chose pour terminer l'enregistrement.
Une fois votre application créée dans l'interface de développeur de Twitter, vous devriez pouvoir en voir les détails. Accédez à l'onglet Paramètres de l'application et faites défiler jusqu'à la section Type d'application. Sélectionnez Lecture et écriture ou Lecture, écriture et accès aux messages directs. Pour cette série, nous n'allons pas accéder aux messages directs, mais vous voudrez peut-être étendre votre application pour pouvoir le faire à l'avenir. Vous pouvez modifier ces paramètres à tout moment. Cliquez sur le bouton au bas de la page pour mettre à jour les paramètres de votre application..
Sélectionnez l'onglet Détails pour votre application Twitter. Cette zone contient des détails que vous devrez noter. Dans la section Paramètres OAuth, copiez les valeurs de la clé de consommateur et du secret du consommateur dans un fichier de votre ordinateur pour référence ultérieure. Celles-ci devraient toutes deux rester privées. Nous utiliserons la clé OAuth et le secret dans le code de l'application pour exécuter les fonctions Twitter..
Ces paramètres permettent de vérifier votre accès développeur pour cette application. Plus tard, nous devrons également implémenter la vérification de l'utilisateur et l'obtention de l'autorisation pour interagir avec ses tweets.
Il est temps de créer votre projet. Dans Eclipse, choisissez Fichier, Nouveau, Projet, puis Projet Android. Entrez le nom de votre projet, sélectionnez Suivant et choisissez l’API de niveau 8 pour vous assurer que le code de cette série de didacticiels ne posera aucun problème. Cliquez sur Suivant et entrez le nom de votre paquet, puis cliquez sur Terminer pour créer votre nouveau projet..
Nous utiliserons Twitter4J pour gérer les interactions avec Twitter au sein de l'application. Cela implique d'importer la bibliothèque afin que nous puissions créer les objets qui y sont définis, puis utiliser ces objets pour appeler les méthodes nécessaires pour accéder à Twitter. Visitez le site Twitter4J et téléchargez la version stable la plus récente de la bibliothèque. Une fois téléchargé, décompressez le fichier compressé dans un emplacement de choix dans le système de fichiers de votre ordinateur..
Nous devons maintenant ajouter la bibliothèque Twitter4J au chemin de génération de votre application. Pour ce faire, sélectionnez votre projet dans l'explorateur de packages Eclipse, puis choisissez le menu de la barre d'outils Projet, puis Propriétés. La fenêtre Propriétés devrait s'ouvrir. Sélectionnez le chemin de construction Java, puis l'onglet Bibliothèques..
Pour ajouter la bibliothèque Twitter4J à votre projet, choisissez Ajouter des fichiers JAR externes, puis accédez à l'emplacement du fichier JAR principal pour Twitter4J, qui s'appelle pour le moment "twitter4j-core-android-2.2.5.jar" et est stocké dans le dossier "lib" du répertoire que vous avez décompressé. Pour les versions plus récentes de la bibliothèque, vous devrez peut-être rechercher un fichier JAR légèrement différent, mais il devrait avoir à peu près le même nom. Une fois que vous avez ajouté le fichier JAR, vous le verrez dans l'onglet Bibliothèques..
Cliquez sur OK pour fermer la fenêtre Propriétés. Dans le répertoire de votre application, vous devriez maintenant voir le fichier JAR dans la section Bibliothèques référencées..
Votre application a maintenant la possibilité de référencer et d'utiliser la fonctionnalité Twitter4J. Si vous décidez ultérieurement d'ajouter des fonctions multimédia telles que le téléchargement d'images à votre application Twitter, vous devez également ajouter le fichier JAR multimédia Twitter4J, qui se trouve au même emplacement que le fichier JAR principal..
Pour terminer la préparation de l'application, éditons le manifeste du projet. Ouvrez le fichier Manifest à partir de l'explorateur de packages Eclipse pour le voir dans l'éditeur. Basculez sur l'onglet AndroidManifest.xml pour modifier le code directement.
Nous devons faire quelques ajouts et modifications au manifeste pour nous préparer à l’application. Tout d’abord, ajoutez l’élément d’autorisation suivant où bon vous semble, à condition qu’il soit en dehors de tous les autres éléments, à l’exception de l’élément manifeste root lui-même:
Cela permet à l'application d'accéder aux ressources Internet. Dans l'élément de l'application, modifiez l'activité principale comme suit:
Dans la balise d'ouverture d'ouverture, modifiez l'attribut name en fonction du nom de la classe d'activité principale que vous avez choisie lors de la création de votre projet ou d'un nom de votre choix si vous n'avez pas demandé à Eclipse de générer automatiquement votre activité principale..
Les éléments du filtre d'intention spécifient que votre activité principale doit être lancée au démarrage de l'application et qu'elle pourra ouvrir le navigateur Web afin que l'utilisateur puisse se connecter à Twitter pour autorisation..
Remarquez l’élément de données au bas de ce code. C'est aussi pour authentifier l'application. Vous pouvez modifier la valeur de l'attribut scheme si vous le souhaitez, mais il faut en tenir compte dans le code de l'application. Peu importe ce que vous mettez ici tant que cela correspond au code Java que nous écrirons plus tard.
Enfin, ajoutez deux autres éléments à votre manifeste, à l'intérieur de l'élément d'application mais après la balise de fermeture de l'élément d'activité ci-dessus:
L'élément d'activité est destiné au deuxième écran de l'application, qui permet d'envoyer des tweets. Nous appelons la classe d'activité "NiceTweet". Si vous souhaitez attribuer un nom différent à la classe, n'hésitez pas à le rappeler. Le nom de la classe que vous choisissez devra correspondre à cet élément du manifeste et à des références en différents points du code Java de l'application. Le deuxième élément concerne le service que nous allons implémenter pour récupérer les mises à jour de Twitter. Encore une fois, n'hésitez pas à changer le nom de la classe si vous le souhaitez.
Nous avons maintenant jeté les bases de notre client Twitter. Dans le prochain tutoriel, nous allons aider les utilisateurs à se connecter à Twitter pour donner à l'application la permission d'accéder à leurs comptes. Lorsque la page Twitter renvoie l'utilisateur à l'application, nous récupérons les informations d'authentification et les enregistrons dans les préférences de l'application. Après cela, l'application pourra récupérer et afficher la chronologie de l'utilisateur, ainsi que l'envoi de tweets à partir de son compte..
Dans la deuxième partie de cette série, nous allons également créer des éléments d'interface utilisateur pour l'application, notamment des dispositions et des ressources pouvant être extraites. Dans les parties 3, 4 et 5, nous allons implémenter la base de données, l'adaptateur et le service pour l'application, tout en permettant à l'utilisateur de tweeter, de retweet et de répondre aux tweets..