安卓php交互
❶ 怎樣實現android應用向網頁發送數據,在網頁中用php代碼接收所發來的數據
不知道樓主懂不懂 javascript ,會php js應該不賴哈 哈哈!
android已經給你提供了 javascript 調用介面!
我這里就不寫網頁程序了啊 ,懶的敲的
就是使用webview載入網頁,然後android本地程序和webview網頁裡面的js進行交互
實力話一個WebVIew 比如對象名為:webview 調用其中的方法 setJavascritEnable(true);
1:android客戶端程序 調用webview裡面的js程序
webview.loadUrl("javascripot:test()");
這個時候他就會調用你網頁裡面javascript代碼當中的test方法
2:通過網頁中的javascript代碼進行調用本地 android程序
mWebView.addJavascriptInterface(new Object() {
public void heiHei() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "測試調用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
括弧裡面demo 就是偽造的一個dom對象的名字
然後通過 window.demo.heiHei()方法 就可以調用 本地android中代碼了
如:
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
最後:傳參我就不說了 ,相信你如果看懂以上的,基本你就可以實現你說的,傳參也一樣!
親,給分兒吧!手敲的啊!
❷ php和Android實現實時聊天
不知道你具體要做什麼,我把即時通訊的原理跟你說一下吧(P2P的)。
首先,用戶A輸入自己的用戶名和密碼登錄即時通訊伺服器,伺服器通過讀取用戶資料庫來驗證用戶身份,如果用戶名、密碼都正確,就登記用戶A的IP地 址、IM客戶端軟體的版本號及使用的TCP/UDP埠號,然後返回用戶A登錄成功的標志,此時用戶A在 IM系統中的狀態為在線。
其次,根據用戶A存儲在IM伺服器上的好友列表,伺服器將用戶A在線的相關信息發送到也同時在線的即時通訊好友的PC機,這些信息包括在線狀態、IP地址、 IM客戶端使用的TCP埠號等,即時通訊好友PC機上的即時通訊軟體收到此信息後將在PC桌面上彈出一個小窗口予以提示。
第三步,即時通訊伺服器把用戶A存儲在伺服器上的好友列表及相關信息回送到他的PC機,這些信息包括也在線狀態、IP地址、IM客戶端使用的TCP埠號等信息,用戶A的PC機上的IM客戶端收到後將顯示這些好友列表及其在線狀態。
接下來,如果用戶A想與他的在線好友用戶B聊天,他將直接通過伺服器發送過來的用戶B的IP地址、TCP埠號等信息,直接向用戶B的PC機發出聊天 信息,用戶B的IM客戶端軟體收到後顯示在屏幕上,然後用戶B再直接回復到用戶A的PC機,這樣雙方的即時文字消息就不通過 IM伺服器中轉,而是通過網路進行點對點的直接通訊,這稱為對等通訊方式。
❸ php與安卓做交互,安卓需要我返回數據中是整型應該怎麼操作!
沒錯,就是這樣,讓安卓那邊強制類型轉換一下也可以
❹ 安卓客戶端怎麼與php連接
不知道哦
❺ php伺服器怎麼接收安卓發送過來的數據
直接file_get_contents("php://input") 這個函數就可以接到介面傳參,建議使用json格式數據進行交互。
❻ php和安卓怎麼實現數據(如json)交互
PHP是一種創建動態交互性站點的伺服器端腳本語言,優勢:PHP腳本語言應用廣泛,開源免費,最重要的是入門簡單,容易掌握。 PHP能夠生成動態頁面內容 PHP能夠創建、打開、讀取、寫入、刪除以及關閉伺服器上的文件 PHP能夠接收表單數據 PHP能夠發送並取回cookies PHP能夠添加、刪除、修改資料庫中的數據 PHP能夠限制用戶訪問網站中的某些頁面 能夠運行於各種平台,幾乎兼容所有WEB伺服器,支持多種資料庫 1.我們想要運行PHP,首先要有個web伺服器,一般可以在本地部署一個伺服器用來測試。所以需要下載個XAMPP,我們在網路搜索apache friends,直接打開第一個鏈接,然後毫不猶豫的下載最新版本(PHP7.0.9),下載後執行安裝。 2. 2.現在來配置XAMPP來部署一個本地伺服器,打開只需要啟用Apache服務,下面我就啟動成功了。如果啟用不成功,Port(s)沒有數據顯示,就證明你監聽的PC埠被佔用,你可以在Config的里第一個選項進行監聽埠的更改,找到記事本里的Listen 8080命令改後綴,這里我把監聽埠改成空閑的8080了。 3.下面來打開Dreamweaver建一個伺服器站點。站點配置:本地站點文件夾一定要選擇你裝Xampp路徑的htdocs的目錄里。 4.添加伺服器配置: 這樣站點就設置好了,然後在站點文件夾創建server.php,腳本如下 <?php //設置頁面內容是html編碼格式是utf-8 //header("Content-Type: text/plain;charset=utf-8"); header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods:POST,GET'); header('Access-Control-Allow-Credentials:true'); header("Content-Type: application/json;charset=utf-8"); //header("Content-Type: text/xml;charset=utf-8"); //header("Content-Type: text/html;charset=utf-8"); //header("Content-Type: application/javascript;charset=utf-8"); //定義一個多維數組,包含員工的信息,每條員工信息為一個數組 $staff = array ( array("name" => "喬布斯", "number" => "101", "sex" => "男", "job" => "IOS開發工程師"), array("name" => "比爾蓋茨", "number" => "102", "sex" => "男", "job" => "微軟開發工程師"), array("name" => "陳美麗", "number" => "103", "sex" => "女", "job" => "安卓開發工程師"), array("name" => "黃力", "number" => "104", "sex" => "男", "job" => "Java開發工程師"), array("name" => "車神", "number" => "105", "sex" => "男", "job" => "游戲開發工程師"), array("name" => "測試貓", "number" => "106", "sex" => "男", "job" => "web前端開發工程師") ); //判斷如果是get請求,則進行搜索;如果是POST請求,則進行新建 //$_SERVER是一個超全局變數,在一個腳本的全部作用域中都可用,不用使用global關鍵字 //$_SERVER["REQUEST_METHOD"]返回訪問頁面使用的請求方法 if ($_SERVER["REQUEST_METHOD"] == "GET") { search(); } elseif ($_SERVER["REQUEST_METHOD"] == "POST"){ create(); } //通過員工編號搜索員工 function search(){ //檢查是否有員工編號的參數 //isset檢測變數是否設置;empty判斷值為否為空 //超全局變數 $_GET 和 $_POST 用於收集表單數據 if (!isset($_GET["number"]) empty($_GET["number"])) { echo '{"success":false,"msg":"參數錯誤"}'; return; } //函數之外聲明的變數擁有 Global 作用域,只能在函數以外進行訪問。 //global 關鍵詞用於訪問函數內的全局變數 global $staff; //獲取number參數 $number = $_GET["number"]; $result = '{"success":false,"msg":"沒有找到員工。"}'; //遍歷$staff多維數組,查找key值為number的員工是否存在,如果存在,則修改返回結果 foreach ($staff as $value) { if ($value["number"] == $number) { $result = '{"success":true,"msg":"找到員工:員工編號:' . $value["number"] . ',員工姓名:' . $value["name"] . ',員工性別:' . $value["sex"] . ',員工職位:' . $value["job"] . '"}'; break; } } echo $result; } //創建員工 function create(){ //判斷信息是否填寫完全 if (!isset($_POST["name"]) empty($_POST["name"]) !isset($_POST["number"]) empty($_POST["number"]) !isset($_POST["sex"]) empty($_POST["sex"]) !isset($_POST["job"]) empty($_POST["job"])) { echo '{"success":false,"msg":"參數錯誤,員工信息填寫不全"}'; return; } //TODO: 獲取POST表單數據並保存到資料庫 //提示保存成功 echo '{"success":true,"msg":"員工:' . $_POST["name"] . ' 信息保存成功!"}'; } ?> 我們可以在server.php文件數組$staff里的數據進行查詢,並且可以實現添加數據的功能,下面來創建demo.html <style> body,input,button,select,h1{ font-size:20px; line-height:18px; } </style> <script> window.onload=function(){ document.getElementById("search").onclick=function(){//查詢數據 //發送Ajax查詢請求並處理 var request=new XMLHttpRequest(); //open("方法(GET查詢,POST添加)","打開的文件數據",處理方式(同步為false非同步為true,不填默認為true)); request.open("GET","server.php?number="+document.getElementById('keyword').value); request.send(); request.onreadystatechange=function(){ if(request.readyState===4){//當伺服器請求完成 if(request.status===200){//status==200為伺服器請求成功 var data=JSON.parse(request.responseText); if(data.success){//數據填寫符合要求 document.getElementById('searchResult').innerHTML=data.msg; }else{//數據填寫不符號要求 document.getElementById('searchResult').innerHTML="出現錯誤:"+data.msg; } }else{//伺服器請求失敗 alert("發生錯誤:"+request.status); } } } } document.getElementById("save").onclick=function(){//添加數據 //發送Ajax添加數據請求並處理 var request=new XMLHttpRequest(); //open("方法(GET查詢,POST添加)","打開的文件數據",處理方式(同步為false非同步為true,不填默認為true));; request.open("POST","server.php"); //定義data取得用戶所填寫的數據,並且send(data)到伺服器 var data="name="+document.getElementById("staffName").value +"&number="+document.getElementById("staffNumber").value +"&sex="+document.getElementById("staffSex").value +"&job="+document.getElementById("staffJob").value; request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//在POST方法里必寫,否則添加數據不起作用 request.send(data); request.onreadystatechange=function(){ if(request.readyState===4){//當伺服器請求完成 if(request.status===200){//status==200為伺服器請求成功 var data=JSON.parse(request.responseText); if(data.success){//數據填寫符合要求 document.getElementById('createResult').innerHTML=data.msg; }else{//數據填寫不符合要求 document.getElementById('createResult').innerHTML="出現錯誤:"+data.msg; } }else{//伺服器請求失敗 alert("發生錯誤:"+request.status); } } } } } </script> <body> <h1>員工查詢</h1> <label>請輸入員工編號:</label> <input type="text" id="keyword"/> <button id="search">查詢</button> <p id="searchResult"></p> <h1>員工創建</h1> <label>請輸入員工姓名:</label> <input type="text" id="staffName"/><br> <label>請輸入員工編號:</label> <input type="text" id="staffNumber"/><br> <label>請輸入員工性別:</label> <select id="staffSex"> <option>男</option> <option>女</option> </select><br> <label>請輸入員工職位:</label> <input type="text" id="staffJob"/><br> <button id="save">保存</button> <p id="createResult"></p> </body> 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
❼ PHP+MYSQL開發的網站怎麼和安卓APP進行通訊,用什麼方法
首先你得要有一台可以跑php的伺服器
再次要保證你的安卓機(無論是模擬器還是真機)能訪問這台伺服器,要麼把伺服器部署到公網上,要麼讓安卓機和伺服器在同一個區域網內
安卓程序在程序內部向這台伺服器發起請求,就可以實現數據交互了,現在安卓系統不允許http請求在主線程內進行,所以通信一定是非同步的
一般來說,伺服器向手機推送信息的解決方案都不完善,如果一定要做,可以在手機這邊周期性的詢問伺服器來模擬
❽ 安卓APP等如何與PHP的框架laravel進行通信
android app與php通信的目的是了為獲取數據對嗎?
例如在app中從某個地址發出請求 xxx.php?aid=3
那麼在php中可以這樣做:
<?php
header("Content-type: text/json; charset=utf-8");
$aid = intval($_GET['aid']);
然後查詢資料庫。
得到的結果轉成數組 $arr = array(
array('id'=> 1,' aid'=3 'con'=>"ddddd")
);
echo json_encode($arr));
關於json_encode和json_decode 的使用的utf8亂碼問題你是另一問題,你
自己再網路去找答案了。
❾ PHP作為服務端,安卓作為客戶端進行socket通信,如何實現
通過請求返回數據啊!比如安卓可以通過URL請求頁面,然後PHP接到請求通知返數據給安卓,安卓接到數據之後在處理,就可以了!
❿ PHP如何做一個介面,向安卓客戶端提供數據
其實就是訪問這個php文件,返回一段數據,一般用json,然後安卓可以解析就行了了。走http協議。