- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部DBアクセスするAndroidアプリについて)
外部DBアクセスするAndroidアプリについて
このQ&Aのポイント
- Androidアプリで外部DBに登録されているユーザを検索し、一覧画面に表示する仕組みを作りたい
- サーバ側でポートを解放せずにAndroidから外部DBにアクセスするためには、サーバにPHPプログラムを利用する必要がある
- 外部DBにある大量データを扱うアプリでも、Androidのコンポーネントを使った画面にしたいが、Webviewを使用する場合もある
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
AndroidのAsyncTaskを使用した、非同期のhttp通信でurl.openConnectionしてもらって、(この呼び出し先urlは、https://...../xxx.php?param1=aaa&...)というふうにします。 phpのプログラムは、まあ、JSON形式で返すのがベターだと思いますが。XMLでもいいですけど。 andorid側に戻ったデータを、JSONObjectで解釈すれば、簡単に変数化できると、思います。 このあたり、ぐぐってみてください。 あと、phpプログラムはwebから見えてしまうので、セキュリティには気をつける必要があります。顧客情報が出力されるなら尚更です。id/pwの処理を入れてhttps通信にするとか何とか。
お礼
ありがとうございます!いただいた情報をヒントに、ちょっと違う方法で実現することができました。こんな感じです。 1.Android(Java)からDefaultHttpClientでPHPファイルのあるURLに対して検索条件をPOST 2.PHPで受け取ってSQLにセットし検索→XMLを作成しprintでデータを返す 3.Android(Java) でXMLをパースしてリストビューにセット 作成しているのはモック程度のもので、セキュリティ性はあまり高くなくても問題ないため(サンプルデータしか登録しないので)、PHPが置いてあるサーバにはベーシック認証かけた上で、DefaultHttpClientに認証を通す処理を入れました。 AsyncTaskはイマイチよくわからなかったのと、まずは動くことが優先だったので、とりあえずはですが同期処理にしています。 レスポンス遅いかつDBアクセス時の中断ができませんが。。 非同期処理やID/PASS認証処理等は本番環境を作成する際に適用したいと思います!