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 Manipulation d?un tableau java JNIEXPORT void JNICALL Java_HelloWorld_tb(JNIEnv *env, jobject, jintArray arr) { jsize len = env->GetArrayLength(arr); jint *vals = env->GetIntArrayElements(arr,0); // Utiliser le tableau env->ReleaseIntArrayElements(arr,vals,0); } Dominique Liard - 2011 .. 2019 Notes: Les tableaux eux aussi diffèrent de C à Java. En C, un tableau est en fait un simple pointeur vers une zone de mémoire (plus précisément vers le premier élément du tableau). En Java, un tableau est un objet, et il possède un attribut length indiquant sa longueur.
Libération de la mémoire
Le tableau étant un objet en java, et pour éviter toute fuite de mémoire, il faudra utiliser une méthode pour ne plus référencer le tableau et ainsi permettre au GC de faire son travail:
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 :