經由Android傳遞數值經過php再到伺服器端執行java程式後再返回Android的架構
傳遞數值的關鍵步驟大概如下面所列出:
- (Android)以EditText取得使用者輸入的數值,並以HTTP POST方式傳輸給php
- (php)取得使用者裝置傳來的數值,將數值傳入Java程式並執行
- (Java)執行結束後將結果返回給php
- (php)取得結果後以json格式封裝,傳回給使用者裝置
- (Android)取得結果,解碼json
1.(Android)以EditText取得使用者輸入的數值,並以HTTP POST方式傳輸給php
取得使用者inputString input = editText.getText.toString
將input封裝到params這個List裡params.add(new BasicNameValuePair("input", input));
用HTTP POST的方式送出資料httpPost.setEntity(new UrlEncodedFormEntity(params));
2.(php)取得使用者裝置傳來的數值,將數值傳入Java程式並執行
取得使用者input$input= $_POST[‘input’];
執行外部程式,並代入參數exec(“java –jar path/to/file.jar input”, $output);
3.(Java)執行結束後將結果返回給php
執行Java
取得InputStream的內容public static void main(String[] args){
String input = args[0];
(中間愛幹嘛就幹嘛)
System.out.print(結果);
}
4.(php)取得結果後以json格式封裝,傳回給使用者裝置
取得Java傳回來的結果(它是陣列)$result = output[0];
以json格式封裝die(json_encode($result));
5.(Android)取得結果,解碼json
Is=httpEntity.getContent();
最後就可以使用BufferReader與JSONObject的方法使用結果了!
沒有留言:
張貼留言