Les applications mobiles sont apparues dans les années 1990, elles sont liées aux développements d'Internet et des télécommunications, des réseaux sans fils et des technologies agents, et à l’apparition et la démocratisation des terminaux mobiles : smartphones, tablettes tactiles. On l’oublie souvent mais un smartphone est un objet connecté: Accéléromètre, giroscope, GPS, caméra, puce NFC sont d’excellents outils dont on peut utiliser pour réaliser des applications mobiles en relation avec les domaines de télécommunications et réseaux. Donc, savoir développer une application mobile est un atout important, qui va permettre aux lauréats du Master d'acquérir une compétence très demandée dans l'ére du digital. Dans ce contexte, ce cours a pour objectif l’étude des principes qui sont à la base de la programmation mobile (Android). Il présente les concepts des apps Android par des exemples pratiques.
Programmation Java
Principes de la Programmation Orienté Objet (POO)
Programmation événementielle (Event-driven programming )
Chapitre 1: Généralités sur le développement des applications mobiles et le système d’exploitation Android
Partie 1
Partie 2
Ardito, L., Coppola, R., Malnati, G., & Torchiano, M. (2020). Effectiveness of Kotlin vs. Java in android app development tasks. Information and Software Technology, 127, 106374.
Biørn-Hansen, A., Grønli, T. M., & Ghinea, G. (2018). A survey and taxonomy of core concepts and research challenges in cross-platform mobile development. ACM Computing Surveys (CSUR), 51(5), 1-34.
Biørn-Hansen, A., Rieger, C., Grønli, T. M., Majchrzak, T. A., & Ghinea, G. (2020). An empirical investigation of performance overhead in cross-platform mobile development frameworks. Empirical Software Engineering, 25, 2997-3040.
Rieger, C., & Majchrzak, T. A. (2019). Towards the definitive evaluation framework for cross-platform app development approaches. Journal of Systems and Software, 153, 175-199.
Lachgar, M., & Abdali, A. (2017). Decision framework for mobile development methods. Int. J. Adv. Comput. Sci. Appl, 8(2).
Apps take flight with Flutter: https://flutter.dev/showcase
https://openclassrooms.com/fr/courses/6739646-realisez-un-cahier-des-charges-fonctionnel
https://developer.android.com/studio/run/emulator-acceleration
Optimiser les performances de votre système d’exploitation:
Chapitre 2 : Ressources indispensables
Acar, Y., Backes, M., Fahl, S., Kim, D., Mazurek, M. L., & Stransky, C. (2016, May). You get where you're looking for: The impact of information sources on code security. In 2016 IEEE Symposium on Security and Privacy (SP) (pp. 289-305). IEEE.
Abdalkareem, R., Shihab, E., & Rilling, J. (2017). On code reuse from stackoverflow: An exploratory study on android apps. Information and Software Technology, 88, 148-158.
Chapitre 3: SDK, Android Studio, et composants de base d’une application Android
https://developer.android.com/studio/intro/studio-config?hl=fr
Problèmes connus avec Android Studio et Android Gradle Plugin: https://developer.android.com/studio/known-issues.html
Conseils pour résoudre les problèmes courants et les problèmes de configuration dans Android Studio. https://developer.android.com/studio/troubleshoot.html
Chapitre 4: Les activités et intents Android
Chapitre 5: Les vues ( Views), layouts, et ressources
Chapitre 6: Initiation aux communications réseau sous Android
Livres:
J. Horton, Android Programming for Beginners: Build in-depth, full-featured Android 9 Pie apps starting from zero programming experience, 2nd Edition, 2nd edition. Packt Publishing, 2018.
Book Code Source: https://github.com/PacktPublishing/Android-Programming-for-Beginners
Pascal Roques, Franck Vallée, UML 2 en action: De l'analyse des besoins à la conception, Edition 4, Eyrolles
Courses: