Question Java - Android - Exécution d'une page

Fermé
xkeliff Messages postés 1 Date d'inscription dimanche 10 février 2013 Statut Membre Dernière intervention 10 février 2013 - Modifié par xkeliff le 10/02/2013 à 00:50
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 - 11 févr. 2013 à 10:08
Bonjour,

Je suis en train de m'initier au java afin d'arriver à créer une application sous android pour contrôler ma domotique via une interface simple.

En gros, j'ai déjà fait en sorte de pouvoir exécuter des scripts pour ma domotique au travers de code PHP. Je n'ai donc qu'à exécuter ce que j'ai déjà mis en place. Je dois donc exécuter une page comme ceci:
"http://www.mondomaine.be/Zibase/scenario.php?nomsc=Telerupteur_Salon"

J'aimerais arriver à exécuter cette page à la pression d'un bouton sur ma tablette sans quitter l'application.

Voici le code sommaire que j'ai essayé jusqu'à présent:

package com.home.domotique_maison; 

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
         
        //Mes boutons 
        Button vButtonSALON = (Button)findViewById(R.id.button1); 
        Button vButtonSAM = (Button)findViewById(R.id.button2); 
     
     
    //Action des boutons 
    vButtonSALON.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v){ 
      //Faire quelque chose 
      Uri.parse("http://www.mondomaine.be/Zibase/scenario.php?nomsc=Telerupteur_Salon"); 
     } 

    }); 
    vButtonSAM.setOnClickListener(new View.OnClickListener() { 
  public void onClick(View v){ 
   //Faire quelque chose 
   Uri.parse("http://www.mondomaine.be/Zibase/scenario.php?nomsc=Telerupteur_SAM"); 
        } 
    }); 
    } 

 @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        // Inflate the menu; this adds items to the action bar if it is present. 
        getMenuInflater().inflate(R.menu.activity_main, menu); 
        return true; 
    } 
     
} 


Je sais que j'ai certainement brûler des étapes dans mon apprentissage. Je vous demande cependant d'être indulgent et de bien vouloir m'aider.

Merci d'avance pour votre aide.

Xavier

A voir également:

1 réponse

scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
11 févr. 2013 à 10:08
Bonjour,

je suis pas expert, mais je pense que un problème vient des actions sur les boutons qui se situent dans le Oncreate.

Voici le cycle de vie d'une application Android :
http://androtruc.wordpress.com/2010/07/19/le-cycle-de-vie-dune-application-android/

Donc pour faire l'écoute des boutons, je place les setOnClickListener dans le Onresume() et non dans le Oncreate.

De plus, (mais cela ne changera pas la façon de fonctionner de votre code) j'écris toujours de manière à séparer le code des boutons, membre en tout genre.

Par exemple :

@Override
public void onResume()
{
super.onResume(); // A ne pas oublier !
vButtonSALON.setOnClickListener(vButtonSALONOnClickListnner);
vButtonSam.setOnClickListener(vButtonSamOnClickListnner);

}

private OnClickListener vButtonSALONOnClickListnner = new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
Votre code
}
};

Je trouve ça bien plus lisible et plus facile à debuguer par la suite.

Je ne suis pas expert en developpement, alors vous avez largement le droit de ne pas être d'accord avec moi sur la façon de présenter le code.

Je reste à l'écoute de vos questions et de vos remarques.

Bonne journée
0