android study part1

72
実践 ANDROIDアプリ開発 @JX通信社 酒本伸也 2015/7/30

Upload: shinya-sakemoto

Post on 13-Apr-2017

977 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: Android study part1

実践ANDROIDアプリ開発

@JX通信社酒本伸也2015/7/30

Page 2: Android study part1

はじめに

Page 3: Android study part1

自己紹介酒本伸也

石川県

@sakebook

Android 2年半ちょっとiOS 半年ちょっと

ライフログ好き

Page 4: Android study part1

ANDROID

Page 5: Android study part1

ANDROIDとは• Googleが開発するオープンソースな モバイル向けプラットフォーム

Page 6: Android study part1

アーキテクチャ

https://ja.wikipedia.org/wiki/Android

Page 7: Android study part1

バージョン

• 細かいものを含めると20以上もの種類(API LEVEL)

• 4.1以降が90%弱を占める(2015/6/1)

Page 8: Android study part1

APK

• アプリの拡張子

• Application PaKageからきている

• 開発したアプリは◯◯.apk

という形になる

Page 9: Android study part1

開発環境

Page 10: Android study part1

ANDROID STUDIO

• Intellij IDEAをベースにした統合開発環境(IDE)

• Googleが開発

• Androidの開発に特化

• Eclipseは卒業してください(ADTが開発終了)

Page 11: Android study part1

さぁはじめよう

Page 12: Android study part1

NEW PROJECT

• Application name

• アプリの名前

• Company Domain

• 自分をユニークにするドメイン

Page 13: Android study part1

NEW PROJECT• Package name

• アプリをユニークに

する文字列

• 他のアプリと重複禁止

• Project location

• PC内のプロジェクトパス

Page 14: Android study part1

NEW PROJECT• Phone and Tablet

• API 16(4.1)

• Blank Activity

• Activity ≒ 画面

• そのまま(後から変更可能)

Page 15: Android study part1

BUILD TOOL BUG

• File -> Project Structure

• Modules -> app

• Properties -> Build Tools Version

• 23.0.0 rc1 -> 22.0.1

Page 16: Android study part1

プロジェクト構成

Page 17: Android study part1

• プルダウンをAndroid -> Projectに変更

Page 18: Android study part1

• MyApplication(Root)

• プロジェクトルート

• .gradle/

• ローカルリポジトリ

• .idea/

• IDEの設定状況

Page 19: Android study part1

• build/• ビルド時の ファイル置き場

• gradle/• ビルドに必要な

Gradle置き場• .gitignore

• gitで管理しないものを 指定

• build.gradle• プロジェクトの 依存関係を記述

Page 20: Android study part1

• gradle.properties

• Gradleが参照するプロパティ

• gradlew

• Linuxの Gradle実行ファイル

• gradlew.bat

• WindowsのGradle実行ファイル

Page 21: Android study part1

• local.properties

• 個人の環境のSDKのパスの設定

• MyApplication.iml

• Intellijのファイル

• setting.gradle

• Gradleのビルドモジュールを記述

• External Libraries

• プロジェクトの 外から参照しているライブラリ

Page 22: Android study part1

• app/

• モジュール

• app/libs

• ローカルライブラリ置き場

• app/build.gradle

• モジュールのビルドの設定や依存関係を記述

• app/proguard-rules.pro

• 難読化に用いる

Page 23: Android study part1

• src

• コンパイル対象の ファイル置き場

• src/androidTest

• テストファイル置き場

• src/main/java

• ソースファイル置き場

• src/main/res

• リソースファイル置き場

Page 24: Android study part1

• drawable

• 画像やxmlを置く場所

• layout

• レイアウトのxmlを置く場所

• menu

• メニューのxmlを置く場所

• mipmap

• アイコン画像を置く場所

Page 25: Android study part1

• dpi(Dot Per Inch: 画面密度)

• mdpi(48x48)

• hdpi(72x72)

• xhdpi(96x96)

• xxhdpi(144x144)

Page 26: Android study part1

• dimens.xml

• 文字のサイズや 余白の値などを 定義できる

• strings.xml

• テキストを定義できる

• styles.xml

• アプリのテーマを記述できる

Page 27: Android study part1

• AndroidManifest.xml

• アプリと端末間のPermmisionやActivitiyなどの 振る舞い、Package nameなど様々なことを設定できる

Page 28: Android study part1

ANDROID STUDIOSETTING

Page 29: Android study part1

コード補完

• 途中まで入力すると予測で

現在利用可能な候補を表示してくれる

• Android Stuido -> Preference -> Keymap ->「Completion」(好きなコマンドを割り当てる)

Page 30: Android study part1

行数表示• ファイルの左側に現在の行数を

表示してくれる

