2013-06-10 3 views
-2

У меня есть приложение для Android. Я хочу отправить данные с php-сервера и сохранить его в базе данных приложений Android. Как мне это сделать. СпасибоЕсли есть способ отправить php-данные в приложение для Android?

+0

вы пытались что-нибудь по этому поводу.? – Riser

+0

Данные между сервером и приложением обмениваются с использованием веб-служб. –

+0

У вас есть контроль над кодом сервера? Вам (нужно) использовать некоторый публичный API? – Fildor

ответ

0

Чтобы достичь этого, вы должны использовать web services. Затем данные будут отображаться на вашем сервере PHP, и вы сможете запросить их в своем приложении для Android, возможно, используя такие вещи, как HTTP requests.

Here - полный учебник по этой теме.

Надеюсь, это поможет!

1

Используйте следующие шаги, чтобы получить значение из PHP сервера

от вашей деятельности вызова

JSONObject mJsonObject = new JSONObject(); 
       mJsonObject.put("username", "your username"); 
       mJsonObject.put("password", "Password"); 

       JSONOBJECT json = HttpClient.SendHttpPost("http://Abc.com/login.php",mJsonObject); 

Log.e ("Результат JSON от сервера", "" + JSon); Разберите вышеупомянутый JSON.

HttpClient.java

public class HttpClient { 
    private static final String TAG = "HttpClient"; 

    public static JSONObject SendHttpPost(String URL, JSONObject jsonObjSend) { 

     try { 
      DefaultHttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httpPostRequest = new HttpPost(URL); 

      StringEntity se; 
      se = new StringEntity(jsonObjSend.toString()); 

      httpPostRequest.setEntity(se); 
      httpPostRequest.setHeader("Accept", "application/json"); 
      httpPostRequest.setHeader("Content-type", "application/json"); 
      httpPostRequest.setHeader("Accept-Encoding", "gzip"); 

      long t = System.currentTimeMillis(); 
      HttpResponse response = (HttpResponse) httpclient.execute(httpPostRequest); 
      Log.i(TAG, "HTTPResponse received in [" + (System.currentTimeMillis()-t) + "ms]"); 

      HttpEntity entity = response.getEntity(); 

      if (entity != null) { 
       InputStream instream = entity.getContent(); 
       Header contentEncoding = response.getFirstHeader("Content-Encoding"); 
       if (contentEncoding != null && contentEncoding.getValue().equalsIgnoreCase("gzip")) { 
        instream = new GZIPInputStream(instream); 
       } 

       String resultString= convertStreamToString(instream); 
       instream.close(); 
       resultString = resultString.substring(0,resultString.length()-1); 

       JSONObject jsonObjRecv = new JSONObject(resultString); 
       Log.i(TAG,"<JSONObject>\n"+jsonObjRecv.toString()+"\n</JSONObject>"); 

       return jsonObjRecv; 
      } 

     } 
     catch (Exception e) 
     { 
      Log.e("Exception", "Exception"); 
      e.printStackTrace(); 
     } 
     return null; 
    } 


    private static String convertStreamToString(InputStream is) { 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
     StringBuilder sb = new StringBuilder(); 

     String line = null; 
     try { 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       is.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
     return sb.toString(); 
    } 

} 

сервер PHP код login.php

<?php 
//echo "asdsa"; 
include("config.php"); 

$json = file_get_contents('php://input'); 
$obj = json_decode($json); 
$username = $obj->{'username'}; 
$password = $obj->{'password'}; 

//$username = 'username'; 
//$password = '123456'; 
// echoing JSON response 

$sql="SELECT id,email,first_name,last_name FROM tbl_users WHERE username='".mysql_escape_string($username)."' and password='".mysql_escape_string($password)."'"; 
$result=mysql_query($sql); 

$response = array(); 
if(mysql_num_rows($result) >0) 
{ 
    $user_rs = mysql_fetch_array($result); 
    $user_id=$user_rs['id']; 
    $response['status'] = 'pass'; 
    $response['userId'] = $user_id; 
} 
else 
{ 
    $response['status'] = 'fail'; 
    $response['userId'] = 0; 
} 
header('Content-type: application/json'); 
echo json_encode($response); 
?> 
Смежные вопросы