• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部DBアクセスするAndroidアプリについて)

外部DBアクセスするAndroidアプリについて

このQ&Aのポイント
  • Androidアプリで外部DBに登録されているユーザを検索し、一覧画面に表示する仕組みを作りたい
  • サーバ側でポートを解放せずにAndroidから外部DBにアクセスするためには、サーバにPHPプログラムを利用する必要がある
  • 外部DBにある大量データを扱うアプリでも、Androidのコンポーネントを使った画面にしたいが、Webviewを使用する場合もある

質問者が選んだベストアンサー

  • ベストアンサー
  • SeydaNeen
  • ベストアンサー率43% (26/60)
回答No.1

AndroidのAsyncTaskを使用した、非同期のhttp通信でurl.openConnectionしてもらって、(この呼び出し先urlは、https://...../xxx.php?param1=aaa&...)というふうにします。 phpのプログラムは、まあ、JSON形式で返すのがベターだと思いますが。XMLでもいいですけど。 andorid側に戻ったデータを、JSONObjectで解釈すれば、簡単に変数化できると、思います。 このあたり、ぐぐってみてください。 あと、phpプログラムはwebから見えてしまうので、セキュリティには気をつける必要があります。顧客情報が出力されるなら尚更です。id/pwの処理を入れてhttps通信にするとか何とか。

tomtom1022
質問者

お礼

ありがとうございます!いただいた情報をヒントに、ちょっと違う方法で実現することができました。こんな感じです。 1.Android(Java)からDefaultHttpClientでPHPファイルのあるURLに対して検索条件をPOST 2.PHPで受け取ってSQLにセットし検索→XMLを作成しprintでデータを返す 3.Android(Java) でXMLをパースしてリストビューにセット 作成しているのはモック程度のもので、セキュリティ性はあまり高くなくても問題ないため(サンプルデータしか登録しないので)、PHPが置いてあるサーバにはベーシック認証かけた上で、DefaultHttpClientに認証を通す処理を入れました。 AsyncTaskはイマイチよくわからなかったのと、まずは動くことが優先だったので、とりあえずはですが同期処理にしています。 レスポンス遅いかつDBアクセス時の中断ができませんが。。 非同期処理やID/PASS認証処理等は本番環境を作成する際に適用したいと思います!

関連するQ&A