Accueil Médias sociaux En développement pour le projet Tango - les mannequins

En développement pour le projet Tango - les mannequins

Vidéo: BANG : la nouvelle billettique pour les usagers de l'Agglo 2025

Vidéo: BANG : la nouvelle billettique pour les usagers de l'Agglo 2025
Anonim

Android conduit de nombreux projets innovants de Google. Prenons, par exemple, la tablette appelée Project Tango. À première vue, un appareil Project Tango ressemble à une tablette ordinaire de sept pouces. Lorsque vous allumez l'appareil, vous voyez l'écran d'accueil Android familier avec des icônes pour lancer des applications, et avec des indicateurs pour le signal WiFi et la puissance de la batterie.

L'appareil exécute même l'application Play Store de Google. Vous pouvez ainsi l'utiliser pour naviguer sur le Web, modifier des documents et effectuer toutes les autres tâches des tablettes ordinaires.

Mais le matériel de Project Tango n'est pas ordinaire. L'arrière de la tablette a un capteur de profondeur, une caméra fish eye, et une caméra IR. En combinant les données de ces sources avec son matériel de suivi de mouvement interne, Project Tango crée une carte 3D de l'espace environnant.

Vous pouvez créer une carte de votre salon et stocker la carte sur un appareil Project Tango. Lorsque vous rapportez l'appareil à votre salon, l'appareil se souvient de l'espace et de tous les objets à l'intérieur de l'espace.

Tango est livré avec quelques applications de démonstration. Avec une application, vous visez l'appareil à deux points pour mesurer la distance entre ces points. Vous pouvez vous tenir à plusieurs pieds des points de départ et de fin car l'appareil sait à quelle distance vous vous trouvez de chacun des points.

Avec une autre application, vous parcourez les mondes virtuels. Pour changer votre point de vue dans un monde, vous ne devez pas tordre un joystick, déplacer une souris ou faire glisser vos doigts le long d'un écran. Au lieu de cela, vous regardez l'écran de l'appareil lorsque vous vous déplacez dans votre propre environnement réel. L'appareil vous montre ce que vous verriez dans le monde virtuel au fur et à mesure que vous avancez, vous vous penchez sur le côté et vous vous déplacez autour des objets 3D virtuels.

Pour vous lancer dans le développement, Project Tango est livré avec des exemples d'applications. L'ouverture de l'application QuickStart très basique dans Android Studio affiche les valeurs de translation et de rotation lorsque vous déplacez l'appareil d'un endroit à l'autre. (Voir la figure suivante.)

L'application QuickStart.

Au cœur de l'application QuickStart se trouve une activité Android. Une partie du code de l'application apparaît ci-dessous.

