Androidアプリのプログラマになりたいのですが
実際の業務では、アンドロイドアプリのプログラマの場合、
javaの知識とサーバーのデータを操作する知識が必要と聞いたのですが、
そのためのおすすめの参考書などはありますでしょうか?
また実際の現場では、
javaのコードから直接SQL文をサーバー側に送ってデータを操作するのか、
それともサーバー側のPHP等のプログラムを呼び出してデータを操作するのでしょうか?
質問ばかりで申し訳ありませんが、よろしければアドバイスお願いいたします。
追記 6/3 10:00
いくつかご回答をいただきありがとうございます。
あと、質問の仕方が少しあやふやだったのは申し訳ございません。
実は、Androidアプリの基礎はある程度わかっていて、とりあえず動く程度のアプリは作ることができているのですが、
実際の仕事では、
例えばチャットアプリなどの場合は
ユーザーの登録データを外部のサーバーにデータを送り、
そして必要な時にそれを取り出す作業をするわけですが、
そのためにはどのようなことを勉強すればいいのでしょうか?
SQL文はある程度勉強し終わっています。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
こんにちは。
私はlibro booksというサイトで勉強しました。
http://libro.tuyano.com/index2?id=1005
ただ、2009年の記事なのですでに時代遅れな部分もあります。
ドットインストールも有名ですね。
http://dotinstall.com
サーバーのデータを操作する知識に関してはHTTP経由でデータを操作するということだと思います。
「Web API」と呼ばれているものです。
twitterと連携したり、Googleドライブと連携したり、その他有象無象のWebサービスと連携したり、、
ネットで「Android開発 入門」で検索して、出てきたサイトから自分にあったサイトを選べば良いと思います。
書籍はサイトで勉強した後、本屋を巡って自分のレベルにあったものを探すと良いですよ。
頑張ってくださいね。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
おすすめの参考書についてはわかりません。
2番目の質問だけ。
javaのコード(Androidアプリ)から直接サーバにSQLを送るということはありません。
それだと、悪意のあるSQLをサーバ側で実行させることができる余地を作ってしまいます。
したがって、アプリからはサーバにはパラメタだけを送るのが普通です。
また、サーバ側もPHPとは限りません。他の言語でも構わないです。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
とりあえず、スマフォ上で動く単独のアプリを作るならjavaで作れます。あとはAndroid関連のAPIや開発環境を勉強すれば大体作れます。サーバのデータの操作、というのはおそらくネットワーク経由で外部と連動するアプリの場合です。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.33%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/06/03 13:42
サーバーのデータの操作は、javaのコードでSQL文を書いて操作するのではなく、
サーバー側に用意してあるweb APIを呼び出して、データを操作するということでいいのでしょうか?
2016/06/03 17:30
というかPHPと書いていたので、そういう事がしたいのだろうなと勝手に解釈しちゃいました。
norihiroさんも書いていますが、Androidから直接サーバー側のデータベースをSQLを用いて操作することはないと思います。データベースによってはAndroid上でのドライバの動作のサポートすらして居ないです。
チャットアプリなんかでも、サーバーとのデータのやり取りにはHTTPを使う事が多くなるのではと思います。インターネット経由であれば特にそうです。
例えばLINEもサーバーとの通信を行う際、ログイン情報のやり取りや、メッセージの送受信はHTTPを使用しているみたいです。
具体的なコードの例は"android http get post json xml"とかで検索すれば色々出てくると思います。
サーバー側の実装もやりたいのであればPHPなりnodejsなりtomcatなり、とっつきやすそうなものを勉強すると良いと思います。どれでもWeb APIの実装を行えると思いますよ。
学習目的で作りたければWeb APIと言うほどしっかりしたものではなく、単にHTTPでデータのやり取りができる事を目的にしたらどうでしょうか?
2016/06/04 11:56
皆さんのおかげで次に何を勉強すればいいかわかってきました。
とりあえずhttp通信を勉強して、
そのあとに公開されているweb apiなどを触ってみるつもりです。
皆さま、アドバイスありがとうございました。