Android访问php webservice简单一例

如果是PHP做的服务端,要用Android去访问,如何办?当然可以用REST,但也可以用点笨的方法,比如PHP的服务端可以用JSON和XML提供返回的数据,而android端则可以用APACHE的httpclient去访问.

下面是一个例子,假设数据表中users表有如下字段(mysql):

idusers,UserName,FullName,加点数据.然后在服务端PHP,建立一个

webservice1.php,作用是直接返回服务端数据库的数据,如下:

<?php     if(isset($_GET['user']) && intval($_GET['user'])) {               $format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'//xml is the default      $user_id = intval($_GET['user']); //no default         /* 连接数据库*/     $link = mysql_connect('localhost','root','xxxxx') or die('Cannot connect to the DB');      mysql_select_db('jsonandroid',$link) or die('Cannot select the DB');            $query = "SELECT * FROM `users`;";      $result = mysql_query($query,$link) or die('Errant query:  '.$query);           $posts = array();      if(mysql_num_rows($result)) {        while($post = mysql_fetch_assoc($result)) {          $posts[] = array('post'=>$post);        }      }         /* json格式*/     if($format == 'json') {        header('Content-type: application/json');        echo json_encode(array('posts'=>$posts));      }      else {        header('Content-type: text/xml');        echo '<posts>';        foreach($posts as $index => $post) {          if(is_array($post)) {            foreach($post as $key => $value) {              echo '<',$key,'>';              if(is_array($value)) {                foreach($value as $tag => $val) {                  echo '<',$tag,'>',htmlentities($val),'</',$tag,'>';                }              }              echo '</',$key,'>';            }          }        }        echo '</posts>';      }         }     ?>   

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wydwzj.html