Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android study part1

1,420 views

Published on

Trunkの講義の資料(1/5)です。
https://github.com/sakebook/TrunkStudy

内容
・Android Studioの使い方
・デバッグ方法
・レイアウト作成

Published in: Devices & Hardware
  • Be the first to comment

Android study part1

  1. 1. 実践 ANDROIDアプリ開発 @JX通信社 酒本伸也 2015/7/30
  2. 2. はじめに
  3. 3. 自己紹介 酒本伸也 石川県 @sakebook Android 2年半ちょっと iOS 半年ちょっと ライフログ好き
  4. 4. ANDROID
  5. 5. ANDROIDとは • Googleが開発するオープンソースな
 モバイル向けプラットフォーム
  6. 6. アーキテクチャ https://ja.wikipedia.org/wiki/Android
  7. 7. バージョン • 細かいものを含めると
 20以上もの種類
 (API LEVEL) • 4.1以降が90%弱を占める
 (2015/6/1)
  8. 8. APK • アプリの拡張子 • Application PaKage
 からきている • 開発したアプリは⃝⃝.apk
 という形になる
  9. 9. 開発環境
  10. 10. ANDROID STUDIO • Intellij IDEAをベースにした統合開発環境(IDE) • Googleが開発 • Androidの開発に特化 • Eclipseは卒業してください(ADTが開発終了)
  11. 11. さぁはじめよう
  12. 12. NEW PROJECT • Application name • アプリの名前 • Company Domain • 自分をユニークに
 するドメイン
  13. 13. NEW PROJECT • Package name • アプリをユニークに
 する文字列 • 他のアプリと重複禁止 • Project location • PC内のプロジェクトパス
  14. 14. NEW PROJECT • Phone andTablet • API 16(4.1) • Blank Activity • Activity ≒ 画面 • そのまま(後から変更可能)
  15. 15. BUILDTOOL BUG • File -> Project Structure • Modules -> app • Properties -> BuildToolsVersion • 23.0.0 rc1 -> 22.0.1
  16. 16. プロジェクト構成
  17. 17. • プルダウンを
 Android -> Project
 に変更
  18. 18. • MyApplication(Root) • プロジェクトルート • .gradle/ • ローカルリポジトリ • .idea/ • IDEの設定状況
  19. 19. • build/ • ビルド時の
 ファイル置き場 • gradle/ • ビルドに必要な
 Gradle置き場 • .gitignore • gitで管理しないものを
 指定 • build.gradle • プロジェクトの
 依存関係を記述
  20. 20. • gradle.properties • Gradleが
 参照するプロパティ • gradlew • Linuxの
 Gradle実行ファイル • gradlew.bat • Windowsの
 Gradle実行ファイル
  21. 21. • local.properties • 個人の環境のSDKの
 パスの設定 • MyApplication.iml • Intellijのファイル • setting.gradle • Gradleのビルドモジュールを記述 • External Libraries • プロジェクトの
 外から参照している
 ライブラリ
  22. 22. • app/ • モジュール • app/libs • ローカルライブラリ
 置き場 • app/build.gradle • モジュールのビルドの設定や
 依存関係を記述 • app/proguard-rules.pro • 難読化に用いる
  23. 23. • src • コンパイル対象の
 ファイル置き場 • src/androidTest • テストファイル置き場 • src/main/java • ソースファイル置き場 • src/main/res • リソースファイル置き場
  24. 24. • drawable • 画像やxmlを置く場所 • layout • レイアウトのxmlを
 置く場所 • menu • メニューのxmlを置く場所 • mipmap • アイコン画像を置く場所
  25. 25. • dpi
 (Dot Per Inch: 画面密度) • mdpi(48x48) • hdpi(72x72) • xhdpi(96x96) • xxhdpi(144x144)
  26. 26. • dimens.xml • 文字のサイズや
 余白の値などを
 定義できる • strings.xml • テキストを定義できる • styles.xml • アプリのテーマを
 記述できる
  27. 27. • AndroidManifest.xml • アプリと端末間の
 Permmisionや
 Activitiyなどの
 振る舞い、
 Package nameなど
 様々なことを
 設定できる
  28. 28. ANDROID STUDIO SETTING
  29. 29. コード補完 • 途中まで入力すると予測で
 現在利用可能な候補を表示してくれる • Android Stuido -> Preference -> 
 Keymap ->「Completion」
 (好きなコマンドを割り当てる)
  30. 30. 行数表示 • ファイルの左側に現在の行数を
 表示してくれる • Android Stuido -> Preference -> 
 Editor -> General -> Appearance ->
 「Show line numbers」
 (チェックを入れる)
  31. 31. GENERATE • 自動生成できるものへのショートカット
 (⌘+n)
  32. 32. 困った時 • (Alt + Enter)でその場でできることを
 サジェストしてくれる
  33. 33. 他にもたくさん • http://qiita.com/sugoi_wada/items/ db449d5cbb5c83cb586c • http://qiita.com/takke/items/ 5cbc629f7f65d6a49906
  34. 34. ビルド
  35. 35. ビルドシステム • Gradle • Groovyで記述できる • setting.gradleで対象となるモジュールを指定 • app/build.gradleにビルド時のタスクを記述 • コマンドライン or ASの機能でビルド実行
  36. 36. コマンドライン • $./gradlew assembleDebug • BuildTypeがDebugでビルドされたapkを
 app/build/outputs/apk に作成 • $./gradlew assembleInstall • 対象のデバイスにapkをインストール
  37. 37. 実機 OR エミュレータ
  38. 38. 実機がなければエミュレータ • 純正のものはあくびが出るほど遅い • Genymotionを使う
  39. 39. GENYMOTION • 爆速のエミュレータ • 無料版だと制限があるが、
 通常利用なら十分 • https://www.genymotion.com/
  40. 40. LOGCAT
  41. 41. LOGCAT • 接続されているデバイスが流しているログを 収集・表示する機能
  42. 42. 表示させる • やっとコードに触る!? • 14行目に
 Log.d(“Trunk”,“onCreate”);
  43. 43. こういうときが • Alt + Enterの出番!
  44. 44. 表示された • 見分けが
 つくように
 なった
  45. 45. 邪魔なものを排除したい • Filterを作成する
  46. 46. 見やすくなった!
  47. 47. 使い分け • Log.v(String tag, String msg) 「冗長」 • Log.d(String tag, String msg) 「デバッグ」 • Log.i(String tag, String msg) 「情報」 • Log.w(String tag, String msg) 「警告」 • Log.e(String tag, String msg) 「エラー」
  48. 48. BREAKPOINT
  49. 49. BREAK POINT • Logcatだとクラッシュした場所で、他の値が どうなっているかなどがわからない • クラッシュする付近から動きを
 つぶさに追いたい!
  50. 50. DEBUG • プログラムを
 止めたい場所に
 赤丸を設置 • 「hoge」の
 値を見てみる
  51. 51. お使いのデバイスは正常です • デバイス側に表示が
 でるが待つ
  52. 52. ステップオーバー • 15行目でBreak • 止まった行は
 その時点では
 評価されない
  53. 53. • 「hoge」が定義
 されている
  54. 54. • 「hoge」の
 中身が”huga”に
 なっている
  55. 55. 複数設置した時 • 現在の
 Breakpointから
 抜けたり接続を
 切ることも
 できる
  56. 56. レイアウト
  57. 57. レイアウト • WidgetやViewを一定の規則に基づき配置する ためのもの • 一つのxmlにレイアウトは複数あっても良い • 親のレイアウトは必ず一つ
  58. 58. いくつか紹介 • LinearLayout • 上から下、左から右など、順序に詰めて配置するレイアウト • RelativeLayout • 配置した他のコンポーネントとの位置関係を定義しながら
 配置するレイアウト • FrameLayout • 左上を起点として、子要素であるときも
 前面に表示されるレイアウト
  59. 59. XMLの設定 • setContentView(Int id)
  60. 60. • ステータスバー • アクションバー
 (ツールバー) • ナビゲーションバー レイアウト部分
  61. 61.
  62. 62. テーマ
  63. 63. テーマ • WidgetやViewに対して
 一括してトンマナを設定できるもの • テーマ = Styleの集合体 • アプリ全体・任意のActivityに対して
 設定できる
  64. 64. 先ほど作成したプロジェクト • Applicationで
 指定されてるので
 アプリ全体の
 テーマに
 なっている
  65. 65. 次のように変更してみよう
  66. 66. • アクションバー
 (ツールバー)が消えた
  67. 67. ソースコード管理
  68. 68. GIT • 分散型バージョン管理システム • GitHub • Gitを用いたWebサービス
  69. 69. GITHUBに登録しよう • 先ほど作成したプロジェクトを登録 • GitHubで適当なリポジトリ作成 • $git remote add origin リポジトリ

×