質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

3750閲覧

android HTTP通信

RYOHEI1009

総合スコア45

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2017/11/18 06:51

編集2017/11/18 07:07

androidアプリでHTTP通信してMYSQLに画像を保存したいのですが、なかなか参考になるサイトが見つかりません。。。
また、HTTP通信する際にPHPファイルはどこのディレクトリにいれたららいいのですか?

https://qiita.com/shunjiro/items/92046bae8651ae8e2850
このサイトは私の解釈だと、androidアプリでPHPとHTMLを実行しているという認識をしておりますが、、、
あってますでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

HTTP通信する際にPHPファイルはどこのディレクトリにいれたららいいのですか?

質問文はスマホアプリ、つまりAndroid端末内にPHPファイルを設置すれば良いんじゃないか?
…と考えていると推測しますが、それは違います。

インターネット上にサーバを構築し、その中にPHPファイルを格納。
つまり「Webサーバを作る」必要があるわけで、全然違うジャンルの話です。


HTTP通信してMYSQLに画像を保存したい

MySQLはWebサーバでよく使われるHTTPではなく、
MySQLサーバとクライアント間専用で使われるTCP接続でコネクションを張って通信します。

後半のJava云々はAndroidのアプリの話なので、質問文の記事のURLは参考に取っておいてください。
ではなぜ、HTTPやPHPといった一見関係のない話が出たかを解説していきましょう。


前述の通り、MySQLサーバに繋ぐには、専用のクライアントソフトが必要になります。
これは「Android MySQL」等でぐぐればandroid⇒外部mysql接続 - Qiitaといった記事が引っかかりますので、
それを参考にすれば実現は可能です。

ですが、直でMySQLサーバに繋ぎに行くことは辞めたほうが良いですね。
理由は2つ

  • スマホの性質上、コネクション張りっぱなしのMySQLは相性が悪い
  • セキュリティ的な問題で他人の情報にアクセスし放題になる

エンジニアがスマホアプリでデータをサーバ側に保存したい場合、
大抵別途Webアプリを構築することになります。
要件は下記

  • 通信には1回1回終了するHTTPを利用する
  • RESTFulサーバを構築する
  • 認証や他のユーザの情報を守る為にWebサーバの機能を利用する

ここで初めてPHPが出現します。
(別にPHPで無くても、JavaでもRubyでもWebサーバであれば何でも良いですが)
つまり、PHPでWebサーバを構築し、ログイン関係の機能を実装したりMySQLに代わりに通信を行います。

  • データをダウンロードしたい: 特定のURLにアクセスすると、裏でPHPがMySQLと通信を行ってデータを返す。
  • データをアップロードしたい: 別のURLにアクセスすると、裏でPHPがMySQLと通信を行いデータを保存する。

投稿2017/11/18 07:37

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RYOHEI1009

2017/11/18 07:58

すみません!!無知すぎて恥ずかしい質問をしました泣 単純なはなしではないといことですね! 初心者pでもわかりやすいご回答ありがとうございます!!
miyabi-sun

2017/11/18 08:03

そもそも何故MySQLを使いたいという話になったのでしょうか。 各ユーザがアプリで使った情報を、どこかインターネット上で保存したいという要望が出てきたのではないですか? もしそうであれば、Webサーバに関して勉強していってください。 インターネット上に情報を保管できるスキルが身につけば、出来る事は飛躍的に増えるはずです。 勉強頑張ってください!
RYOHEI1009

2017/11/18 08:09

4月から独学でandroidアプリの開発をはじめました! HTMLではmysqlに画像を保存をできましたが、、 androidではなかなかできなく困ってしまい今回は質問させていただきました! ご親切にありがとうございます!! プログラミングにはまってしました!!
miyabi-sun

2017/11/18 08:19

でしたらWebサーバ回りは大丈夫ですね。 後はその構築したWebサーバにAndroidからHTTPで通信するだけです。 頑張ってください!
RYOHEI1009

2017/11/18 09:13

はい!ありがとうございます! わかりやすいサイトとかございますか??
guest

0

HTTP通信する際にPHPファイルはどこのディレクトリにいれたららいいのですか?

クライアント(Android端末)ではなくPHPがインストールされたサーバーに配置します。

androidアプリでPHPとHTMLを実行しているという認識をしておりますが、、、

あってますでしょうか??

直接的には違います。
Androidアプリがインストールされているのはサーバではなくクライアント(Webブラウザのようなイメージ)ですので、画像アップロードをPHPで処理するのであれば、クライアントからPHPがインストールされたサーバーに対してWebAPI(http)等でリクエストすることになります。

投稿2017/11/18 07:20

編集2017/11/18 07:27
xenbeat

総合スコア4258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問