Android アプリ開発
Android アプリ開発のポイントは、2点です。
準備:サンプルAndroid アプリの利用
Android は詳しくないので、サンプルソース(generic_asynctask-master)を利用しました。
参照先:https://github.com/kosalgeek/generic_asynctask
このサンプルコードは、エラーで悩むことになりましたが下記で解決できました。
ちょっと解説

利用時の注意点
1.利用者が手を加える必要があるソース(業務ロジック)は、MainActivity.javaのみで対応可能です。
2.このサンプルコードのままでは、パラメタ設定処理ができない箇所があるので修正が必要です。
原因と対処方法がわからず、オオハマりのポイントでした。

消し線の行を、以下に修正が必要です。引数が不足しています。
// PostResponseAsyncTask task = new PostResponseAsyncTask(MainActivity.this, postData, MainActivity.this); //
1.PHPアプリの起動方法
PHPアプリを起動する際に、画面項目情報をパラメタとしてセットします。
// Send data
try {
// Defined URL where to send data
HashMap<String, String> postData = new HashMap<String, String>();
postData.put("usernum", Xuser_num );
postData.put("name", Xuser_name);
postData.put("addr", Xuser_addr );
PostResponseAsyncTask task =
new PostResponseAsyncTask(MainActivity.this, postData, MainActivity.this);
task.execute("http://192.168.1.3/php_select.php");//select
}
catch (Exception ex) {
}
postData.putで、連携時の必要な値をセットしていきます。
ここでは、”usernum”に Xuser_numなどがセットされて、連携時に
usernum=XXXX&name=XXXX&addr=XXXXの形式に編集してくれます。
2.PHPアプリからのデータ受け取り
PHP処理後、「項目:output」で受け取りますので、「#」を区切り文字にして画面にセットします。
受け取り後は、I/Fの仕方とAndroidの作りによるので、参考まで。
PHPからの戻りデータ: “name=#ZZZZZZ#YYYYYYY”#“;
ZZZZZZ:名前、YYYYYYY:住所
String xxx[] = output.split("#", 0);
if (xxx[0].equals("name=")){//最初の文字で正常・異常の判断
<pre><code>Tname.setText(xxx[1]);//名前
Taddr.setText(xxx[2]);//住所
</code></pre>
}else{
<pre><code>Tmsg.setText(&quot;エラー&quot;);
</code></pre>
}
関連記事
