mercredi 18 décembre 2013

Android : message d'erreur "unable to resolve target"

Bonjour,

Ce message survient quand on a développé une application avec une version d'Android pas supporté sur un nouvel ordinateur / un nouveau environnement de développement Eclipse.

Habituellement, on peut récupérer une version différente d'android qui permettra d'ouvrir le projet en question.

On va dans les propriétés du projet --> Android --> on choisit un version d'Android qui nous convient.


vendredi 6 décembre 2013

Présentation des projets de fin d'étude des finissants : mardi 17 décembre


Bonjour à tous,

Vous êtes invités à la présentation des projets de fin d'étude des finissants.
La présentation aura lieu mardi le 17 décembre de 13h30 à 17h30 au local A5.29.

Vous aurez la chance de voir des projets très variés :
  • jeux vidéos de plusieurs formes (Python, Java, C++ et Web);
  • site web transactionnel (présentation de produits et jukebox);
  • simulation d'écosystème et évolution d'agents (C++);
  • résolution de problèmes industriels (inspection par traitement d'image et étiquetage de défauts sur éolienne - C++);
  • génération de terrains 3D (C++)
  • . . .

jeudi 28 novembre 2013

Les Images 9-Patch

Pour plus d'informations sur les images 9-Patch, cet article m'a bien aidé :

http://blog.ace-art.fr/2010/10/14/tutoriel-android-partie-12-le-9-patch/

Java : transformer un tableau en Vector

Bonjour,

La classe Arrays contient plusieurs méthodes utilitaires pour travailler avec les tableaux ( trier, copier une partie d'un tableau dans un autre, etc ) . La méthode asList est intéressante car elle permet de transformer un tableau en un objet List :

String [] tab = {"un", "deux", "trois" };
List liste = Arrays.asList(tab);

On peut transformer une List en Vector à l'aide d'un constructeur :

Vector v = new Vector ( liste );


lundi 11 novembre 2013

Android - récupérer les images contenues dans un widget ImageView

Bonjour,

Lors d'un exercice de l'annexe 2 , nous avions à modifier l'élément drawable à l'intérieur d'un widget ImageView. Certains d'entre vous ont demandé comment récupérer l'image présente dans le ImageView. Voici le résultat de mes recherches.

Drawable d = image.getDrawable();

Cette ligne nous permet de récupérer l'objet Drawable associé à un ImageView ( ici appelé image ).

Drawable stromae = getResources().getDrawable(R.drawable.stromae);
Drawable reflektor = getResources().getDrawable(R.drawable.reflektor);

Ces deux lignes, dans le contexte de l'exercice, retournent des objets Drawable correspondant aux deux images utilisées. Ensuite, on pourra comparer le Drawable présent dans l'ImageView avec ces deux Drawables avec la méthode equals...


if ( d.equals(stromae))

CA NE FONCTIONNE PAS...parce que la méthode equals n'est pas redéfinie pour la classe Drawable...( voir cours B33 )



On est dans un cul-de-sac à moins de réaliser une sous-classe de la classe Drawable et d'y redéfinir la méthode equals, un peu long...

L'autre approche est d'utiliser les Tags. Un tag peut être associé à un widget ( n'importe quel objet dont la superclasse est View ) afin d'ajouter de l'information sur ce widget. On peut l'utiliser à la fois dans le XML ( propriété android:tag ) ou dans le code java ( getTag, setTag )

On associe donc un tag à notre ImageView :


        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:src="@drawable/stromae"
        android:layout_weight="0.67"
        android:tag="stromae" />

et on travaille dans notre .java :

if ( image.getTag().equals("stromae"))
{
image.setImageResource(R.drawable.reflektor);
image.setTag("reflektor");
}
else
{
image.setImageResource(R.drawable.stromae);
image.setTag("stromae");
}


Merci à Louis D. pour la curiosité, 

mardi 15 octobre 2013

Android - AVD

Tel que mentionné en classe aujourd'hui, l'AVD "Nexus" semble avoir des problèms avec les chronomètres. C'est dû au choix de CPU dans cet AVD.

À l'école, vous pouvez utiliser l'.autre AVD disponible ( "Google API " ) qui a un CPU différent.

À la maison, assurez-vous que votre AVD a comme CPU : ARM  ( armeabi-V7A ) . Vous pouvez éditer l'AVD avec le bouton Edit.


projet Android : dossier crunch

Bonjour,

Il est possible qu'en amenant un projet de la maison ou en récupérant un projet que je vous fournis ( projetChrono dans le cas du travail final ), une erreur relié à un dossier crunch se produise. Ce dossier est situé dans le répertoire bin/res de votre projet. Vous pouvez seulement supprimer ce dossier crunch pour que le projet fonctionne à nouveau.