dje8269 Posted June 20, 2016 Share Posted June 20, 2016 Bonjour à tous, tout d'abord j'espere posté au bon endroit ! Je débute totalement avec les applications Android. J'ai déjà eu l'occasion d'en créer une avec MIT APPinventor2. Mais étant perfectionniste, je préfére gérer et comprendre ce que je fais . J'ai donc décider de prendre le taureau par les cornes, et de creer mon App avec un "vrai" logiciel. Apres avoir lu pas mal de tuto, j'ai decider de télécharger Android Studio, et de suivre quelques Tuto ( open classroom entre autre). Cependant j'ai encore pas mal de lacunes. Mon domaine de prédilection est l'éléctronique et la programmation de micro-controleur embarqué ! Le langage en C j'espere me fera comprendre un peu mieux quelques subtilités. Maintenant dans le vif du sujet: J'ai créer une prise electrique commandée en Blue-tooth . Et c 'est justement l'application de commande de la prise que je souhaite refaire pour me familiariser avec Android Studio. En commencant par le début ( en oubliant le Blue-tooth pour le moment). je souhaite créer une zone de saizie de texte ( plutot de chiffre) pour rentrer par exemple le nombre d'heures d'activation de la prise. Le probléme c'est que je n'arrive pas traiter un Edit texte comme un chiffre ? Aprés pas mal de recherche, j'en suis rendu la. MAis les explication suivants la date de création divergent vachement les uns des autres. J'ai créer la zone de texte . je l'ai mise en chiffre . ( pas trop dur).En appuyant sur un bouton je souhaite, par exemple prendre le chiffre rentré le mulitplié par deux et l'affiché dans un autre champ de texteCeci entierment dans un but pédagogique pour me faire comprendre, car je ne souhaite pas faire faire l'application mais avancé avec des personnes experimentées. je ne pense pas que ce soit trés dur mais je bloque car les déclaration sont plutot lourdes je trouve ! Voici le projet final en détail ( inscription obligatoire pour le voir désolé): Lien vers fantas-picEt voici la vidéo que j'ai faite, plus parlante mais avec app inventor : http://www.dailymotion.com/video/x449vwi Pour vous donner une idée de mon travail voici . J'ai réussis à cacher du texte ou à l'affciher en appuyant sur les boutons correpsondants. maintenant je souhaite multiplié par deux un chiffre rentré dans le champs de texte Heures, et l'affiché dans le champ result quand ion appui sur un bp ; package com.example.jeremy.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.view.View.OnClickListener; public class Fenetre_Principale extends AppCompatActivity implements View.OnClickListener { Button BP1 = null; Button BP2 = null; EditText Heures = null; TextView message; TextView result = null; @[member=override] protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fenetre_principale); message = (TextView) findViewById(R.id.Mon_texte); BP1 = (Button) findViewById(R.id.bouton1); BP2 = (Button) findViewById(R.id.bouton2); Heures = (EditText)findViewById(R.id.Heures); BP1.setOnClickListener((OnClickListener) this); BP2.setOnClickListener((OnClickListener) this); result = (TextView)findViewById(R.id.result); } public void onClick(View v) { switch(v.getId()) { // On récupère l'identifiant de la vue, et en fonction de cet identifiant… case R.id.bouton1: // Si l'identifiant de la vue est celui du premier bouton message.setVisibility(View.VISIBLE); /* Agir pour bouton 1 */ int value = Integer.parseInt(Heures.getText().toString()); value = value*2; result.setText(value.getText().toString()); // break; case R.id.bouton2: message.setVisibility(View.INVISIBLE); /* Agir pour bouton 2 */ break; } } } Merci à tous pour l'aide que vous pourrez m'apportez . PS: s'il manque des info n'hesitez par à ma demander. Je suis ultra débutant, mais j'apprends assez vite. Quote Link to comment Share on other sites More sharing options...
dje8269 Posted June 20, 2016 Author Share Posted June 20, 2016 Bonsoir, Alors j'ai un peu avancé ce soir . j'ai enfin réussis à afficher un nombre entier mis dans un Edittext ! Ces deux lignes fonctionne , mais quelle es la différence ? number = Integer.parseInt(Heures.getText().toString()); number = Integer.valueOf(Heures.getText().toString()); Donc du coup, je peux maintenant faire des tests sur ma variable. En effet, la personne doit rentrer l'heure dans ce champ . Je désire limité le nombre à rentré dans les cases à 99 heures . je ferais de même avec les minutes ( 59 max) et les secondes (59 max). Donc j’écris if (number<=60) result.setText(""+number); else { result.setText("trop grand"); Heures.setText(""); Heures.requestFocus(); } ceci pour limiter les heures rentrées à 60 . si le nombre rentré est inférieur c'est bon je l'affiche . Sinon j’écris un texte pour signaler qu'il est trop grand, et j'efface la valeur trop grande, puis je remet le curseur dessus. Le HIC c'est que ce test ce fait sur appui d'un BP, je préférerai qu'il se passe soit quand on valide au clavier , soit quand ojn perd le focus ? Savez vous comment je dois m'y prendre ? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.