前提・実現したいこと
AndroidStudioで外部サーバのMysqlデータベースからデータの入出力をしたいと思っています。
外部サーバー内にphpファイルを作成しAndroidStudioからそのPHPファイルを呼び出してJsonデータを取得してAndroidStudioに取り込みたいと思っています。
教えて頂きたいことはPHPを呼び出して返ってくるJsonのデータがどのように返ってきているのか、という事です。
AndroidStudioからNewsAPIなどからのデーターを取ってくる方法は、NewsAPIサイトに返ってくるJsonデータが記述されているので、どれをどのように取り込めばよいか理解できるのですが、PHPから返ってくるJson形式のデータはどのように記述されているのかわからないため試行錯誤の繰り返しで取り込めていません。
作成してみたPHPファイルを添付しますので、これがどのようなJsonで返ってきているのか教えて頂けないでしょうか。
発生している問題・エラーメッセージ
Jsonデータがどのようなレイアウトで返ってきているか教えて頂きたいです。
もちろんMySQL内にデータが存在し、実際に取り込めた時のJsonデータが前提です。
そのレイアウト分かれば,NewsAPIなどからデーターを取ってくる方法を参考にして解決できるような気がします。
該当のソースコード
作成してみたPHPのソースコードは以下の通りです。
PHP
1<?php 2 3 $response = array(); 4 5 // include db connect class 6 require_once __DIR__ . './../db_connect.php'; 7 8 // connecting to db 9 $db = new DB_CONNECT(); 10 // check for required fields 11 12 //お店CD 13 $omiseCode = $_POST['omiseCode']; 14 15 if ( $_POST['omiseCode'] == "") { 16 $selectSql = "SELECT 17 M.`お店CD` AS omiseCode 18 ,M.`お店名` AS omiseName 19 FROM m_お店 M"; 20 } else { 21 $selectSql = "SELECT 22 M.`お店CD` AS omiseCode 23 ,M.`お店名` AS omiseName 24 FROM m_お店 M 25 WHERE M.`お店CD` = '$omiseCode' "; 26 } 27 28 29 // get a product from products table 30 $result = mysql_query($selectSql ); 31 32 if (!empty($result)) { 33 $resultCount = mysql_num_rows($result); 34 35 // check for empty result 36 if ($resultCount > 0) { 37 $resultArray = Array(); 38 for ($i = 0; $i < $resultCount; $i++) { 39 $row = mysql_fetch_array($result); 40 $resultArray[] = $row; 41 } 42 43 $return_result["array"] = $resultArray; 44 // echoing JSON response 45 echo json_encode($return_result); 46 } else { 47 // no product found 48 $response["success"] = 9; 49 $response["message"] = "No product found"; 50 // echo no users JSON 51 echo json_encode($response); 52 } 53 } else { 54 // no product found 55 $response["success"] = 9; 56 $response["message"] = "No product found"; 57 58 // echo no users JSON 59 echo json_encode($response); 60 } 61?> 62
試したこと
MySQL内には実際に下記のデータが存在しています。
お店CD お店名
0 パン屋
1 定食屋
です。
Android参考書やWebを相当量、約3か月間検索していますが解決できません。
補足情報(FW/ツールのバージョンなど)
AndroidStudio3.6.1を利用しKotlinでコードを作成しています。
サーバー内のMysqlへの接続は
Retrofit2,Moshi,Coroutine を検討しています。