回首頁
XAMPP & JSON
使用Android讀取後端資料庫
傳遞參數到伺服端
XAMPP簡介
XAMPP是一個把Apache網頁伺服器與PHP、Perl及MySQL集合在一起的安裝包,允許用戶可以在自己的電腦上輕易的建立網頁伺服器。
XAMPP安裝
XAMPP啟動
執行phpMyAdmin
php & mysql
輸出結果:
什麼是JSON
JSON(JavaScript Object Notation)是一種羽量級的資料交換格式,易於閱讀和編寫,同時也易於機器解析和生成,非常適合於伺服器與用戶端的交互。
JSON採用與程式設計語言無關的文本格式,但是也使用了類C語言的習慣,這些特性使JSON成為理想的資料交換格式。
和 XML 一樣,JSON 也是基於純文字的資料格式。JSON的資料格式非常簡單,您可以用 JSON 傳輸一個簡單的 String,Number,Boolean,也可以傳輸一個陣列,或者一個複雜的Object 物件。
JSON 的優點
相容性高
格式容易瞭解,閱讀及修改方便
支援許多資料格式 (number,string,booleans,nulls,array,associative array)
許多程式都支援函式庫讀取或修改 JSON 資料
JSON 物件的範例
JSON 陣列的範例
JSON 物件陣列的範例
PHP, mysql與JSON範例
輸出結果:
[ 回頂端 ]
Android的HTTP請求
使用Appache HttpClient相關類別
以往,使用Appache HttpClient相關類別可以發出Http請求及接收Http回應,然而,在API 23以後的版本,Google已經移除了Apache Http相關的類別,而推荐使用HttpUrlConnection。
但因Appache HttpClient使用上較簡單,如果需要在Android studio繼續使用Appache HttpClient,只要在相對應的module下的build.gradle中加入下面文字即可。
發出HTTP請求
產生一個HttpClient類別物件
產生一個HTTP請求
HttpGet
HttpPost
設定HTTP請求參數
names/values
發出HTTP請求
處理請求結果
HttpClient與HttpGet類別
讀取網頁字串
在模擬器中,android要與本機的php server連繫,不能使用127.0.0.1或localhost,而要使用真實ip;
主執行緒與網路操作
從Android 3.0開始,Thread Policy加強了限制,只要嘗試在主執行緒中進行網路操作,就會產生NetworkOnMainThreadException這個錯誤。
解決方式有下列兩種方式:
在onCreate()中加入下列程式,透過StrictMode重新設定ThreadPolicy。
把網路操作從主執行緒中移走,並產生一個新Thread來執行(後面介紹)。
為了程式簡單,可以先使用下面指令,讓Thread Policy的限制解除(暫時使用,最好還是使用另外的執行緒來進行網路操作。)
解析JSON資料
完整範例:
[ 回頂端 ]
[ 回頂端 ]