導航:首頁 > 編程語言 > 安卓調用php介面

安卓調用php介面

發布時間:2022-09-07 14:11:55

A. 如何連接androidphp mysql資料庫

請注意:這里提供的代碼只是為了使你能簡單的連接Android項目和PHP,MySQL。你不能把它作為一個標准或者安全編程實踐。在生產環境中,理想情況下你需要避免使用任何可能造成潛在注入漏洞的代碼(比如MYSQL注入)。MYSQL注入是一個很大的話題,不可能用單獨的一篇文章來說清楚,並且它也不在本文討論的范圍內,所以本文不以討論。

1. 什麼是WAMP Server

WAMP是Windows,Apache,MySQL和PHP,Perl,Python的簡稱。WAMP是一個一鍵安裝的軟體,它為開發PHP,MySQL Web應用程序提供一個環境。安裝這款軟體你相當於安裝了Apache,MySQL和PHP。或者,你也可以使用XAMP。

2. 安裝和使用WAMP Server

你可以從http://www。wampserver。com/en/下載WAMP,安裝完成之後,可以從開始->所有程序->WampServer->StartWampServer運行該程序。

在瀏覽器中輸入http://localhost/來測試你的伺服器是否安裝成功。同樣的,也可以打開http://localhost/phpmyadmin來檢驗phpmyadmin是否安裝成功。

3. 創建和運行PHP項目

現在,你已經有一個能開發PHP和MYSQL項目的環境了。打開安裝WAMP Server的文件夾(在我的電腦中,是C:\wamp\),打開www文件夾,為你的項目創建一個新的文件夾。你必須把項目中所有的文件放到這個文件夾中。

新建一個名為android_connect的文件夾,並新建一個php文件,命名為test.php,嘗試輸入一些簡單的php代碼(如下所示)。輸入下面的代碼後,打開http://localhost/android_connect/test.php,你會在瀏覽器中看到「Welcome,I am connecting Android to PHP,MySQL」(如果沒有正確輸入,請檢查WAMP配置是否正確)

test.php

<?php
echo"Welcome, I am connecting Android to PHP, MySQL";
?>4. 創建MySQL資料庫和表

在本教程中,我創建了一個簡單的只有一張表的資料庫。我會用這個表來執行一些示例操作。現在,請在瀏覽器中輸入http://localhost/phpmyadmin/,並打開phpmyadmin。你可以用PhpMyAdmin工具創建資料庫和表。

創建資料庫和表:資料庫名:androidhive,表:proct

CREATE DATABASE androidhive;
CREATE TABLE procts(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp defaultnow(),
updated_at timestamp
);5. 用PHP連接MySQL資料庫

現在,真正的伺服器端編程開始了。新建一個PHP類來連接MYSQL資料庫。這個類的主要功能是打開資料庫連接和在不需要時關閉資料庫連接。

新建兩個文件db_config.php,db_connect.php

db_config.php--------存儲資料庫連接變數
db_connect.php-------連接資料庫的類文件

db_config.php

<?php
/*
* All database connection variables
*/
define('DB_USER', "root"); // db user
define('DB_PASSWORD', ""); // db password (mention your db password here)
define('DB_DATABASE', "androidhive"); // database name
define('DB_SERVER', "localhost"); // db serverdb_connect.php

<?php
/**
* A class file to connect to database
*/
classDB_CONNECT {
// constructor
function__construct() {
// connecting to database
$this->connect();
}
// destructor
function__destruct() {
// closing db connection
$this->close();
}
/**
* Function to connect with database
*/
functionconnect() {
// import database connection variables
require_once__DIR__ . '/db_config.php';
// Connecting to mysql database
$con= mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) ordie(mysql_error());
// Selecing database
$db= mysql_select_db(DB_DATABASE) ordie(mysql_error()) ordie(mysql_error());
// returing connection cursor
return$con;
}
/**
* Function to close db connection
*/
functionclose() {
// closing db connection
mysql_close();
}
}
?>怎麼調用:當你想連接MySQl資料庫或者執行某些操作時,可以這樣使用db_connect.php

$db= newDB_CONNECT(); // creating class object(will open database connection)

B. android客戶端的php伺服器怎麼搭建,php伺服器又是如何處理android客戶端發送的消息,本人小白一個請指導

個人理解,就是andorid應用調用伺服器端的PHP文件,PHP文件向伺服器傳送消息。
android代碼:
public class DoAddInformation extends Activity {
private ListView listView;
JSONArray jArray;
String result = null;
InputStream is = null;
StringBuilder sb = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_do_add_information);

