Android How To : Prise en Main



Documents pareils
TP SIN Programmation sur androïde Support : eclipse

TP au menu «UI ANDROID»

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

De Java à Android version 0.1

Warren PAULUS. Android SDK et Android x86

Créer des applications Android

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Encore plus de widgets et de conteneurs

SOMMAIRE

Les fondamentaux du développement d applications Java

Tutoriel Android. Pour démarrer la programmation d'applications Android

Programmation mobile avec Android

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Introduction ANDROID

Tutoriel Android - TP de prise en main

1.3 Gestion d'une application

Tutorial pour une application simple

Programmation Mobile Android Master CCI

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

Projet Android (LI260) Cours 2

Développement Android. J.-F. Couchot

Programmation Android L3 informatique

Épisode 2 : Les outils de développement Alain Menu édition 2.1, septembre 2013

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android

Votre premier projet Android

Gestion des différentes tailles d écran

Terminaux Mobiles Communicants

Android en action. Abdelkader Lahmadi Université de Lorraine

TD/TP 1 Introduction au SDK d Android

Android 4 Les fondamentaux du développement d'applications Java

EXA1415 : Annotations

TP2 : Client d une BDD SqlServer

Génie Logiciel et Interaction Homme-Machine PROJET UCAMPUS

Développement sous Android

TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet

Développement d'applications pour Android. M. Dalmau IUT de Bayonne Pays Basque

Android 101. Rémi Forax

Architectures Mobiles

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

Générer du code à partir d une description de haut niveau

Application de messagerie simple sur Android : Rapport de projet de VAP RSM

Module Architecture des systèmes mobiles : Android première partie Didier FERMENT - UPJV

Education Delivery Intelligent Tool

Développement web et mobile

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

Présentation du système d exploitation Open Source ANDROID

Table des matières. Partie I Concepts de base Préface... VII

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Android. Android is an environment where the biggest limitation is your imagination. P1 1

Guillaume GENS

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Installation et prise en main

BIRT (Business Intelligence and Reporting Tools)

Android et le Cloud Computing

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Interfaces graphiques avec l API Swing

Introduction au développement SharePoint. Version 1.0

Bases Java - Eclipse / Netbeans

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Comparaison entre les applications natives et les web apps dans le domaine des Smartphones

DÉVELOPPEMENT ANDROID

Point sur les solutions de développement d apps pour les périphériques mobiles

Optimiser pour les appareils mobiles

Reversing Android. Aïe, robot...

Introduction à Eclipse

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Machine virtuelle Java pour Palm TX

TP1 : Initiation à Java et Eclipse

Cedric Dumoulin (C) The Java EE 7 Tutorial

Chapitre 1 Retour en arrière

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Installation Eclipse Galileo. Groupe Entreprenant et Innovateur. France. Tutoriel. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach.

Environnements de développement (intégrés)

Installation d'une machine virtuelle avec Virtualbox

Eclipse atelier Java

wxwidgets dans un environnement Microsoft Windows

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Approche Contract First

esms Desktop Guide de l utilisateur

SOMMAIRE. Introduction... 3 A. ANDROID... 4

Déployer une application cliente avec le Framework.NET 3.5 Client Profile

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

TP1 : Initiation à Java et Eclipse

D E S C R I P T I O N D E S É L É M E N T S C L E F S D ' U I M A

Installation de SCCM 2012 (v2)

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Construire des plug-ins pour SAS Management Console SAS 9.1

Vanilla : Virtual Box

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

ARCHOS Activity Tracker

CATALOGUE DES OFFRES O2i INGÉNIERIE POUR LES PLATEFORMES ÉDITORIALES

WINDOWS SHAREPOINT SERVICES 2007

Création d un service web avec NetBeans 5.5 et SJAS 9

1. Installation d'un serveur d'application JBoss:

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Transcription:

Android How To : Prise en Main 1 Prise en main avec Eclipse... 2 1.1 Le projet... 2 1.2 Projet propriétés... 2 1.3 Le programme... 3 2 XML Base Layout... 4 2.1 Création du layout... 4 2.2 Lier le Layout au Code Java... 4 2.3 Outils de dessin... 5 2.4 Layout Graphic mode... 5 3 Le Manifest... 6 4 Listener.... 7 5 Basic Widgets... 8 5.1 Text label... 8 5.2 Button... 8 5.3 EditView... 8 5.4 Methodes et proprieties les plus utilisées... 8 5.4.1 Propriétés... 8 5.4.2 Méthode... 8 6 Les Containers... 9 6.1 LinearLayout (the box model)... 9 6.2 Exemple... 10

1 Prise en main avec Eclipse. 1.1 Le projet Cliquer sur le premier bouton : Package name doit être unique dans la market choisir le nom de la société + nom application Activity permet de créer le pgm principal Min SDK Version : API minimum à utiliser. 1.2 Projet propriétés. Vérifier la version SDK utilisée par défaut Le mieux est de configurer le defaut via Configure Workspace setting

