Aller au contenu

Compte à rebours


Recommended Posts

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 texte
Ceci 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-pic
Et 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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...