LeBlog OXiane
2012
iOS & Core Data
Nous allons encore poursuivre avec notre application développée lors de mes 2 derniers billets ici et là afin d’ajouter un bouton « clickCoreData » qui fera un segue vers un UITableViewController
peuplé à partir de Core Data.
Qu’est ce que Core Data ?
« C’est une bibliothèque permettant de gérer le cycle de vie des objets et les graphes d’objets de manière automatique et générale incluant également la persistance » – traduction partielle de la page du site d’Apple.
En gros, pour moi c’est un peu comme une base de données orientée objet, on pourrait faire la parallèle avec Hibernate côté Java sauf que ce n’est pas un framework de persistance d’objet même s’il peut persister les graphes d’objets (relations et états).
Ici, nous allons créer le mapping entre la base de donnée et les objets puis les requêtes permettant de récupérer/modifier/… nos objets et enfin accéder aux « colonnes de notre table » grâce aux propriétés de ces objets. Lire la suite du bllet »
2012
Subversion dans les nuages
De passage au siège Oxiane, petite discussion avec Jeff. Il voudrait rendre le référentiel subversion d’un projet accessible de l’extérieur mais impossible de trouver ne serait-ce qu’une demi-heure pour configurer tout le monde sur le réseau.
Jeff, tu as cinq minutes ? Sers-toi un café, je te monte un subversion accessible y compris depuis Krypton.
.
t0
Je me connecte sur le site de cloudbees.
Je commence par ajouter un nouvel utilisateur à mon compte pour ton développeur (Account > Manage Users > Add a user).
Lire la suite du bllet »
2012
Soirée PAUG de Janvier 2012 : IceScream Sandwich & ASOP
Ice Scream Sandwich est le nom de code de la toute dernière version de Android, la version 4. C’est l’un des deux thèmes de la première conférence PAUG de la nouvelle année qui s’est déroulée dans les locaux de l’ECE de Paris. . La deuxième partie de la soirée était consacrée aux problématiques de la compilation des sources de Android à travers un retour d’expérience sur le projet ASOP (Android Open Source Project).
Ice Scream Sandwich
Dans la nouvelle version de Android on notera en premier lieu, du point de vue utilisateur, l’amélioration du Look’n Feel et les fonctionnalités du « Multitasking ». La bonne nouvelle pour les développeurs est l’unification de la plateforme qui permet de développer une seule application pour tous les terminaux Android. Pour marquer le coup avec le succès des réseaux sociaux, de nouvelles API – Social API – sont ajoutées pour faciliter le partage des ressources sur Facebook, Google ou tweeter ou l’accès au profil utilisateur. Dans l’API Contacts, tout comme dans l’API Calendar, une nouvelle table et des permissions supplémentaires sont apparues. L’intégration du NFC pour la communication directe entre terminaux et les récentes couches de l’ « Accessibility Features » (la possibilité de faire une description vocale des éléments de l’écran) vont élargir le champ d’utilisation de la plateforme.
Les habitués de Swing, qui ont très tôt croisé le fer avec le TableLayout, apprécieront l’arrivée du Layout passe partout qu’est le GridLayout pour combler les limites du LinearLayout (défaut d’alignement).
(Android Open Source Project)
Daniel Fages est expert en construction de ROM Android, c’est lui qui a présenté le deuxième thème de la soirée, ASOP. D’abord pourquoi compiler Android ? Pour l’adapter à un usage spécifique, pour trouver d’éventuelles failles de sécurité, ou par simple curiosité. Le matériel nécessaire n’est pas à la portée de tout le monde, 16 Go RAM pour une durée de compilation de 30 minutes. Très peu de développeurs poussent leur audace aussi loin. En plus de la difficulté de maitriser la programmation système avec C/C++ il y a l’obstacle de la nature de la licence Apache et l’absence de communication de Google sur les orientations futures de son OS mobile.
Pour revivre la soirée avec beaucoup plus de détails les slides et les vidéos sont disponibles en ligne.
2012
La combinaison de LoaderManager et MediaStore.Audio sous Android
Bonjour,
Je vais vous parler de deux sujets dans cet article :
- comment récupérer les informations concernant la musique stockée sur un téléphone android
- comment gérer un chargement en tâche de fond avec les Loader
Obtenir des informations sur vos fichiers musicaux :
Le framework android procède un ContentProvider qui fourni des informations sur la musique stockée sur l’appareil. Il est donc possible de l’interroger comme n’importe quel autre ContentProvider.
Vous trouverez toutes les constantes intéressantes dans les sous classes de MediaStore.Audio.
developer.android.com/reference/android/provider/MediaStore.Audio.html
Ce qui vous permettra d’avoir des informations sur les playlists, les genres musicaux, les albums, les artistes, etc…
Par exemple pour obtenir la liste de tous les artistes correspondant à votre musique. Il suffit de faire comme ceci :
public List<String> getArtistsNames(Activity act) { ArrayList<String> artists = new ArrayList<String>(); String[] proj = { MediaStore.Audio.Artists.ARTIST }; Cursor musicCursor = act.managedQuery(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,proj, null, null, null); if(musicCursor.moveToFirst()) { do { String artistName = musicCursor.getString(0); artists.add(artistName); if( EtLog.isEnabled()) { EtLog.d(TAG,String.format("Identified Artist name is [%s]",artistName)); } } while(musicCursor.moveToNext()); } return artists; }
Lire la suite du bllet »
2012
Sauvegarder simplement en base de données avec ORMLite sous Android
Bonjour,
Je voudrais vous parler d’une bibliothèque très pratique pour sauvegarder des données dans la base SQLite d’un téléphone Android. Cette bibliothèque s’appelle ORMLite.
Je vous ai déjà parlé d’une autre bibliothèque pratique pour faire un parsing JSON : JacksonPaser.
Les deux bibliothèques peuvent s’associer parfaitement, ce qui offre un bon socle pour commencer un projet Android.
Ormlite supporte les connections JDBC à MySQL, Postgres, H2, SQLite, Derby,
HSQLDB, Microsoft SQL Server.
Mais ce qui nous intéresse ici c’est qu’ORMLite supporte les appels natifs à la base de données SQLite sous Android.
Si vous avez déjà essayé de faire de la sauvegarde en base sous android, vous vous êtes sûrement aperçu combien c’est fastidieux.
Personnellement je ne trouve pas cela très pratique. Je préfère utiliser un ORM (Object Relational Mapping) qui fait un mapping entre mes objets métier et les enregistrements en base de données.
Certes on peut avoir des dégradations de performances, mais au vu du confort apporté au niveau de la programmation, le choix est vite fait.
Installation
Il faudra télécharger 2 fichiers jar, les déposer dans un répertoire lib et les ajouter dans le CLASSPATH.
Vous trouverez les 2 fichiers suivant ici ormlite.com/releases/
– ormlite-android-X.XX.jar
– ormlite-core-X.XX.jar
Lire la suite du bllet »