2013-05-17 5 views
2

Я все еще немного скептически отношусь к тому, как подключить свое приложение Android к скрипту PHP. Я где-то видел, что следующий код подключит приложение к серверу. Но я новичок в android, поэтому не знаю, как его использовать.Как подключить Android-приложение к базе данных MySQL через PHP

DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpGet httpGet = new HttpGet("http://url.to.my.app.com"); 
HttpResponse response = httpClient.execute(httpGet); 
// handle response' 

Я понимаю, что это открывает соединение с интернет-сервером, но то, что я не понимаю, какой ответ возвращается на сервер и как его обрабатывать. Кроме того, я хочу знать, как отправлять данные через POST на сервер из моего приложения.

(Если бы вы могли предоставить собственный код, это тоже было бы полезно) Спасибо!

+1

Вы могли бы реализовать RESTful API службы: http://stackoverflow.com/questions/3197335/restful-api-service – heikkim

+0

читать [это] (http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql /) – SSS

+0

Мне нужно только подключиться к скрипту PHP с помощью DefaultHttpClient. Я хочу научиться его использовать. –

ответ

1

Это откроет соединение и отправит запрос http GET на сервер. Ваш PHP-скрипт выполняется на стороне сервера для этого запроса и возвращает некоторое содержимое. Вы можете использовать следующий код для обработки ответа.

HttpEntity entity = response.getEntity(); 
if (entity != null) { 
    InputStream instream = entity.getContent(); 

    String result = RestClient.convertStreamToString(instream);   
} 

Для выполнения POST вам необходимо сделать что-то подобное.

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

try { 
    // Add your data 
    List <NameValuePair> nvps = new ArrayList <NameValuePair>(); 
    nvps.add(new BasicNameValuePair("test1","test1")); 
    nvps.add(new BasicNameValuePair("test2", "test2")); 
    httppost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); 

    // Execute HTTP Post Request 
    HttpResponse response = httpclient.execute(httppost); 

} catch (ClientProtocolException e) { 
    // TODO Auto-generated catch block 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
} 
Смежные вопросы