SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Android 勉強会 1
簡単なアプリを作るまでに必要な知識
11/7 アルパイン株式会社 上田渉太
アプリ作成の流れ
プロジェクトの作成
リソースの作成
レイアウト作成
機能の実装
マニュフェストファイルの定義
テスト・デバッグ
AndroidStudioのインストール
https://developer.android.com/studio/
11/7(現在のバージョン) 3.2.1
会社の環境ではProxyの設定が必要
ファイル > 設定 > 外観&振る舞い > システム設定 > HTTP proxy と
gradle.properties(プロジェクト毎)に設定する必要がある
プロキシ設定例
systemProp.http.proxyHost=myproxy.co.jp
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=****
systemProp.http.proxyPassword=****
systemProp.https.proxyHost=myproxy.co.jp
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=****
systemProp.https.proxyPassword=****
AndroidStudioの画面説明
プロジェクトビュー
プロジェクトのリソースの構造
バー(プロジェクト、ツール、ナビ)
デバッグスタート、SDKマネージャー
編集エリア
プログラム編集
ツールウインド
デバッグ用、ターミナル
エミュレーターを作成しよう
ADV Mabagerから作成できる
SDK Managerから
HAXMをインストールすると
x86系のCPUで高速化
AVD Managerを起動SDK Managerを起動
サンプルプロジェクトを作成しよう
Android アプリのHelloWorld的なやつ
サンプルアプリを眺めてみよう
構成を知るならプロジェクトビューで
見るのが一番
manifests
res
build.gradle
Project
Module (こっちが重要)
Manifests
AndroidManifest.xmlにXMLで設定を記載
パーミッションの記述(セキュリティの記述)
カメラアクセス・インターネットアクセスなどの許可はここに記載
<uses-permission android:name="android.permission.INTERNET" />
エントリーポイントやIntentfilter(アプリが呼ばれる際の振る舞い)の記
載
Res
Layout (XML)
Activity(後述)やFragment(次回せつめい)などの画面の見た目を決定
Value
言語依存設定やテーマカラーなどを保存 (一箇所にまとめておくことでプロジェクトの仕様変更を容
易にする)
その他
アイコン
イメージファイルなど
build.gradle (Module: app)
ビルドに関わる設定を記載
SDKのサポートバージョンの記載
アプリのバージョン情報の記載
ビルドターゲットの設定など
3rd partyの依存関係の記載
AWS cognitoのSDKを使う場合
implementation 'com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.7.0'
Androidの重要な要素 Activity
アプリの心臓部 実態はJava(or Kotlin)のfile XXActivity.java(or kt)
最初の間は 1画面がActivityによって制御されていると考えて問題ない
配置情報
res/layout/activity_XX.xmlと関連付けされる
setContentView(R.layout.activity_main); でコード上で関連付けを行う
ライフサイクルを持つ
Activityのライフサイクル
onCreate
Veiw作成 (layoutの関連付け)
Veiwの振る舞いの定義(button押下時の動作など)
onRestoreInstanceState
Appの設定情報の読み込み
onSaveInstanceState
アプリの設定情報の保存
(読み込みと1:1でないことに注意)
AndroidAppのレイアウトの単位
px (pixel)
画素数のこと 機種依存が大きく実際にこと値では作成しない
dpi (dot per inch)
1インチあたりの画素数 時項目のdpのランク分けに使う
dp (density-independent pixels)
Androidでレイアウトを行う場合の基本単位
mdpi(120-160dip)を基準と考えdpiのランクによって倍率を 0.75~4倍に変化させる
それぞれのランクのイメージを用意する必要がある
デザインの方には12の倍数のpxでイメージを作成してもらえばどの端末でも綺麗に写るイメージが作成できる
ランク dpi min mpi max 倍率
ldpi - 120 0.75
mdpi 120 160 1
hdpi 160 240 1.5
xhdpi 240 320 2
xxhdpi 320 480 3
xxxhdpi 480 640 4
Buttonを押したら textを変化させる
デモアプリを作る
onCreateで行なっている事の理解
layoutの編集
getString, findViewByIdの使い方
リスナーの追加
Logcatへの出力 Log.d(tag, mes)
デバッガーでブレイクポイント
Kotlinとは
Androidの標準開発言語
Code -> Convert Java File to Kotlin でJavaからKotlinに変更できる
JVM言語 : JVM(Java virtual machine)場で動作, Javaの.classのByteコードを出力できる
Javaと完全互換
モダンな言語(実用性を重視している)
lambda式, Nullable(サンプルコードで説明) <nullチェックをコンパイラレベルでサポート
>
Kotlinを眺めてみよう
javaよりもスッキリかける
Listenerをいちいち作成しなくても良い、lambdaでスッキリ
FindViewById(R.id.XX)をいちいち書かなくてもよくなる
次回は画面遷移とレイアウトのパーツ化(Fragment化)についてやります
宿題
kotlinのいろいろいじって文法になれてください
Tools->Kotlin->Kotlin REPL でインタープリタが使えます
https://kotlinlang.org/docs/reference/
http://dogwood008.github.io/kotlin-web-site-ja/docs/reference/basic-syntax.html (こちらは日本語ドキュメント)
サンプルアプリを実機で実行してみてください
https://techacademy.jp/magazine/2433 (windowの場合ドライバが必要かも)
Windows ドライバ https://developer.android.com/studio/run/oem-usb?hl=ja
何か質問あればお願いします

Weitere ähnliche Inhalte

Was ist angesagt?

Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesKazushi Kamegawa
 
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Kazushi Kamegawa
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvsTomoyuki Iwade
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and SecurityKazushi Kamegawa
 
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨde:code 2017
 
[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Z[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Zde:code 2017
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's imageHow to create your own Azure Pipeline's image
How to create your own Azure Pipeline's imageKazushi Kamegawa
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日本マイクロソフト株式会社
 
Automatic api document generation 101
Automatic api document generation 101Automatic api document generation 101
Automatic api document generation 101LINE Corporation
 
Azure DevOps Management in Organization
Azure DevOps Management in OrganizationAzure DevOps Management in Organization
Azure DevOps Management in OrganizationKazushi Kamegawa
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加するYuto Takei
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却de:code 2017
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャazuma satoshi
 
[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報
[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報
[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報de:code 2017
 

Was ist angesagt? (20)

NET5 and Diagnostics
NET5 and DiagnosticsNET5 and Diagnostics
NET5 and Diagnostics
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
 
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvs
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and Security
 
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
 
[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Z[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Z
 
Azure Functions Tips
Azure Functions TipsAzure Functions Tips
Azure Functions Tips
 
【BS12】Visual Studio 2022 40分一本勝負!
【BS12】Visual Studio 2022 40分一本勝負!【BS12】Visual Studio 2022 40分一本勝負!
【BS12】Visual Studio 2022 40分一本勝負!
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's imageHow to create your own Azure Pipeline's image
How to create your own Azure Pipeline's image
 
【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
Automatic api document generation 101
Automatic api document generation 101Automatic api document generation 101
Automatic api document generation 101
 
Azure DevOps Management in Organization
Azure DevOps Management in OrganizationAzure DevOps Management in Organization
Azure DevOps Management in Organization
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加する
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
 
[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報
[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報
[MR07] やっぱり “ What’s New ” も知りたい! 進化を続ける UWP の最新アップデート情報
 

Ähnlich wie Android勉強会 1

まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説kumo2010
 
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスドMicrosoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスドKazumi Hirose
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践真吾 吉田
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた日本マイクロソフト株式会社
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathondynamis
 
Tech talk salesforce mobile sdk
Tech talk   salesforce mobile sdkTech talk   salesforce mobile sdk
Tech talk salesforce mobile sdkKazuki Nakajima
 
Spring Integration 超入門
Spring Integration 超入門Spring Integration 超入門
Spring Integration 超入門Yasutaka Sugamura
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Akira Onishi
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure FunctionsKeiji Kamebuchi
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座Hiroaki Oikawa
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発Kazuki Nakajima
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Shotaro Suzuki
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携Naohiro Fujie
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 

Ähnlich wie Android勉強会 1 (20)

コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
 
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスドMicrosoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathon
 
Tech talk salesforce mobile sdk
Tech talk   salesforce mobile sdkTech talk   salesforce mobile sdk
Tech talk salesforce mobile sdk
 
Spring Integration 超入門
Spring Integration 超入門Spring Integration 超入門
Spring Integration 超入門
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure Functions
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 

Android勉強会 1