/ * * Copyright 2014 Google Inc. Tous droits réservés. * * Sous licence Apache, Version 2. 0 (la "Licence"); * vous ne pouvez pas utiliser ce fichier sauf en conformité avec la licence. * Vous pouvez obtenir une copie de la licence au * * // www. apache. org / licences / LICENCE-2. 0 * * Sauf si requis par la loi applicable ou accepté par écrit, le logiciel * distribué sous la licence est distribué «TEL QUEL», * SANS GARANTIE OU CONDITION DE QUELQUE SORTE, expresse ou implicite.* Voir la Licence pour la langue spécifique régissant les permissions et * limitations sous la Licence. * / import com Google. un robinet. tangoservice. Tango; import com. Google. un robinet. tangoservice. Tango. OnTangoUpdateListener; import com. Google. un robinet. tangoservice. TangoConfig; import com. Google. un robinet. tangoservice. TangoCoordinateFramePair; import com. Google. un robinet. tangoservice. TangoPoseData; // Il y a plus de déclarations d'import ici public class MainActivity extends Activité {@Overide protected void onCreate (Regrouper savedInstanceState) {super. onCreate (savedInstanceState); setContentView (disposition R., activité_main); mTranslationTextView = (TextView) findViewById (id de R. translation_text_view); mRotationTextView = (TextView) findViewById (id de R. rotation_text_view); // Instancie le client Tango mTango = new Tango (this); // Configurer la configuration Tango pour le suivi de mouvement mConfig = mTango. getConfig (TangoConfig CONFIG_TYPE_CURRENT); mConfig. putBoolean (TangoConfig.KEY_BOOLEAN_MOTIONTRACKING, true);} @Oublide protégé void onActivityResult (int requestCode, int résultatCode, données Intent) {try {setTangoListeners ();} catch (TangoErrorException e) {} try {mTango. connect (mConfig);} catch (TangoOutOfDateException e) {} catch (TangoErrorException e) {}} void privé setTangoListeners () {// Sélectionner les paires de trames de coordonnées ArrayList framePairs = new ArrayList (); framePairs. ajouter (nouveau TangoCoordinateFramePair (TangoPoseData, COORDINATE_FRAME_START_OF_SERVICE, TangoPoseData, COORDINATE_FRAME_DEVICE)); // Ajoute un écouteur pour Tango pose des données mTango. connectListener (framePairs, nouveau OnTangoUpdateListener () { @Override public void onPoseAvailable (pose TangoPoseData) { // Données de traduction et de rotation du format final String TranslationMsg = String. format (sTranslationFormat, pose. translation [0], pose [1], pose. translation [2]); final Chaîne rotationMsg = Chaîne. format (sRotationFormat, pose.rotation [0], pose.rotation [1], pose.rotation [2], rotation [3]); // Afficher les données dans TextViews runOnUiThread (new Runnable () { @Override public void run () { mTranslationTextView.setText (translationMsg); mRotationTextView setText (rotationMsg); } } ); } } );}}

Ce que vous voyez ici n'est pas la MainActivity de 210 lignes classe, mais quelques-uns des faits saillants importants de la classe ont été résumés.

Jetez un coup d'œil à la classe MainActivity. Le cœur du code de l'activité se trouve dans la classe anonyme OnTangoUpdateListener avec sa méthode onPoseAvailable.

Dans la vie quotidienne, une pose est la façon dont vous orientez votre tête par rapport à votre environnement. Et dans la terminologie du projet Tango, une pose est la façon dont vous orientez l'appareil par rapport à son environnement. Une pose est décrite par sept nombres, comme les numéros de translation et de rotation que vous voyez dans la figure précédente.

Lorsque le matériel de l'appareil détecte une nouvelle pose, le logiciel appelle la méthode onPoseAvailable. La méthode onPoseAvailable doit afficher des messages tels que Translation: -2.6622, 3. 214773, 2. 824979 dans les champs de texte de l'activité.

Mais il y a un problème. Les règles de threads d'Android dictent qu'aucun thread autre que le thread principal ne peut mettre à jour l'interface utilisateur d'une application. Dans la classe MainActivity, l'instance OnTangoUpdateListener s'exécute dans un thread qui lui est propre. La méthode onPoseAvailable de l'instance ne peut donc pas afficher les messages dans les champs de texte de l'activité en appelant directement mTranslationTextView. setText et mRotationTextView. Méthodes setText

Mais comme le dit toujours le professeur Farnsworth dans Futurama , il y a «Bonne nouvelle, tout le monde! "Android a une méthode runOnUiThread pour de telles occasions. Le paramètre de la méthode runOnUiThread est une classe qui implémente l'interface Runnable de Java. Dans le code de l'application QuickStart, la méthode d'exécution de cette classe affiche du texte pour le compte de l'instance OnTangoUpdateListener. À la fin, l'utilisateur de l'appareil voit les données de traduction et de rotation, et tout va bien.

En développement pour le projet Tango - les mannequins

Le choix des éditeurs

Spotify Mobile Service avec un compte Premium - Les nuls

Spotify Mobile Service avec un compte Premium - Les nuls

Les deux principaux avantages des abonnés Spotify Premium sur Spotify Free ou Les détenteurs d'un compte illimité ont la capacité d'accéder au catalogue de diffusion en continu de Spotify via un appareil mobile et d'écouter des pistes en mode hors connexion à l'aide de votre application mobile ou informatique. Ce sont les deux caractéristiques qui justifient le fait que Spotify ...

