- 追加された行はこの色です。
- 削除された行はこの色です。
[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp/index.php?FrontPage]]
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>Android]]
*目次 [#jde3672c]
#contents
*概要 [#f2f3911d]
SaaS開発で調べた[[スマホネイティブ]]/[[Android]]の開発についてのメモ。
*ネイティブ・アプリ開発のファースト・ステップ [#y650578c]
以下のチュートリアル・コンテンツがオススメのようです。
*[[IDE>統合開発環境 (IDE)]] [#v1afe8f2]
**[[Android Studio>Android Studio]] [#odfca5b7]
**[[IntelliJ IDEA]] [#g4c8954b]
**[[Eclipse]] [#q1837f97]
**Androidアプリ開発入門 (全10回) [#z92d184e]
-Androidアプリ開発入門 (全10回) - プログラミングならドットインストール~
http://dotinstall.com/lessons/basic_android_v2
--01 Androidアプリを作ろう
--02 Android Studioをインストールしよう
--03 Android SDKをインストールしよう
--04 プロジェクトを作っていこう
--05 AVDを立ち上げよう
--06 Android Studioを使ってみよう
--07 アプリの構成を確認しよう
--08 画面の編集をしてみよう
--09 部品を設置してみよう
--10 ラベルテキストを変更しよう
**初心者必見!10時間で作るはじめてのAndroidアプリ [#ld84c81d]
初心者必見!10時間で作るはじめてのAndroidアプリ - 株式会社エウレカ
-前編~
https://eure.jp/blog/android-app-for-beginners-1/
-後編~
https://eure.jp/blog/android-app-for-beginners-2/
*環境設定等 [#jd619431]
**Windows開発環境 [#h1b74d90]
**[[Android Studio>Android Studio#jd619431]] [#bb09d2fa]
色々な[[IDE>#v1afe8f2]]があるが、デファクトをチョイス。
***Android Studio [#bb09d2fa]
Eclipse + ADTとAndroid Studioがメジャーだったようですが、~
-2014年12月8日にAndroid Studio 1.0 の正式版がリリースされ、
-Eclipse+ADTのサポートは、2015年末までとなって、
**Android SDK [#cca8e12f]
Android Studioがデファクトになり、~
Eclipse + ADT → Android Studioへの~
移行ツールも整備されているようです。
***SDK Platforms [#i062b479]
-参考
--僕がEclipseをやめてAndroid Studioを使っている10の理由 - ナカザンドットネット~
http://blog.nkzn.info/entry/2014/03/21/015914
--EclipseからAndroidStudioへの移行手順まとめ - Qiita~
http://qiita.com/konifar/items/b86c6f2e0b0d9dc4269c
--EclipseのAndroidプロジェクトをAndroid Studioに移行する~
http://note.kurodigi.com/androidstudio-import/
-Android n.n.n (xxxx)
***Android SDK [#cca8e12f]
-SDK Platforms
--Android n.n.n (xxxx)
---Android SDK Platforms nn~
--Android SDK Platforms nn~
開発に必要となるライブラリやツール一式
---Sources for Android nn~
--Sources for Android nn~
Android側のソースファイル一式、デバッグなどであると便利
---Google APIs~
--Google APIs~
Google PlayなどのAPIサービスを利用する場合は必要
---Google APIs xxxx System Image~
--Google APIs xxxx System Image~
APIサービスをエミュレータで利用する場合のシステムイメージ
-SDK Tools
***SDK Tools [#g56c92be]
--必須
-必須
---Android SDK Build-Tools nn~
--Android SDK Build-Tools nn~
Androidアプリケーションを開発する上で必要となるビルドツール一式。
---Android SDK Platform-Tools nn~
--Android SDK Platform-Tools nn~
Androidの開発・デバッグを行う上で必要となるツール一式
---Android SDK Tools nn.n.n~
--Android SDK Tools nn.n.n~
AndroidのSDK管理、開発・デバッグを行う上で必要となるツール一式
--任意
-任意
---Google USB Driver~
--Google USB Driver~
作成したアプリを実際のAndroid端末上にインストールして実行するため、~
Android端末とPCを接続し、PCにAndroid端末を認識させる。
---HAXMA installer~
--HAXMA installer~
Androidのエミュレータを高速にする。
---Support Repository~
--Support Repository~
Android Support Repository~
古いプラットフォーム上で新しい API を使用できるようになる。~
Google Support Repository~
Google Play Servicesを利用する場合に導入
--, etc.
-, etc.
***Android Virtual Device (AVD) [#ub542ad8]
シミュレートする端末の外観、機能、システムイメージを定義する。
***各種 設定 [#m72fa497]
[[Android Studio>#bb09d2fa]]のインストール手順に記載
***参考 [#of95e45c]
-[Android] SDKインストール対象の概要 | dfour~
http://www.dfour.net/android_sdk_manager/
-Intel HAXMのインストールと設定 - 0円で1から始めるAndroid開発記~
http://andro.hatenablog.com/entry/2014/11/19/183146
-Google USB ドライバのインストール(Win10)~
http://molehill.mole-kingdom.com/opencms/export/sites/default/IandS/devenv/android-related/install-usb-driver-win10/
**[[デバッグ>Androidのデバッグ#f8acf999]] [#ub542ad8]
以下から選択可能。
-エミュレータ
-実機
**プロキシ設定 [#x06c48cc]
***エミュレーター内の設定 [#x01a3cb8]
-ADT付属のAndroidエミュレータにプロキシ設定をする | | Loverfriend~
http://loverfriend.org/develop/20141224/
*参考 [#q1337d5d]
**[[Androidのデバッグ]] [#p9942d06]
**[[Androidのデプロイ]] [#xa6719f9]
**[[Android (FCM)]]([[プッシュ通知]]) [#m0484fc1]
-ホストOS側で名前解決できている範囲は、~
エミュレーター側でも名前解決できるもよう(仕組みは不明)。
***エミュレーター外の設定 [#qe6ea0f3]
-プロキシ認証に対応していないアプリケーションがある場合は、~
Windows側にHttpProxyAuthなどのツールを使用して認証を通す。
***アプリケーション・コンポーネント毎の設定 [#j2ea02cb]
-そもそもスマホはプロキシ環境下で使用しないので、~
HttpProxyAuthなどのローカルプロキシツールを使用したほうが良い。
-ローカルプロキシツールを使用する場合、エミュレーターのAPN(AccessPointName)設定に、~
ローカル・ループバック・アドレス(127.0.0.1 or localhost)を指定できないので、~
ホストPCのNICのアドレスをプロキシ(のアドレス)として指定するようにする。
-アプリケーション・コンポーネント
--Chromeなどはプロキシさえ設定すれば、プロキシ認証のダイアログが表示される。
--GoogleMapはプロキシ認証は通ららないもよう。ローカルプロキシツールでクリア。
--[[WebViewなどでプロキシ認証を通す方法>WebView#cb35e1a3]]。
**エミュレータ [#le10eab1]
*IDE [#odfca5b7]
**ペイン [#l58d7c5b]
***左ペイン [#w7cc7a78]
ソリューションエクスプローラー的な表示をする。ファイルを選択する。
***中央ペイン [#k182a77a]
メインウィンドウ(左ペインで選択したファイルの内容)を表示する。
***右ペイン [#q1c31539]
メインウィンドウ内のUIコンポーネントなどを選択した際に~
当該UIコンポーネントの構造を表すコンポーネント・ツリーなどを表示する。
***下ペイン [#g4892ffa]
デバッグ・ウィンドウなど、色々な出力が表示される。
**プロジェクト構成 [#u7044725]
***app [#x805c41e]
-manifests(appname\app\src\main)
--AndroidManifest.xml~
ApplicationとActivityの設定
---Applicationの設定
---Activityの設定~
最初に呼ばれるActivityには以下を追加する。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
-java(appname\app\src\main\java)
--\domain\appname\MainActivity.java~
最初に呼ばれるActivityの実装。~
---ココでは、制御の反転(override)で、[[ライフサイクル>Android#uc796cfb]]関連のメソッドが呼び出される。~
---また、イベントハンドラもココに実装する。イベントハンドラは、overrideではなく、delegateで実装される。
--\domain\appname\ExampleInstrumentedTest.java
---テスト用
--\domain\appname\ExampleUnitTest.java
---テスト用
-res(appname\app\src\main\res)
--\layout\
---ActivityのUIのレイアウトをXML形式で構成する(Text tab)。
---デザイナ+ツールボックスで定義可能(Design tab)。
--drawable~
アイコンなどで使用する画像を格納する。
--values~
文字列や値などをXMLで管理したい場合に使う。
***Gradle Script [#f7997be6]
**レイアウト [#g0568dec]
***リソースID [#q3ac15d4]
通常はレイアウトの android:id の値にはプラス記号[+]付きIDを指定する。
-@id/hoge と @+id/hoge の違い(プラス記号の有無)について - Qiita~
http://qiita.com/n-oshiro/items/359a0a0da8a04667b360
***Viewの位置 [#v48446a2]
WPFのPanelのようなもの。
-Androidアプリ開発のLayout(レイアウト)の使い方 | TechAcademyマガジン~
https://techacademy.jp/magazine/4457
-Androidアプリ開発のXXXXXの使い方【初心者向け】 | TechAcademyマガジン
--LinearLayout~
https://techacademy.jp/magazine/4455
--RelativeLayout~
https://techacademy.jp/magazine/4453
--TableLayout~
https://techacademy.jp/magazine/4450
--FrameLayout~
https://techacademy.jp/magazine/4448
--GridLayout~
https://techacademy.jp/magazine/4446
***Viewのサイズ [#aa45a5d7]
-layout_width~
横幅を指定する。
-layout_height~
縦幅を指定する。
-layout_weight
--比率で指定する。
--layout_width or layout_height="0dp" とする。
***サイズの指定 [#ef46cbb8]
-絶対値
--画面のザイズ:dp
--フォントのサイズ:sp
--参考
---【Android】今さら聞けない、px、sp、dip、dpの違い~
http://blog.shonanshachu.com/2012/10/androidpxspdipdp.html
-相対値
--wrap_content~
サイズを自動調整して表示する(auto的な)
--fill_parent~
match_parentと同じ(下位互換的な)
--match_parent~
親オブジェクトのサイズ一杯に表示する(100%的な)
--参考
---株式会社 阿形(システム事業部) > 技術コラム~
Androidで使う「wrap_content」「fill_parent」「match_parent」の違いとは~
http://www.agyou.com/technical/422.html
---[Android] wrap_content, fill_parent, match_parent の違い | tande lab.~
http://tande.jp/lab/2013/01/1962
**便利機能 [#a869d81c]
-Android Studio 他人に自慢したくなる便利機能10選 - Qiita~
http://qiita.com/arai-wa/items/95c1e3d53f7a2622d869
***Search Everywhere [#f7361209]
シフトキー✕2で色々なものを検索できる。
-ファイル
-クラス
-メソッド
-変数
-設定項目
-メニュー
***Find Usages [#x4f36ce6]
変数やmethodの使用箇所を検索
***Analyze Data Flow [#b83a8405]
-to Here~
変数に値が代入されるまでのデータの流れ)
-from Here~
変数に値が代入されてから参照されていくデータの流れ)
***Local Changes [#v2336e80]
変更したファイルの一覧と diff を表示
***Version Control [#c9a629a8]
GUI で行った git の操作を、git のコマンドで表示
***マクロ機能 [#k34da69c]
サクラエディタのマクロみたいな。~
手作業を記録、自動化してショートカット・キーを割当。
**その他 [#t42e2166]
***ショートカット [#wbf2ed99]
-Keyboard Shortcuts | Android Studio~
https://developer.android.com/studio/intro/keyboard-shortcuts.html
***折り畳み [#ybb3d865]
-VS の #region - #endregion は、
-AS で // region - // endregion と
できる。
***コード・コメント的な [#n2ab9171]
C#で「///」としていた所を、Javaで「/**」+「Enter」と打つと、~
コード・コメントのテンプレートが「ドン!」と出る。
*モジュール間の関連 [#x3f85c67]
**Empty Activity [#t0fbd2d9]
***AndroidManifest.xml [#afc7f770]
MainActivityをポイント
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
***MainActivity.java [#t97be9f3]
-onCreateメソッド~
最初に呼ばれるActivityのUIのレイアウト(activity_main.xml)を呼び出す。
setContentView(R.layout.activity_main);
***activity_main.xml [#ld05283c]
最初に呼ばれるActivityのUIのレイアウト定義
**Basic Activity [#s71c0df7]
Empty Activityに以下を追加
***MainActivity.java [#ha0ba9d1]
メニュー関連
-onCreateOptionsMenuメソッド~
メニューのUIのレイアウト(menu_main.xml)を呼び出す
getMenuInflater().inflate(R.menu.menu_main, menu);
-onOptionsItemSelectedメソッド~
・・・
***content_main.xml [#w479317b]
activity_main.xmlにインクルードされるメイン・コンテンツUIのレイアウト。
***menu_main.xml [#i979cb98]
メニューのUIのレイアウト定義
*開発者用リソース [#e7ad402b]
?hl=jaを付与すると日本語化される。
**Android Developers [#w242b61e]
***HOME [#ad5ba954]
-https://developer.android.com/index.html
-https://developer.android.com/index.html?hl=ja
>Nougat, Marshmallow, Lollipop, KitKat, Jelly Bean, About Android, Dashboards.
***設計 [#da642645]
-https://developer.android.com/design/index.html
-https://developer.android.com/design/index.html?hl=ja
***開発 [#f3c49a3c]
-https://developer.android.com/develop/index.html
-https://developer.android.com/develop/index.html?hl=ja
>トレーニング, API ガイド, リファレンス, Samples, Android Studio, Android NDK, Google Services.
***配布 [#o0132841]
-https://developer.android.com/distribute/index.html
-https://developer.android.com/distribute/index.html?hl=ja
>Google Play, Essentials, Get Users, Engage & Retain, Earn, Analyze, Stories.
***PREVIEW [#h7a65d30]
-https://developer.android.com/preview/index.html
-https://developer.android.com/preview/index.html?hl=ja
>プログラム概要, Support and Release Notes, API の概要, Preview SDK のセットアップ, デバイス上でテストする, サンプル, 使用許諾契約.
**その他 [#ja23f9f2]
-Android開発に入門してよかった資料まとめ - Qiita~
http://qiita.com/morizyun/items/ec78167ba1b66f4dad6d
--Android 開発 完全初心者向けの入門資料 - 酒と泪とRubyとRailsと~
http://morizyun.github.io/blog/android-studio-java-beginner/
***ドットインストール [#v344731a]
-プログラミングのレッスン一覧 - プログラミングならドットインストール~
http://dotinstall.com/lessons
-Android で検索した結果 - プログラミングならドットインストール~
http://dotinstall.com/search?q=Android
***Tech Institute [#ge7132ce]
-アプリ開発者を育てるプログラミングスクール~
Tech Institute(テックインスティチュート)~
--Tech Institute 2014~
http://techinstitute.jp/material/01/
--Tech Institute 2015~
http://techinstitute.jp/material/02/
***逆引きAndroid入門 [#k48fb06d]
http://www.adakoda.com/android/
***mixi-inc/AndroidTraining [#ccd5a470]
-mixi-inc/AndroidTraining:~
Training course repository for android app development~
https://github.com/mixi-inc/AndroidTraining
***初心者必見!10時間で作るはじめてのAndroidアプリ [#q1bb94c5]
-初心者必見!10時間で作るはじめてのAndroidアプリ−前編 - 株式会社エウレカ~
https://eure.jp/blog/android-app-for-beginners-1/
***基本的に、ググる [#l475f449]
基本的に、知りたい事をググる。
-例えば「Android WebView」でググると・・・。
-公式リファレンスを使用してググる場合は、以下のように入力する。
site:developer.android.com onPrepareOptionsMenu