Dévelopement ANDROID et web service REST

salem

je suis débutants en développements ANDROID et web service REST

je veux créer un web service REST pour une application en php

et je veux communiquer avec ce web service par une application android (mobile) pour

insérer des données saisies dans des champs dans sa base de donnée

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    bonjour

    Quel est réellement ton problème ?
    1. salem

      La fonction assure le pointage d'un employé par son smarthphone
      il saisie le champs login et qrcode par son smarthphone puis il clique sur envoyer pour envoyer ces données a une autre application web
      On suppose que cette application web dispose d'un web service RESTfull crée par la framework symfony qui me dirige vers une fichier .php qui insère dans une table pointage {id,login,qrcode,date}
      sachant que cette application ne me retourne aucune information
      bon j'ai fait le codage suivant mais la connexion n'est pas réussie
      pour

      package com.android.myapp;

      import java.io.IOException;

      import org.apache.http.client.ClientProtocolException;
      import org.apache.http.client.HttpClient;
      import org.apache.http.client.methods.HttpGet;
      import org.apache.http.impl.client.DefaultHttpClient;

      import android.app.Activity;
      import android.os.Bundle;
      import android.view.View;
      import android.widget.Button;
      import android.widget.TextView;

      public class MainActivity extends Activity {
      Button b1;
      TextView txt1;
      TextView txt2;
      TextView txt; //pour l 'exception
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      b1 = (Button)findViewById(R.id.button1);
      txt1 = (TextView)findViewById(R.id.editText1);
      txt2 = (TextView)findViewById(R.id.editText2);
      txt =(TextView)findViewById(R.id.exp);
      b1.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {
      HttpClient c=new DefaultHttpClient();
      HttpGet req=new HttpGet("http://192.168.1.18/gad.php? login="+txt1.getId()+"&qrcode="+txt2.getId()); //192.168.1.18 c'est l'adresse ip du pc et n'est pas du localhost
      try {
      c.execute(req);
      }
      catch (Exception ex)
      {
      txt.setText("Some Errors occured: "+ex.getMessage());
      }
      }
      });
      }
      }
    2. @himitchovoici un bon exemple

      http://www.androiddeveloppement.com/afficher-une-image-distante/
  2. Bonjour,

    Votre appli est-elle fournisseur de WS Rest?

    Si oui, la solution: Zend Framework comme ceci:

        /**
    * récupère les données d'un dossier dans la table dossiers
    *
    * @param int $id_dossier
    * @return array
    */
    function getDossiers($id_dossier) {
    global $Db;
    $sql = "SELECT * FROM dossiers WHERE id_dossier >= $id_dossier "
    . "LIMIT 0,1 ";
    $resultat = $Db->fetch($sql); // récupère enregistrement demandé

    $row = $resultat[0];
    if (!empty($row)) {
    $outDatas = array();
    foreach ($row AS $key => $val) {
    $outDatas[$key] = $val;
    }
    return $outDatas;
    }
    return array(
    'status' => 'failed'
    );
    }

    set_include_path('../');
    require_once 'Zend/Rest/Server.php';

    $server = new Zend_Rest_Server();
    $server->addFunction('getDossiers');
    $server->handle();

    que vous sauvez dans un fichier nommé par exemple monWs.php

    Et à l'utilisation si c'est sur www.monsite.com sous répertoire wsrest:

    www.monsite.com/wsrest/monWs.php?method=getDossiers&id_dossier=45123

    A+
    1. Salut,
      Je veux savoir comment vous avez fait pour que cela marche.
      En fait je suis entrain de faire une application qui ressemble beaucoup à la votre et j'ai le même problème de connexion.