Accès rapide :
Programmation Android
Android : Plan de la formation
Android Introduction à Android
Introduction à Android : Présentation
Introduction à Android : Architecture des plateformes 4.x
Introduction à Android : Architecture des plateformes 5.x et supérieures
Introduction à Android : Outils de développement
Introduction à Android : Architecture d'un projet
Introduction à Android : Anatomie d'une application Android
Android Notre première application Android
Notre première application Android : Création du projet Android
Notre première application Android : Mise en place du layout de votre Activité via l'assistant
Notre première application Android : Edition de la partie de code
Notre première application Android : Gestion de l'internationalisation
Notre première application Android : Finalisation de l'application
Notre première application Android : Déploiement sur un SmartPhone
Android Debugger ses applications
Debugger ses applications : Utilisation de l'émulateur Android
Debugger ses applications : Passer son système en mode « Développeur »
Debugger ses applications : Utilisation du débugger DDMS
Debugger ses applications : Logs, mémoire, mode debug
Android L'interface graphique
L'interface graphique : Les layouts Android
L'interface graphique : Mise en place d'un thème graphique
L'interface graphique : Gestion de l'internationalisation
L'interface graphique : Gestion du menu Android
L'interface graphique : Mise en place d'un « Menu Hamburger »
L'interface graphique : Utilisation d'images
L'interface graphique : Dessiner avec un canvas
Android Création de Widgets
Création de Widgets : Par utilisation de l'héritage
Création de Widgets : Par définition d'un fragment
Android Gestion des Activités
Gestion des Activités : Mise en uvre d'activité
Gestion des Activités : Cycle de vie d'une activité
Gestion des Activités : Communication entre activités
Gestion des Activités : Configurateur d'application (AndroidManifest.xml)
Android Les données persistantes
Les données persistantes : La gestion des préférences
Les données persistantes : Utilisation d'une base de données SQLite
Les données persistantes : Manipulation de fichiers
Android Services et multithreading
Services et multithreading : Mise en uvre d'un service
Services et multithreading : Utilisation d'un service
Services et multithreading : Utilisation de threads
Services et multithreading : Utilisation du service de notifications
Services et multithreading : Démarrage d'un service au boot du système
Android Description des APIs
Description des APIs : Lister les senseurs présents sur le périphérique
Description des APIs : Utilisation des accéléromètres
Description des APIs : API de localisation
Description des APIs : API de cartographie
Description des APIs : Communication avec un serveur HTTP
Description des APIs : Accès au Bluetooth
Android Utilisation de code natif
Utilisation de code natif : Installer le NDK
Utilisation de code natif : Appels de méthodes natives
Utilisation de code natif : Compléments d'informations sur JNI
Merci de votre attention
Utilisation de code natif : Compléments d?informations sur JNI Récupération d?un attribut : JNIEXPORT jstring JNICALL Java_HelloWorld_toString(JNIEnv *env, jobject obj) { char buffer[256]; jclass cls = (*env)->GetObjectClass(obj); jfieldID fid = (*env)->GetFieldID(cls,"a","I"); jint a = (*env)->GetIntField(obj,fid); sprintf(buffer,"Toto [a = %d]",a); return (*env)->NewStringUTF(buffer); } Dominique Liard - 2011 .. 2019 Notes: Récupération attributs :
La récupération de l?attributs va s?effectuer en plusieurs étapes :
A partir de notre objet passer en paramètre on va récupérer une jclass.
Une fois que l?on a notre jclass, on va récupérer le jfieldID: l?identifiant de l?attibut.
Enfin, grâce à cette ID, on peut récupérer l?attributs (de type java int) avec à la méthode GetFieldID. Cette méthode renvoi un jint.
Méthode et attributs
La méthode GetIntField n?est pas la seule méthode disponible. Nous pouvons utiliser des attributs d?autre type. A chaque type primitif java correspond une méthode. Par exemple pour le type double, nous avons la méthode: GetDoubleField(jobject obj, jfieldID fid) qui renvoi un jdouble.
Grace à la manipulation précédente nous avons pu accéder à un attribut statique. Pour pouvoir accéder à un attribut d?objet il aurait fallut utiliser une variable de type jobject au lieu de celle de type jclass.
Diapositive précédente
Diapositive suivante
2024 © SARL Infini Software - Tous droits réservés
Mentions légales
Les informations présentes dans ce site vous sont fournies dans le but de vous aider à acquérir les compétences nécessaires à
l'utilisation des langages ou des technologies considérés. Infini Software ne pourra nullement être tenu responsable de l'utilisation
des informations présentes dans ce site.
De plus, si vous remarquez des erreurs ou des oublis dans ce document, n'hésitez surtout pas à nous le signaler en envoyant un mail
à l'adresse : .
Les autres marques et les noms de produits cités dans ces documents sont la propriété de leurs éditeurs respectifs.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :