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:
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.
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:
Vous devez être identifié pour poster un commentaire.
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:
Vous devez être identifié pour poster un commentaire.
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.
Vous devez être identifié pour poster un commentaire.
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 :

Vous devez être identifié pour poster un commentaire.
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".
Vous devez être identifié pour poster un commentaire.
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
Vous devez être identifié pour poster un commentaire.
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.
Copyright © 2000-2012 - www.developpez.com