如何制作一个 web 服务(最好使用 PHP),它可以被 android 应用程序请求以获取 JSON 对象

Posted

技术标签:

【中文标题】如何制作一个 web 服务(最好使用 PHP),它可以被 android 应用程序请求以获取 JSON 对象【英文标题】:How to make a web service (preferably using PHP) that can be requested to get JSON objects by the android app 【发布时间】:2012-09-11 15:15:56 【问题描述】:

我正在制作一个 android 应用程序,它与远程服务器的数据库交互并通过传入和传出 JSON 对象来相互通信。

我需要知道如何在我的服务器(最好是 php)上编写这样的服务,android 应用程序可以向它发出请求,并且在接收到请求时,服务器处理并创建一个 JSON 对象并将其传递给 android 应用程序.

另外,我需要知道,当该服务在服务器上运行时,android 应用程序会在 哪个 URL 上发出请求?

例如,如果 android 应用必须请求服务器以获取参数数据: 名称:苹果 地点:美国 然后,我想android应用程序将不得不以以下形式请求服务器: www.example.com?name='Apple"&location='US'

那么如何让这样的服务在远程服务器上运行呢?

提前致谢!

【问题讨论】:

您可以将帖子标记为已解决,对您有帮助。 【参考方案1】:

您可以参考的最佳示例是http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/。它有完整的代码[php+ android],解释简单。

【讨论】:

【参考方案2】:

您可以编写一个请求远程 php 文件的方法,以响应 post 或 get 请求。如果你想使用 post request ,你可以使用下面的方法。并且您必须将 Internet 许可添加到清单文件中。如下所示,您可以将参数添加为键值对。

       public void postData() 
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/webservice.php");

try 
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("name", "Apple"));
    nameValuePairs.add(new BasicNameValuePair("locaction", "US"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    ResponseHandler <String> res=new BasicResponseHandler();  
    // Execute HTTP Post Request
    String response = httpclient.execute(httppost,res);


 catch (ClientProtocolException e) 
    // TODO Auto-generated catch block
 catch (IOException e) 
    // TODO Auto-generated catch block

   

http://www.androidsnippets.com/executing-a-http-post-request-with-httpclient

【讨论】:

以上是关于如何制作一个 web 服务(最好使用 PHP),它可以被 android 应用程序请求以获取 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章

PHP 是 Web 开发最好的语言!

如何最好地将用 LAMP 制作的项目转移到 WAMP 而不破坏它?

php 中如何使用缓存,使用哪种缓存机制最好;

php - 使用 Web 服务访问动态 crm 2011

如何在 PHP Laravel Web 服务中获取照片路径

如何使用 php 脚本制作代理?