1.3 Le programme Le premier pgm est assez simple. Pour lancer l application à partir d eclipse Run ou CTRL+F11 ADB est lancé par Eclipse. Deux possibilités : Soit un appareil android est connecté en USB (dans mon cas, mon Archos 70 IT). Dans ce cas, ADB transfère le pkg sur l Archos et le lance l application est visible sur l appareil. Soit, aucun appareil n est connecté dans ce cas, l émulateur est lancé (il faut configuré un Android virtuel auparavant)

2 XML Base Layout XML Base layout est une spécification qui défini les relations entre Widgets (petit programme ou Windows Gadgets) et les containers. C est considéré comme ressource pour Android et donc se retrouve en dessous du répertoire : «\NowPjt\res\layout\» Chaque XML contient un arbre d éléments qui représentent une disposition de «Containers» et «Widgets» qui vont former une «Vue». Le tool «aapt» livré avec le Kit SDK Android va généré le code «R.java» Quel sont les raisons pour les quelles on préfère modifier directement le fichier XML? La première est pouvoir lire la définitions et de l éditer plus facile si cela est dans un Fichier XML. Evite de corrompre le layout par une modification du code accidentel. XML devient assez courant Microsoft's XAML, Adobe's Flex, et Mozilla's XUL on une approche similaire et mettent les layout au format XML. 2.1 Création du layout On crée un XML pour le bouton : <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text=""/> Nom de la classe : Button comme Button fait partie des Widgets Android standard, il ne fut pas préciser plus. Android Name Space : xmlns:android=http://schemas.android.com/apk/res/android Tout les autres elements seront les enfants du l élément root et hériteront du namespace. Android :id : utilisé dans le code Java. 2.2 Lier le Layout au Code Java Tout les layout sont accessible à partir de R.layout (Class R générée) On doit faire référence au fichier XML qui sera utilisé dans cette vue : setcontentview(r.layout.main); setcontentview(btn) est supprimé. Ensuite, les élément de ces Layout Widgets sont accessible en utilisant «findviewbyid». Le bouton n est plus créer comme ceci : btn = new Button(this) On utilise : btn=(button)findviewbyid(r.layout.btn01);

Le code Final : package com.commonsware.android.now; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.button; import java.util.date; public class Now extends Activity implements View.OnClickListener { /** Called when the activity is first created. */ Button btn; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); //btn = new Button(this); setcontentview(r.layout.main); btn=(button)findviewbyid(r.id.button); btn.setonclicklistener(this); updatetime(); //setcontentview(btn); public void onclick(view view) { updatetime(); private void updatetime() { btn.settext(new Date().toString()); 2.3 Outils de dessin. http://droiddraw.org/ 2.4 Layout Graphic mode Il est possible d utiliser le mode graphique

3 Le Manifest Le «manifest» contient les info utile sur votre application Permission, etc

4 Listener. Activity est la classe de base d Android L activity contient un Bouton pour attraper toutes les actions faite sur les Widgets (Bonton, etc ), il faut avoir activity : View.OnClickListener Dans le pgm, on envoie tout les Click sur ce bouton vers l instance même : btn.setonclicklistener(this);

5 Basic Widgets 5.1 Text label Il est possible de créer un label textview, mais plus souvent, on ajoutera un Text dans les layout XML au moyen de Label android :text <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="you were expecting something profound?" /> 5.2 Button Sous classe de TextView 5.3 EditView Sous classe de TextView Plus de propriétés autotext, capitalize, AutoCompleteTextView widget 5.4 Methodes et proprieties les plus utilisées. 5.4.1 Propriétés. Controls the focus sequence: android:nextfocusdown, android:nextfocusleft, android:nextfocusright, android:nextfocusup android:visibility android:background 5.4.2 Méthode. SetEnable et IsEnable désactiver des Widgets en fct de CheckBox. requestfocus() et isfocused() getparent() trouver le parent getparentoftype() recherche d un container d une classe d un certain type findviewbyid() Retrouver l object dans un XML getrootview() retrouvera le setcontentview()

6 Les Containers Les containers servent à rassembler une collection de Widgets. Android support le Box model via LinearLayout et supporte aussi une gamme de containers. LinearLayout (the box model) RelativeLayout (a rule-based model) TableLayout (the grid model) ScrollView, a container designed to assist with implementing scrolling containers 6.1 LinearLayout (the box model) the orientation colonne ou ligne the fill model android:layout_width & android:layout_height specific dimension, such as 125px wrap_content fill_parent the weight layout_weight proportion de l espace libre attribute au widgets. the gravity alignement the padding espace entre widgets.

6.2 Exemple package com.commonsware.android.now; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.button; import java.util.date; import android.widget.edittext; public class Now extends Activity implements View.OnClickListener { Button btn; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btn=(button)findviewbyid(r.id.button); btn.setonclicklistener(this); updatetime(); EditText ETxt=(EditText)findViewById(R.id.field); public void onclick(view view) { updatetime(); private void updatetime() { btn.settext(new Date().toString()); <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/button" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bouton"/> <EditText android:id="@+id/field" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="edit"/> android:singleline="false"/> </LinearLayout>