Aller au contenu

[Bon départ] Comment organiser son code ?


Raph13

Recommended Posts

Bonjour,

J'ai l'habitude de développer des applications grâce au framework XulRunner de Mozilla, qui est très puissant et pourtant très facile d'accès : XML pour l'interface et JS pour le code. Les actions sont très simples à capter, les informations faciles à afficher,...

Adorateur d'android et futur acquéreur d'une Galaxy Tab pour mon usage perso et professionnel (enseignant), je souhaiterais développer une appli de gestion pour les profs : notes, feuille de routes, RDV parents, checklists diverses (parents rencontrés, exercices non faits,...).

Le truc c'est que Java me parait tellement compliqué par rapport à JavaScript... pour l'instant :

- J'ai installé Eclipse + SDK + ADT : Ca marche, j'ai fait mon "HelloWorld" et il se lance dans ADB

- J'ai entièrement lu "Programmation Java" du siteduzero (bien instructif).

- J'ai acheté les 2 derniers livres français sortis sur Android sur le site d'Eyrolles.

- J'ai lu les excellents tutos de http://www.ace-art.fr qui sont vraiment très pédagogiques.

- J'ai parcouru pas mal le site de développement d'android (dev guide, resources,...) qui semble très complet.

Néanmoins, malgré tout ça, j'ai du mal à digérer toute cette masse d'information et quelques questions me trottent dans la tête, sûrement très bêtes mais bon :

1 / Comment structurer mon code ?

Avant, dans un fichier xul, je chargeais mon JS principal, qui s'il en avait besoin... chargeait d'autres JS, des petites librairies très courtes où je mettais mes objets les plus utilisés.

Mais en Java, j'ai du mal à comprendre comment faire : Quelle syntaxe ? Où le mettre ? Quelle syntaxe pour l'importer ?

2 / Je vais avoir une interface avec onglets

En XUL, je chargeais chaque onglet séparément, mon code n'en était que plus clair.

D'après http://developer.android.com/resources/tutorials/views/hello-tabwidget.html il existe effectivement les 2 méthodes : soit tout charger en même temps, soit tout séparément...

Question : Si je sépare tout, est-ce que lorsque je navigue entre les onglets ma frame est-elle rechargée ? Car je peux avoir besoin de zieuter rapidement un onglet et puis revenir sous mon précédent onglet exactement dans l'état dans lequel il était... et non pas réinitialisé... c'est possible avec une séparation des frames et du code ?

3 / Comment gérer dès le départ les résolutions et l'orientation de l'écran ?

Je vous l'ai dit, objectif premier : Galaxy Tab 7"... puis éventuellement des 4,3 ou des 10".

Donc avec un écran 16/9 de 7", il y a un vrai changement d'ergonomie quand on change l'orientation de la tablette, et donc il faut prévoir un changement d'interface.

Si je créé mon interface dynamiquement, j'ai vu qu'il y avait des fonctions pour gérer ça. Sinon, en statique apparemment il suffit de faire plusieurs layouts XML selon l'orientation ou la résolution, mais je n'ai pas encore trop bien compris comment faire : est-ce automatique en nommant mes layout d'une certaine manière ? ou bien est-ce à moi de gérer ça dans mon code avec des Listener partout du genre : attention quand ça bouge en horizontal, faut charger le layout qui va bien, ce genre de choses...

J'ai encore tout un tas de questions en réserve mais on va commencer par ça et y aller petit à petit. ;)

Je vous remercie d'avance pour tout avis ou tout conseil sur mes débuts dans cette grande aventure (apprendre un nouveau langage, c'est toujours délicat).

Merci merci :)

Lien vers le commentaire
Partager sur d’autres sites

1)

Globalement, je sépare le code "java" en 2 parties :

- les Activities

- les classes "annexes"

2)

Il faut avoir :

- 1 activity pour gérer la barre d'onglet

- n activities pour gérer chaque onglet

Il suffit simplement de passer un Intent lorsque tu fais setContent() sur tes TabSpec

De ce que j'ai vu, l'Activity est instancié au moment où son onglet est sélectionné pour la première fois.

Et elle reste "ouverte"...

3)

Il suffit de créer des DOSSIERS différents pour les divers layouts (grand/petit écran) correctement nommés

http://developer.android.com/guide/practices/screens_support.html

Il faut utiliser le "qualifier" adéquat (small/normal/large)

Attention! ça n'a rien à voir avec la densité de pixels dans ce cas, mais uniquement de la taille physique de l'écran

Lien vers le commentaire
Partager sur d’autres sites

Pierre87 > Merci pour tes conseils ;)

azalsup > Effectivement, j'ai vu ça... mais bon, je m'interroge quand même sur la pertinence de l'utiliser sur Android.

Autant je trouve extraordinaire l'intégration de Xulrunner sur les différentes plateformes comme Windows, Mac ou Linux (GTK) au niveau éléments graphiques, autant pour pour du tactile...

Je m'explique, Windows/Mac/Linux, on retrouve du textbox, du menulist, du radiobutton, etc... et l'apparence s'adapte quasi-parfaitement à chaque plateforme.

Mais pour du tactile selon moi, chaque plateforme doit avoir ses propres spécificités (en attendant d'avoir une vrai base commune : slides, transitions, onglets, accès au système,...) du coup j'ai peur que Xulrunner ne parvienne pas à faire une super émulation de tout ça.

Et je dois bien avouer également que niveau performance, le ressenti d'une tablette tactile doit être sans faille, et je doute que ce soit déjà le cas avec Firefox, bien malheureusement.

Je reste donc dans l'optique Xulrunner pour du Win/Mac/Linux, mais je vais apprendre le Java pour du développement natif sur Android (même si ça me fait un peu beaucoup suer ^_^")

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...