「[[.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] 以下のチュートリアル・コンテンツがオススメのようです。 **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 [#bb09d2fa] Eclipse + ADTとAndroid Studioがメジャーだったようですが、~ -2014年12月8日にAndroid Studio 1.0 の正式版がリリースされ、 -Eclipse+ADTのサポートは、2015年末までとなって、 Android Studioがデファクトになり、~ Eclipse + ADT → Android Studioへの~ 移行ツールも整備されているようです。 -参考 --僕が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 SDK [#cca8e12f] -SDK Platforms --Android n.n.n (xxxx) ---Android SDK Platforms nn~ 開発に必要となるライブラリやツール一式 ---Sources for Android nn~ Android側のソースファイル一式、デバッグなどであると便利 ---Google APIs~ Google PlayなどのAPIサービスを利用する場合は必要 ---Google APIs xxxx System Image~ APIサービスをエミュレータで利用する場合のシステムイメージ -SDK Tools --必須 ---Android SDK Build-Tools nn~ Androidアプリケーションを開発する上で必要となるビルドツール一式。 ---Android SDK Platform-Tools nn~ Androidの開発・デバッグを行う上で必要となるツール一式 ---Android SDK Tools nn.n.n~ AndroidのSDK管理、開発・デバッグを行う上で必要となるツール一式 --任意 ---Google USB Driver~ 作成したアプリを実際のAndroid端末上にインストールして実行するため、~ Android端末とPCを接続し、PCにAndroid端末を認識させる。 ---HAXMA installer~ Androidのエミュレータを高速にする。 ---Support Repository~ Android Support Repository~ 古いプラットフォーム上で新しい API を使用できるようになる。~ Google Support Repository~ Google Play Servicesを利用する場合に導入 --, etc. ***[[Android Virtual Device (AVD)>Androidデバッグ#ub542ad8]] [#ub542ad8] ***参考 [#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 *IDE (Android Studio) [#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 **デバッグ [#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/