Spotify Listes de lecture de Mobile - mannequins

Spotify Listes de lecture de Mobile - mannequins

Comme sur votre ordinateur, vous pouvez gérer les listes de lecture Spotify sur votre téléphone. Toute modification apportée à votre liste de lecture est synchronisée sur tous les appareils auxquels vous êtes connecté, en temps réel. Lorsque vous démarrez l'application Spotify, toutes vos playlists sont affichées immédiatement, mais vous pouvez y accéder à tout moment en appuyant sur ...

Spotify vous permet de vous lier à peu près n'importe quoi - les tuls

Spotify vous permet de vous lier à peu près n'importe quoi - les tuls

Spotify vous permet de copier des liens Web et des URI vous pouvez coller où vous voulez: dans les blogs, les e-mails, les réseaux sociaux, même les documents de traitement de texte. Cliquez avec le bouton droit de la souris sur ce que vous voulez partager et choisissez une option de copie dans le menu contextuel qui s'affiche généralement. Dans certains cas, si vous savez comment un lien est construit, ...

Le choix des éditeurs

Médias sociaux et marketing par e-mail - nuls

Médias sociaux et marketing par e-mail - nuls

Réseaux sociaux clients potentiels via des sites Web et des e-mails. Rappelez-vous, la suppression des e-mails pour gagner du temps est le mode opératoire pour les gens connectés en ligne dans les affaires ces jours-ci. Certaines entreprises estiment avoir le droit d'envoyer des offres quotidiennes et des promotions accompagnées de fanfares. Est-il même possible pour une entreprise de ...

Social Media Commerce: Enregistrement client par Mobile App - dummies

Social Media Commerce: Enregistrement client par Mobile App - dummies

Certains médias sociaux Les applications récompensent leurs utilisateurs pour l'enregistrement depuis les smartphones au fur et à mesure qu'ils passent d'un endroit à un autre dans le monde des briques et du mortier. Cette activité d'enregistrement mobile est populaire auprès de ceux qui se connectent en ligne. Vous pouvez encourager les gens à se présenter à votre lieu de travail. Le leader actuel sur le marché est Foursquare, un ...

Social Media Commerce: Blog pour votre entreprise - dummies

Social Media Commerce: Blog pour votre entreprise - dummies

Quand vous vous sentez prêt Pour passer à l'étape suivante dans le commerce des médias sociaux et faire quelque chose au-delà d'un site Web d'entreprise, vous pouvez développer un blog pour communiquer avec les clients. Les blogs offrent un espace à votre entreprise pour améliorer son message et répondre aux commentaires des lecteurs. Un blog (à partir du web-journal) peut ...

Le choix des éditeurs

Comment traduire votre réseau Ning en une langue non prise en charge - les nuls

Comment traduire votre réseau Ning en une langue non prise en charge - les nuls

Bien que Ning supporte 18 langues , avec autant de langues dans le monde, vous devrez peut-être traduire votre réseau en un réseau que Ning ne prend pas en charge. Créer une nouvelle traduction:

Comment syndiquer le contenu de votre réseau Ning - des nuls

Comment syndiquer le contenu de votre réseau Ning - des nuls

Votre réseau Ning vous offre de nombreuses façons d'utiliser Flux RSS pour syndiquer le contenu que vous et vos membres contribuent au réseau. Si les titres des éléments des flux RSS de votre réseau sont suffisamment informatifs et convaincants, les internautes qui visitent d'autres sites Web qui affichent le flux RSS de votre réseau peuvent cliquer sur les titres ...

Comment utiliser le mur de commentaires de Ning - mannequins

Comment utiliser le mur de commentaires de Ning - mannequins

Votre page de profil Ning a un mur de commentaires, où autre Les membres de Ning peuvent vous laisser des messages. Le mur de commentaires permet aux membres de vous écrire quelque chose, d'inclure un lien vers un autre site Web, d'intégrer de la vidéo à partir du réseau ou d'autres sites, ou de poster une photo pour que vous puissiez la consulter. N'importe qui dans le réseau peut partir ...