Intent intent = getIntent();
String value = intent.getStringExtra("name");
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1, getData(value)));
setContentView(listView);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.do_add_information, menu);
return true;
}

// 讀取數據方法
private List<String> getData(String name) {
Toast.makeText(DoAddInformation.this, name, Toast.LENGTH_LONG).show();
// 網路操作

List<String> data = new ArrayList<String>();
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name", name));
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"遠程連接的網址+網頁");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
//----
} catch (Exception e) {
Log.e("log_tag", "Error in http connection" + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "utf-8"), 8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");

String line = "0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
int ct_id;
String ct_name;
try {
jArray = new JSONArray(result);
JSONObject json_data = null;
for (int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
ct_id = json_data.getInt("id");
ct_name = json_data.getString("name");
// tv.append(ct_name+" \n");
data.add(ct_name);
}
} catch (JSONException e1) {

} catch (ParseException e1) {
e1.printStackTrace();
}

return data;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {

Intent intent = new Intent();
intent.setClass(DoAddInformation.this, MainActivity.class);
startActivity(intent);

}
return super.onKeyDown(keyCode, event);
}
PHP代碼:
<?php
mysql_connect("地址","用戶","密碼");
mysql_query("SET NAMES utf8");
mysql_select_db("024b12");

//$sql=mysql_query("INSERT INTO test (id,name)VALUES (NULL , name='".$_REQUEST['name']."' )");

$count=mysql_query("select * from test ");
while($row=mysql_fetch_assoc($count))
{
$output[]=$row;
//echo $row['name'].'<br>';
}
print(json_encode($output));

mysql_close();
?>

C. Android開發調用PHP寫的介面

我的建議是2.在php中通過sql關聯語句查詢出著三個參數,給你舉個sql例子吧:select A.id,A.name,B.age from A,B where id="",A.id=B.id;好久沒寫了,不知道對不對,你可以網路一下關聯查詢,我覺得還是方法二比較正規!

D. 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> 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

E. php與android 用socket通信

實在不明所以,要做android的APP,PHP要做的工作就是提供介面給android啊。android想要獲取數據,PHP介面里提供特定格式的數據,如果android想要提交數據,就通過post或者get提交,PHP端只需要接收,像接收網頁form表單

F. PHP怎麼寫一個登錄的介面,安卓端調用。

其實只要寫一個數據轉換的函數,然後把安卓端的數據轉換成pc端的數據類型,然後調用Pc端的登錄函數就好了,代碼應該很簡單,

這個函數就是介面:

介面功能就是

  1. 接收安卓的數據,

  2. 處理數據,

  3. 調用pc端登錄函數,

  4. 返回登錄結果給安卓端

G. 安卓傳值php用什麼接收 直接post可以嗎

應該得看用什麼方式請求吧,安卓用get請求,php就用$_GET[]接收,安卓用post請求,php就用$_POST[]接收

H. php json提供安卓介面

php 有個函數,json_encode 可以把數組轉成json,

$data['code'] = 0;

$data['message'] = '成功';

$data['pageinfo'] = array(

'totalpage' => 10,

'currentpage' => 2,

'rows' => '3000',

'len' => '20'

);

echo json_encode( $data );//輸出出來就是你所指定的JSON 格式


閱讀全文

與安卓調用php介面相關的資料

熱點內容
軍營訓練不聽教官的命令 瀏覽:258
v開頭的音樂播放器是什麼APP 瀏覽:117
單片機是怎麼做出來的 瀏覽:315
博圖怎麼作為opc伺服器 瀏覽:100
編譯做題軟體 瀏覽:293
橋梁檢測pdf 瀏覽:685
化解壓力的一種方法 瀏覽:680
路由器和DSN伺服器有什麼區別 瀏覽:547
android伸縮控制項 瀏覽:851
androidm3u8緩存 瀏覽:234
imphp開源知乎 瀏覽:708
清除網路通配符dos命令 瀏覽:838
鴻蒙系統怎麼快速換回安卓 瀏覽:714
pdf綠色虛擬列印機 瀏覽:214
androidtab框架 瀏覽:148
java轉php的時間戳 瀏覽:640
編譯libstdc依賴 瀏覽:659
清演算法人與原法人的區別 瀏覽:411
家庭裝修下載什麼app軟體 瀏覽:576
美食博主用什麼app拍視頻 瀏覽:817