#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