• Android Stuido -> Preference -> Editor -> General -> Appearance -> 「Show line numbers」(チェックを入れる)

Page 31: Android study part1

GENERATE

• 自動生成できるものへのショートカット

(⌘+n)

Page 32: Android study part1

困った時

• (Alt + Enter)でその場でできることを

サジェストしてくれる

Page 33: Android study part1

他にもたくさん

• http://qiita.com/sugoi_wada/items/db449d5cbb5c83cb586c

• http://qiita.com/takke/items/5cbc629f7f65d6a49906

Page 34: Android study part1

ビルド

Page 35: Android study part1

ビルドシステム• Gradle

• Groovyで記述できる

• setting.gradleで対象となるモジュールを指定

• app/build.gradleにビルド時のタスクを記述

• コマンドライン or ASの機能でビルド実行

Page 36: Android study part1
Page 37: Android study part1

コマンドライン• $./gradlew assembleDebug

• BuildTypeがDebugでビルドされたapkをapp/build/outputs/apk に作成

• $./gradlew assembleInstall

• 対象のデバイスにapkをインストール

Page 38: Android study part1

実機 OR エミュレータ

Page 39: Android study part1

実機がなければエミュレータ

• 純正のものはあくびが出るほど遅い

• Genymotionを使う

Page 40: Android study part1

GENYMOTION

• 爆速のエミュレータ

• 無料版だと制限があるが、

通常利用なら十分

• https://www.genymotion.com/

Page 41: Android study part1

LOGCAT

Page 42: Android study part1

LOGCAT• 接続されているデバイスが流しているログを収集・表示する機能

Page 43: Android study part1

表示させる

• やっとコードに触る!?

• 14行目にLog.d(“Trunk”, “onCreate”);

Page 44: Android study part1

こういうときが

• Alt + Enterの出番!

Page 45: Android study part1

表示された

• 見分けが

つくように

なった

Page 46: Android study part1

邪魔なものを排除したい

• Filterを作成する

Page 47: Android study part1

見やすくなった!

Page 48: Android study part1

使い分け

• 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) 「エラー」

Page 49: Android study part1

BREAKPOINT

Page 50: Android study part1

BREAK POINT

• Logcatだとクラッシュした場所で、他の値がどうなっているかなどがわからない

• クラッシュする付近から動きを

つぶさに追いたい!

Page 51: Android study part1

DEBUG

• プログラムを

止めたい場所に

赤丸を設置

• 「hoge」の

値を見てみる

Page 52: Android study part1

お使いのデバイスは正常です

• デバイス側に表示が

でるが待つ

Page 53: Android study part1

ステップオーバー

• 15行目でBreak

• 止まった行は

その時点では

評価されない

Page 54: Android study part1

• 「hoge」が定義

されている

Page 55: Android study part1

• 「hoge」の

中身が”huga”に

なっている

Page 56: Android study part1

複数設置した時

• 現在のBreakpointから

抜けたり接続を

切ることも

できる

Page 57: Android study part1

レイアウト

Page 58: Android study part1

レイアウト

• WidgetやViewを一定の規則に基づき配置するためのもの

• 一つのxmlにレイアウトは複数あっても良い

• 親のレイアウトは必ず一つ

Page 59: Android study part1

いくつか紹介• LinearLayout

• 上から下、左から右など、順序に詰めて配置するレイアウト

• RelativeLayout

• 配置した他のコンポーネントとの位置関係を定義しながら

配置するレイアウト

• FrameLayout

• 左上を起点として、子要素であるときも

前面に表示されるレイアウト

Page 60: Android study part1

XMLの設定• setContentView(Int id)

Page 61: Android study part1

• ステータスバー

• アクションバー(ツールバー)

• ナビゲーションバー

レイアウト部分

Page 62: Android study part1
Page 63: Android study part1
Page 64: Android study part1

Page 65: Android study part1

テーマ

Page 66: Android study part1

テーマ• WidgetやViewに対して

一括してトンマナを設定できるもの

• テーマ = Styleの集合体

• アプリ全体・任意のActivityに対して

設定できる

Page 67: Android study part1

先ほど作成したプロジェクト

• Applicationで

指定されてるので

アプリ全体の

テーマに

なっている

Page 68: Android study part1

次のように変更してみよう

Page 69: Android study part1

• アクションバー(ツールバー)が消えた

Page 70: Android study part1

ソースコード管理

Page 71: Android study part1

GIT

• 分散型バージョン管理システム

• GitHub

• Gitを用いたWebサービス

Page 72: Android study part1

GITHUBに登録しよう

• 先ほど作成したプロジェクトを登録

• GitHubで適当なリポジトリ作成

• $git remote add origin リポジトリ