目前在公司的WEB项目中遇到关于通过PHP提供Android服务的需求,所以借此介绍一下关于PHP和Android如何进行通讯并服务彼此。 由于PHP可以为Android提供数据库的交互,并进行数据检索信息提供给Andriod系统,所以使用PHP作为服务端是一个不错的选择。Android系统(手机)可以使用HTTP协议来链接PHP脚本。我们可以先简要通过图形来介绍PHP服务端和Android系统的服务架构,PHP服务端当然是有PHP脚本和MySQL数据库组成。 我们可以通过JSON(JavaScript Object Notation)的方式进行通讯。JSON是一个轻量级基于文本的开放性标准,专门为进行数据交互而设计的脚本。 JSON在我们的应用程序中使用的大致流程如下:
  1. 当Android应用程序将执行,它将Android设备连接到PHP脚本。
  2. PHP脚本将会从MYSQL数据库中提取数据,并将它编码成JSON格式,发送到Android设备。
  3. 最后,Android应用程序获取这些已编码的数据,反解码数据并将数据显示在Android设备上。
  1. 使用HTTPPOST发送数据请求。
  2. 转换为字符串。
  3. 反解码JSON数据,然后就可以显示这些数据。
APP中的代码类似如下: public class inf extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String result = null; InputStream is = null; StringBuilder sb=null; String result=null; //http post try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(""); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ Log.e("log_tag", "Error in http connection"+e.toString()); } //convert response to string try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); sb = new StringBuilder(); sb.append(reader.readLine() + "n"); String line="0"; while ((line = reader.readLine()) != null) { sb.append(line + "n"); } is.close(); result=sb.toString(); }catch(Exception e){ Log.e("log_tag", "Error converting result "+e.toString()); } //paring data int fd_id; String fd_name; try{ jArray = new JSONArray(result); JSONObject json_data=null; for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); fd_id=json_data.getInt("ID"); fd_name=json_data.getString("NAME"); } }catch(JSONException e1){ Toast.makeText(getBaseContext(), "No INF Found", Toast.LENGTH_LONG).show(); }catch (ParseException e1){ e1.printStackTrace(); } } } PHP服务端的获取信息的代码执行类似如下:
  1. PHP脚本链接到数据库。
  2. 根据Android发过来的请求对数据库使用SQL执行一个查询,获取数据信息。
  3. 然后以JSON数据格式输出。
类似代码如下: inf.php

Words translated by CCJK


Request a call or contact us


    Call for professional assistance


    Click Here to leave us a message and be as detailed as possible.

We are Certified

Our Client Satisfaction

rating for previous quarte

    Inquiry Form

    Please take few minutes to fill
    inquiry form and get Free Quote

    Request a Call

    Click to receive Free Call, Our
    Representative will contact you

    Leave a Message

    Please leave us a message and
    be as detailed as possible

Over 95% of our clients recommend our language services to others

Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.