ドリリウム

ひょんなことからドリルを手に入れ、家具を作ろうと思い立ちました。ついでにアクアリウムにはまりました。木工、DIY、アクアリウム、車、釣り、コーヒーもたまーに。雑記。

MENU

AndroidアプリでSQL Serverに接続したい

Androidアプリに関する仕事が発生する恐れ(?)があり、Androidアプリの勉強を始めました。

 

最近はC#やVB、Java。DBはSQL Server。

そんあ環境にどっぷりいて、いろんなものに置いて行かれている感じがあります。WebはPHPとJava以外はろくに経験がなく、特にJavaはもう頭の片隅にこびりついた程度の知識しかありません。

そもそも、開発の現場にいた経験自体少ないです。

 

 

 

そんなこんなでAndroidアプリ。

もちろん先進的で革新的なアプリを作る訳ではないです。従業員が100人とか200人程度の、中小の製造業向けにスマホやタブレットで製造工程をあれこれする感じのやつ。

そういうところは、元々複雑怪奇で手の込んでいて手垢で真っ黒になったような製造管理システムというのが大抵入っていて、そのDBにあるデータをうまいこと表示したり、ちょっとした更新を行えば良い。

 

 

 

さて、まずは「Androidアプリ DB接続」「Android DB」などと検索するも、情報がありません。

 

というか、基本的にはできないみたい。

JavaでDB接続する時には、JDBCドライバーを使うけど、独自のVM上で動くAndroidアプリには対応していないケースが多いらしい。案の定、SQL Serverはダメだった。

Microsoftが公開しているすべてのバージョンのJDBCドライバで試したけどダメ。

 

こういう時の正攻法は、WebAPIを使った方法だそうだ。

WebAPIとは・・・

qiita.com

developer.ntt.com

thinkit.co.jp

 

うん、わからん。

いや、WebのAPIだから、どういうものなのかはわかるんだけど、実物の想像がつかない。

 

で、仕事の合間の僅かな時間に考えていたけど、やっぱりわからない。

そうだ、作り方を調べればどんなものかわかるはず。

Insider.NET > 連載:ASP.NET Web API 入門 - @IT

ASP.NETでWebAPIを作成した際のメモ書き - Qiita

 

 

おお、なんとなくわかった。

Androidアプリは直接DBにはつなげなくて、HTTP通信しかできない。

HTTP通信というのは、普段インターネットを見ている時にブラウザがやってくれているやつだ。

ブラウザにURLを入れると、ブラウザはそのURL(サーバー)にリクエストを出す。それに対してサーバーはレスポンスを返し、ブラウザはそのレスポンスの中身をうまいこと表示してくれる。レスポンスの中身が何かっていうと、ブラウザで右クリックしてソースを表示させたときに出てくるやつだ。

 

つまり、Androidアプリで表示したいDBの中身を表示するWebページを作る。

ここにAndroidアプリでアクセスして、表示内容を読み取ってアプリ上に表示すれば良いわけだ。

 

実際にはWebページなんて作る必要はなくて、Androidアプリ側で理解しやすい形式でレスポンスを返してやりさえすればいい。

 

 

 

なーるほど理解できた。

あっているかはわからないけど、これで望み通りデータはとれそうだから、作ってみることにしよう。