Android客戶端與伺服器端簡單互動

2021-07-09 02:13:57 字數 2068 閱讀 8385

客戶端**:

/**

* 功能:通過get向伺服器請求json資料

* 說明:1.字串(一般用{}表示)與陣列(一般用表示)的解析方式是不一樣的,具體如下:

* (1)如果返回的是json字串,則使用jsonobject jsonobject=new jsonobject(jsonstring);

* (2)如果返回的是json陣列,則使用jsonarray jsonarray =new jsonarray(jsonstring);

* 功能:通過post向伺服器提交json資料

* 說明:1.httpclient不能用defaulthttpclient替換,會出現問題

/*** 提交的是json陣列時,用jsonarray陣列

*/jsonarray jsonarray = new jsonarray();

try catch (jsonexception e)

string jsonstring = jsonarray.tostring();

// 指定post引數

listnamevaluepairs = new arraylist<>();

namevaluepairs.add(new basicnamevaluepair("data", jsonstring));

try

}finally

}catch (unsupportedencodingexception e)

catch (clientprotocolexception e)

catch (ioexception e)

}}.start();

}

伺服器端**:

// servertoclient.php

<?php

$arr=array(

array(

'username'=>'a',

'password'=>'123',

),array(

'username'=>'b',

'password'=>'2',

),array(

'username'=>'c',

'password'=>'3',));

echo json_encode($arr);

?>

// clienttoserver 

<?php

$arr = json_decode($_post['data']);

$username = $arr[0]->;

$password = $arr[0]->;

if(empty($username) or empty($password))

$conn = mysql_connect('localhost','root','');

if(!$conn)

mysql_select_db('mysql',$conn);

$query = "insert into e_bike (username, password) values('$username','$password')";

$result = mysql_query($query,$conn);

if(!$result)

echo "add information to database sucessfullly!";

?>

客戶端與伺服器端通訊

關係圖 傳送 邏輯管理器 處理邏輯傳送指令 指令解析管理器 根據協議xml解析指令成二進位制資料 把二進位制資料傳給伺服器 接收 伺服器傳送二進位制資料到客戶端 指令解析管理器 根據協議xml解析二進位制資料 根據解析資料對映到邏輯類來處理 2 1 3 20 2,2 21 1,1,2 指令名和指令名...

android增量更新 伺服器端 客戶端

隨著應用越來越大,應用更新耗時間和流量的問題,就顯得格外突出.在有些應用市場,例如google play,會對安裝包進行拆分和合併,來達到差分更新的目的.首先解釋一下差分包 差分包是apk新版本和舊版本之間的包,可以稱之為patch.流程圖執行伺服器生成patch程式 客戶端合併安裝 原理是採用的是...

客戶端跳轉與伺服器端跳轉

客戶端跳轉時用httpservletresopse物件的sendredirect函式實現,伺服器端跳轉是使用requestdispather物件的forward方法實現的。這兩者之間的區別主要體現在三個方面 1.使用伺服器端跳轉時,客戶瀏覽器的位址列並不會顯示目標位址的url,而是用客戶端跳轉時,位...