「[[.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)>Androidデバッグ#ub542ad8]] [#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
**[[デバッグ>Androidのデバッグ#f8acf999]] [#ub542ad8]
以下から選択可能。
-エミュレータ
-実機

*IDE (Android Studio) [#odfca5b7]
*参考 [#q1337d5d]
**[[Androidのデバッグ]] [#p9942d06]
**[[Androidのデプロイ]] [#xa6719f9]
**[[Android (FCM)]]([[プッシュ通知]]) [#m0484fc1]

**ペイン [#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

**デバッグ [#v6fe7cc2]
-Androidの便利なデバッグ手法 - Qiita~
http://qiita.com/kazy/items/252bfc2d88d8899a95d5

***デバッガ [#zc95fe85]
-ブレークポイントを設定
-デバッグ実行(「Run 'app'」の横にある「Debug 'app'」を押下)
-ブレークしたら、[View] -> [ToolWindows] -> [Debug]でデバッグ画面を表示。

-参考
--AndroidStudioで覚えておくべきデバッグTIPS - Qiita~
http://qiita.com/FumihikoSHIROYAMA/items/e3159103ba2fba07e063
--
--Android Studio最速入門~効率的にコーディングするための使い方~
第39回 デバッガについて|gihyo.jp … 技術評論社~
http://gihyo.jp/dev/serial/01/android_studio/0039

***ログ [#d6b1aca6]
-Android's version of C#'s Console.WriteLine? - Stack Overflow~
http://stackoverflow.com/questions/3440927/androids-version-of-cs-console-writeline

***通信 [#m2d978fc]
デバッグ・プロキシを使用する。

***WebView [#e801ef0b]
[[コチラ>WebView#k49692d7]]を参照。

**便利機能 [#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のレイアウト定義

*バージョン間の差異 [#z1400dfa]
結構違うので大変。

**[[WebView>WebView#vb2bdd63]] [#c6d727bb]

**・・・ [#m3ebe2e8]

*開発者用リソース [#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 Studio最速入門 [#j2fc8e19]
http://gihyo.jp/dev/serial/01/android_studio

***逆引き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 shouldOverrideUrlLoading
-また、SDKバージョン毎の情報を調べる場合は、リリース次期で検索結果を絞る。~
Googleで一度検索し「検索ツール」から「期間指定なし」をクリックして期間を設定する。~
--Google検索で日付や期間指定をして検索結果を表示する方法 | bl6.jp~
http://bl6.jp/web/webinfo/google-search-date-setting/


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS