#author("2021-04-26T05:37:37+00:00","default:wikiadmin","wikiadmin")
#author("2021-10-04T02:39:20+00:00","default:wikiadmin","wikiadmin")
-Google携帯について

#contents

*記事一覧 [#u1fc2dcd]

#ls2(Android)

*用語一覧 [#z6719e71]

|インテント|明示的はクラス指定、暗黙的はWindowsのExeクリック時に候補に出す様なものでインテントフィルターを設定したものを出す。ペンディングインテントは通知などでつかうインテントのラッパー|

*アプリ配布形式 [#qa215a77]

|APK|一昔前の方式。コンパイル済み|
|AAB|Android App Bundleの略でソースも含む形式。APKにするのはPlayStore側で、2021/08より必須|

*開発参考サイト [#ae91c370]

Androidコードラボ
https://codelabs.developers.google.com/advanced-android-training/

*Androidとは [#m8bd84b2]

Googleが提供するLinuxベースの携帯OS。別に携帯だけに用途は限られていないので、PDAなどにも採用実績あり。世界では安さゆえに圧倒的シェア。日本では安い端末があまりない。

*操作 [#zd3459a1]

|フォルダ作成|何もないところで長押し|
|フォルダ変更|フォルダのタイトルバー長押し|

*実機接続手順 [#l12c0953]

https://blog.codecamp.jp/android_test

**AndroidをVMで動かす [#ndf0a137]

Androidx86プロジェクトからisoイメージを取得して起動する。エミュレータより早いと評判

*Androidアプリのセキュリティ対策 [#z584bcb4]

http://www.ipa.go.jp/about/technicalwatch/pdf/120613report.pdf

*開発環境の構築 [#ta23b244]

**Instant Run [#vda17744]

動的差分更新。2回目のビルド以降で雷のマークをクリックすると必要なライブラリダウンロードしてくれる。


**Android studio [#veeef1a1]

2015年現在ではAndroid Studio一択。IntelliJとベースは一緒。ダウンロードサイズと後で入れるSDKを合わせると数GBクラスのダウンロードが必要となる。

***エミュレーターが起動しない [#eb030657]

 emulator: ERROR: x86 emulation currently requires hardware acceleration!
 Please ensure Intel HAXM is properly installed and usable.
 CPU acceleration status: HAX kernel module is not installed!

+SDK Managerからインストーラーをインストールする。
+ユーザーディレクトリ(通常はc:\USERS)\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Managerのインストーラーを起動する


**Eclipse(古い) [#ac1a1222]

最近ではすべて導入済みのパッケージもある。AndroidSDK ADTBundleパッケージを入れるのが一番手っ取り早い。その場合は必要なのはJDKのみ

-JDKインストール
-Eclipseインストール
-AndroidSDKインストール(ADTからインストールも出来る、時間かかる)
-ADTプラグインインストール(zipアーカイブからのインストールがおすすめ)

**用語集 [#n4cd3fed]

|用語|説明|
|AVD|仮想デバイス。スナップショットが使える場合は使うと軌道が早い|
|Logcat|ログ表示ビュー。ビューで追加しておくとよい。フィルターを定義しておくと絞れて便利|


**debug.keystore期限切れ [#jd128227]

-古いSDKだと開発用アプリ署名のdebug.keystoreの有効期限が1年。切れると「error generating final archive: Debug certificate expired on 10/08/21 18:14!」とメッセージが出る。debug.keystoreを消せば新しいファイルが作成される。有効期限を確認するには下記コマンドを実行
 cd %USERPROFILE%\.android
 keytool -list -v -keystore debug.keystore

*エミュレータへのファイル転送 [#g23ee5c0]

DDMSを使ってもいいけど、よくエラーが出るので、コマンドラインで実施。

 c:\Program Files (x86)\Android\android-sdk\platform-tools>adb push "E:\x_movie\youtube download\noudou.mp4.mp4" /sdcard/


**JavaDoc [#xce9f01b]

http://www.androidjavadoc.com/2.3/index.html

**アプリの構成要素 [#f2223298]

-アクティビティ

アプリそのもの。他のアプリも呼べる

-レシーバー

イベントリスナー

-サービス

サービス

-コンテンツプロバイダ

*開発TIPS [#p3bf3c86]

**爆速エミュレータ [#l351c6f9]

http://dev.classmethod.jp/smartphone/build-fast-android-emulator/

**ファイル選択 [#qae55d12]

Intentを指定してActivityの戻りを処理する。

 Intent intent = new Intent();
 intent.setType("image/*");
 intent.setAction(Intent.ACTION_GET_CONTENT);
 startActivityForResult(intent, 1);


*Android NDK [#v7935cb3]

**必要なもの [#v826b407]

NDK本体に加えて、WindowsならCygwin(gcc4,Make)

**NDK インストール [#ocb150d4]

NDK本体はZIPを解答するだけ。あとはパスを通しておく。

**ビルド [#xbb28995]

プロジェクトのTOPへ行ってndk_build

*書籍情報 [#v616727b]

|書籍名|感想|場所|サポートサイト|
|AndroidアプリがWebブラウザ上で部品を並べるだけでできあがる|App Inventorの説明|NCC||
|やさしいAndroidプログラミング|ビューの配置はコードで行っている等表題ほどやさしくはない。各コンポーネントの詳細の使い方を掘り下げる形式。|NCC|http://homepage3.nifty.com/~mana/yasaa.html|
|Android SDK開発のレシピ|逆引きTIPS。iPhoneにも同様の書籍あり|NCC|https://github.com/gabu/AndroidSDK-RecipeBook|
|作ればわかる!Androidプログラミング―10の実践サンプルで学ぶAndroidアプリ開発入門|経験者向け。一通り機能網羅のある10のアプリ|NCC|http://books.shoeisha.co.jp/book/b89122.html|
|15歳からはじめる Androidゲームプログラミング|タイトルにだまされないように!経験者向け。表題どおりゲーム向けSurfaceViewまで|NCC|http://www.rutles.net/books/280.html|

*開発環境高速化 [#n3bbadc4]

+ディスクはHDDだと転送領域100%つかうのでSSDにインストールする。
+ARMベースのエミュレータは遅いんで、intel HAXMなどの代替手段を検討

*シェア [#ibdd93e9]

google公式で月次で更新なのでここを見るのが良い。

http://developer.android.com/about/dashboards/index.html

*Android開発の基礎 [#r52d2834]

|Fragment|複数のActivityで使い回す前提の部品|
|Applink|ブラウザのリンクを横取りできるが、ドメインと一致する必要がある。iOSだとuniversal Link|
|Data Binding|登録したオブジェクトの状態を監視して、Viewに反映してくれる仕組み|

#counter

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS