26/12/2011

Permalink 11:11:33, Catégories: Android, Mono for Android, 306 mots   French (FR) , aktaour

[Android][Java] [Mono]Orientation de l'écran

Sur Android, l'orientation de l'écran influe sur l'affichage des applications.
L'Android SDK offre la possibilité aux écrans de s'adapter à la résolution par ces systèmes de gravité (sorte de point d'ancrage).
Je crée mon application et je m'amuse à la passer du mode portrait au mode paysage.
Cette application se connecte en TCP à mon PC, et rapidement je me suis rendu compte que mon application se comporte étrangement.

En effet, à chaque changement d'orientation, ma connexion TCP se renouvelle. Après plusieurs heures d'analyses et de recherches j'ai compris et résolu le problème.

Par défaut, à chaque changement d'orientation, l'Activity courante est détruite puis recréé par le système Android.
Imaginez ma frustration en constatant cela, où sont mes objets en mémoires -> disparu....

Je connais deux solutions à ce problème:

  • Surcharger la méthode onRetainNonConfigurationInstance pour en sauvegarder un seul objet. Je dé-conseil ce n'est vraiment pas pratique
  • Surchager la méthode OnConfigurationChanged

Le fait de surcharger la méthode OnConfigurationChanged et de définir la propriété ConfigurationChanges au Manifeste permet de ne plus redémarrer l'activité courante en cas de changement d'orientation.

TIPs: en java, les propriétés ConfigurationChanges se trouve dans le fichier AndroidManifest.xml du projet. Sous Mono for Android c'est dans l'entête de votre définition de la classe qu'il se trouve.

Exemple:

 
[Activity(Label = "FrmTest ", ConfigurationChanges=Android.Content.PM.ConfigChanges.Orientation)] 
public class FrmTest : Activity 

  /// <summary> 
  /// Permet de ne plus redemarrer l'activité sur un changement de configuration 
  /// </summary> 
  /// <param name="newConfig"></param> 
  public override void OnConfigurationChanged(Configuration newConfig) 
  { 
  base.OnConfigurationChanged(newConfig); 
  } 

Cette petite astuce vous permettra sans doute de gagner du temps :).

Vous devez être identifié pour poster un commentaire.

25/12/2011

Permalink 12:32:59, Catégories: Android, Mono for Android, 873 mots   French (FR) , aktaour

[Android][Java] [Mono]Asynchrone Mon meilleur ennemi (suite)

Il y a quelques jours j'exposai vulgairement ma façon de développer en ansynchrone entre différentes activity.

Aujourd'hui je vous montre comment faire en mutualisant la génération des mutex et des paramètres passés entre activity.

Pour cela , je crée:

  • Une classe static nommée BibFrm (Bibliothèque pour les fomulaires) qui contiendra une liste de paramètres liée à chaque activity par un identifiant.
  • Une classe nommé ParamFrm qui contiendra les paramètres (cle/valeur) de mon activity
  • Un objet pour accéder de manière unique à mes paramètres (Univers Threadé) nommé mutexParamFrm
  • Une fonction de recupération de paramètres généric
  • Une fonction de suppression complète de paramètres
  • Une fonction d'ajout de paramètres
  • Une fonction de calcul du prochain identifiant des activity

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

22/12/2011

Permalink 00:27:57, Catégories: Android, Mono for Android, 542 mots   French (FR) , aktaour

[Android][Java] [Mono]Asynchrone Mon meilleur ennemi

Tout fier, je me lance dans ma première application à l'aide de Mono for Android.

Je crée un projet sous Visual Studio 2010 et me munis de mon téléphone sous Android.
Pour les imprimes écrans, j'utilise l'option screen capture du logiciel ddms (dalvik debug monitor) fournit avec le sdk de mono.

L'application à créer est simple:

  • Ouverture d'une activité à partir d'un bouton
  • Fermeture de l'activité ouverte
  • Affichage d'un message à l'écran sur fermeture de la seconde activité.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

21/12/2011

Permalink 22:15:03, Catégories: Android, Mono for Android, 496 mots   French (FR) , aktaour

[Android][Java] Mono for Android

Bonjour,

Je suis passé d'un Iphone à un Samsung Note sous Android 2.3.6, je pars donc à la découverte de Mono for Android.

Pour information, Mono for Android permet de développer des applications en C#. Il est basé sur le runtime Mono et est propriété de la société Xamarin .

L'interface graphique est basé sur les fichiers axml de l'android sdk. Il est donc assez aisé de trouver de la documentation sur la partie graphique sur le site officiel.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

26/01/2011

Permalink 10:45:26, Catégories: Récapitulatif Qt, Qml, 611 mots   French (FR) , aktaour

[Qt] QML Cursor

Un petit billet pour vous montrer comment changer le curseur de la souris lors du survole d’un bouton dans une application Qt mixte C++/QML.

Il n’existe apparemment pas de fonction QML pour changer le curseur de l’application, je vous propose donc de le faire manuellement.

Résultat :

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

21/01/2011

Permalink 16:08:50, Catégories: Récapitulatif Qt, Qml, 659 mots   French (FR) , aktaour

[Qt] Traduction interface QML

Le but de ce billet est de tester l’internationalisation des applications QML.

Je m’appuie sur la documentation Qt « QML Internationalization » disponible sur ce lien http://doc.qt.nokia.com/4.7-snapshot/qdeclarativei18n.html.

Mot clés :

L’internationalisation d’une application classique Qt passe par l’utilisation de la balise tr().
Exemple : tr("bonjour").

En QML, le mot clé "tr" a été remplacé par "qsTr".
Exemple : qsTr("bonjour").

Le mot clé « qsTr » peut être remplacé d’après la documentation par "qsTranslate", "QT_TR_NOOP" et "QT_TRANSLATE_NOOP".

Dans le code C++, j’utiliserai toujours le mot clé « tr » et dans mes fichiers QML, j’utiliserai le mot clef "qsTr".

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

Permalink 10:31:21, Catégories: Récapitulatif, Récapitulatif Qt, Qml, 244 mots   French (FR) , aktaour

[Qt] Installation Qt / Qt Creator / Qt Quick

Le but de ce billet est de présenter l’installation de Qt, Qt creator et Qt Quick sur un environnement Windows XP.

Mes Pré requis :


Installation :

J’installe Qt 4.7.0 dans le répertoire C:\Qt\2010.05 puis je renseigne la variable d’environnement %PATH%= … ; C:\Qt\2010.05\bin;C:\Qt\2010.05\qt\bin

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

Permalink 09:56:25, Catégories: Informations, 74 mots   French (FR) , aktaour

Pourquoi ce blog

Ce blog a pour vocation de s’attarder sur le développement Qt avec des interfaces écrites en QML.

Mon expérience : 2 ans de C++ Builder 6/Gnu c. 4 ans de C#/Delphi (winxp/winCE/winMobile).

Aujourd’hui je mène une étude sur le portage d’un de mes projets de C# vers Qt/QML et je vous ferais partager mes découvertes et mes déboires.

Je m'attarde principalement sur les plateformes Windows.

Vous devez être identifié pour poster un commentaire.

Liste des blogs

Découvrons DotNet sur différentes plateformes

Catégories


Rechercher

<  Décembre 2011  >
Lun Mar Mer Jeu Ven Sam Dim
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web