Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Androidアプリ開発ことはじめ / android_app_programming

stkdev
August 01, 2014

Androidアプリ開発ことはじめ / android_app_programming

【slideshareからのお引越しです】
https://www.slideshare.net/takosumipasta/android-65447636

2014年ごろに行ったAndroidアプリ開発関連の勉強会で使ったスライドの切り貼りまとめVerです。
古めの情報ですが、少しでも参考になるところがあれば。

stkdev

August 01, 2014
Tweet

More Decks by stkdev

Other Decks in Programming

Transcript

  1. バージョンの推移 • 1.x ✓2009年~ • 2.x ✓2010年~ • 3.x ✓2011年~

    • 4.x ✓2012年~ • 5.x ✓2014年~ 発表時期 6
  2. バージョンの推移 • 1.x • 2.x • 3.x • 4.x •

    5.x まだまだ初期の時期 普及が進んだ時期 スマートフォン向け タブレット向けのバージョン 2.x系と同時に発展 スマホ向け・タブレット向けの統合 最新バージョン 現在の主流 対象端末 7
  3. Androidの特徴 特徴 • オープンソースである • 自由な開発が可能 • Googleサービスとの親和性の高さ iOSと比較して •

    ハードウェアが制限されていない • 独自にアプリを配布できる • アプリUIも比較的自由 Windowsと比較して • アプリのライフサイクルの違い 8
  4. 開発者視点:ネイティブ/Web 開発方法の比較 OSに準拠した開発方法 ・androidならJavaやC++ ・iOSならObjective-CやSwift 所定の方法でビルド&配布 OSごとに別開発 Webに準拠した開発方法 ・通常のWeb開発技術を流用(HTML/CSS/Javascript) OSの違いを気にする必要がない

    (ブラウザの違いは要考慮) スマホの機能を フルに利用可能 ・カメラとか ・GPSとか ・NFCとか Webブラウザ上で実行される Webブラウザに許された範囲 の機能を実行 可能 16
  5. ネイティブ/ハイブリッド/Web 使い分け どの作り方がいいか、というのは作りたいもの次第です カメラやセンサ を使いたい いろんなOS向 けに作りたい 情報の閲覧や Webからの情報 取得が主

    高速に動く必要 のあるゲームが 作りたい オフラインでも使 いたい ネイティブ寄り ハイブリッド寄り Web寄り 既存のWeb活用 19
  6. 前回のおさらい ◼ 開発方法と利点が異なる • ①ネイティブアプリ ✓開発方法:XML,Java,C++ ✓利点 :ぬるぬる動くのはこっち • ②webアプリ(略)

    • ③ハイブリッドアプリ ✓開発方法:HTML,CSS,JavaScriptで作成後、 ネイティブアプリに変換 ✓利点 :web開発技術で作成ができる 22
  7. 画像表示 51 ③設定したIDやファイル 名で自動的に名称が設 定される R.Javaはあまり意識する 必要はない ◼ 手順 1.

    画像を[res/drawable]へ配置 2. ImageViewを準備 3. [自動]R.javaに登録され利用可能になる 4. ImageViewに設定 ④ImageViewの setImageResourceで設定 ソースは次項と合わせて
  8. 方位磁石サンプル ◼ 作成手順 • 2つのセンサの状態を取得する • 計算関数に入れる • 結果をもとに画像の角度を設定する ◼

    例では取得した方角によって画像が回転する ようにしています。 • 実はサンプル状態は画像の角度設定が変(当 日気づいた) • (角度は-1掛けないとだめですね…) 55
  9. Activityについて ◼ Activityとは • アプリケーションを構成する単位 ✓起動・終了ができる ✓状態を持つ(起動中/スリープ中など) ✓UIコンポーネントの配置ができる …etc. 1Activity

    = 1画面( ≒ 1アプリ ≒ 1機能) ◼ Activityいろいろ • あらかじめ拡張されたActivityもある ✓TabActivity,ActionBarActivityなど ✓メニューがついてたり… 59 早い話が…
  10. Intentについて(暗黙的) ◼ 暗黙的Intent • 暗黙的? ✓起動するActivityを指定しない ✓“やりたいこと”を指定する ◼ 暗黙的なIntentを発行する •

    例:指定のURLを開きたい ✓URL情報を指定 ✓表示ができるアプリを起動 • 例:画像を人と共有したい ✓画像情報を指定 ✓情報送信ができるアプリを起動 68
  11. Intentについて(暗黙的) ◼ 暗黙的Intent 69 //インテント作成 Intent intent = new Intent(Intent.ACTION_VIEW,

    Uri.parse(urlStr)); //実行 startActivity(intent); やりたいこと 何かを表示:ACTION_VIEW データを送る:ACTION_SEND 壁紙設定:ACTION_SET_WALLPAPER など 情報
  12. Intentサンプル ◼ サンプル内容 • 明示的Intentでページ遷移 ✓activity_page1 → activity_page2 • 暗黙的Intentでブラウザ起動

    ✓URLや座標を入れてIntent投げる 71 サンプルソースはここ 暗黙的Intentの場合も 同様にIntentを作って 必要な情報を登録