Android App からMySQLに接続する方法について

ちょっとピンポイントな話題です。
Andoroid アプリからMySQL Databaseに接続して、CRUDしようという話です。
今回はMySQLですが、基本的にはどのDatabaseにも応用は効きます(多分)

ネットワーク環境

クライアント、サーバ構成です。クライアントPCは、WIndowsです。サーバは、Ubuntuになります。

手順概略

1.クライアントとサーバのIPアドレスを確認します。
2.サーバのファイアーウォールは、とりあえずOFFにしましょう。単純化のため.
3.クライアントからサーバにPingを飛ばす。
4.サーバ側のMySQLサービスを起動します。ほかのクライアントを受け入れるように設定します。
5.
6.クライアントにMySQL Workbenchmarkをインストールする。サーバに接続できるか確認する。
7.android用のjdbcをインストールする。
8.android studioでテスト用プロジェクトを作成する。
9.接続するようのactivityを作成する。

1.IPアドレスの確認方法

WindowsとサーバのIPアドレスの確認方法をしらべてみましょう。わかりますか~?
Windowsだと"ipconfig" ,Linuxだと"ifconfig"コマンドで確認できますね。問題ないと思います。

2.ファイアーウォールOFF

ファイアーウォールの設定しだいでは、Pingがとばなかったり、ソケット通信ができなかったりします。本番環境では適切に設定すべきです。絶対。でも開発環境であればとりあえうOFFしておきましょう。コマンドは"sudo ufw disable"ですね。

3.クライアントからサーバにPingを飛ばす。

クライアント、サーバ間で通信ができるか確認しましょう。コマンドは、ping [サーバのIPアドレス。]例 ping 192.168.100.1

4.サーバ側のMySQLサービスを起動します。ほかのクライアントを受け入れるように設定します。

デフォルトでMySQLは自動起動される設定になっていると思います。コマンドは、"systemctl start mysql"です。あと受け入れるIPアドレスがデフォルトだと127.0.0.1になっています。すべての端末から受け入れるように変更する必要があります。/etc/mysql/mysql.conf.d/mysqld.cnfのファイルにある、 bind-address = 127.0.0.1の設定をコメントアウトします。行の先頭に#をつけます。
もしくは0.0.0.0に設定してもいいです。設定を反映させるためにsudo service mysql restartを実行します。