20210507のAndroidに関する記事は6件です。

[Android 11] 起動しているActivity/Fragmentを表示するadbコマンド

Android 11からdumpsysの出力が変わり、今までのコマンドではうまくいかなくなったようです。 手探りで探したので定かではありませんが、助けになると幸いです。 今Focusが当たっているActivity adb shell dumpsys activity | grep "CurrentFocus" ActivityのStack adb shell dumpsys activity | grep "#[0-9]* ActivityRecord" Android 10以前の adb shell dumpsys activity | grep -B 1 "Run #[0-9]*:" ポジション。 追加されたFragment adb shell dumpsys activity top | grep 'Added Fragments' -A 5 -A の後の数字は表示する行数なので、fragmentがたくさんあって5行じゃ足りない場合は増やし、fragmentが少なくてより短く見たい場合は減らしてください。 最後に 情報提供いただけると幸いです。コメントお待ちしております! 参考: https://developer.android.com/studio/command-line/dumpsys
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Android]Androidに関する用語を五文字で要約してみた

この記事は Androidに関する用語を初心者にも分かりやすく?五文字で要約してみました。 たまに、Androidに限らない用語も出てきますw 正直、自分自身に向けての備忘録として書いているので、意味わからんところが出てくると思いますが、その場合はコメントかTwitterで質問してください! 本や記事を読みながら、見つけた用語を随時更新していきます。 Activity 画面 Fragment 破片 ライフサイクル 人生 onCreate() 画面作成 onDestroy() 破棄 View お客さん 詳しくは ViewModel 板前 詳しくは Data Binding レール LiveData 通知送信 MutableLiveData 変更可 Observer 通知受信 GOD Activity デブ画面 コンポーネント 部品 マテリアルデザイン 本物感 Android Architecture Components 設計道具 Room 便利SQL 補足説明:SQLを使いやすくしたという意味です。 Coroutines 簡単非同期 Retrofit 通信道具 lifecycleScope 破片非同期 カプセル化 隠す ImageView 画像部品 Room 最新冷蔵庫 リモート 海 ローカル 家の冷蔵庫 依存関係 使用可に エンティティ 仕切り Dao 操作 アノテーション 意味付け データクラス 情報持つ Companion 実態一つ シングルトン 実態一つ context 寿命指定 詳しくは enum 選択肢 ドキュメント(リファレンス) 質高い情報 Repository 漁師 詳しくは Model 海 詳しくは JetPack 超便利道具 Repository 保管場所 DI 貸借関係 Hilt DI道具 関心の分離 分業 詳しくは 永続化のロジック 冷蔵庫IN 補足説明:Roomを使う事でネットに繋がらなくても、アプリから離れてもデータを参照することが出来る interface 処理内容無 抽象メソッド オバラ強制 補足説明:オバラはオーバーライドの略称です エントリーポイント 開始位置 エンドポイント 終点 Dagger ヒルト前身
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

掌田 津耶乃著『Android Jetpack プログラミング』の歩き方(Section3-4) アラートダイアログを利用するのactivity_main.xmlについて補足

1. はじめに  掌田 津耶乃著『Android Jetpack プログラミング』(以下、本書と言う)で勉強しています。この本は、著者が記述しているように入門書ではないようです。それゆえ、本書をしっかりと読み込んでいないと、記載されているソースコード通りに写経しても、エラーで弾かれることがあります。本レポートでは、「『Android Jetpack プログラミング』の歩き方」と題して、掌田 津耶乃著『Android Jetpack プログラミング』の歩き方(Section3-1)に引き続き、ソースコードどうりに写経してアプリが正常に動くようにするための注意点をレポートします。記述や考え方などに誤りがあれば、ぜひご教示いただきたいと思います。 2. 注意点 2.1 リスト3-21のactivity_main.xmlについて、  本書p188のリスト3-21を写経する際、リスト3-19を元に写経(コピペ?)をすると思いますが、タグの中にある、onClickの行は不要になると思われますので削除しましょう。また、レイアウトが崩れるので、app:layout_constraintTop_toBottomOf="@+id/text1"と変更しましょう。最終的には以下の通りとなると思います。 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <androidx.constraintlayout.widget.ConstraintLayout xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView 著作権に配慮して、省略 /> <!-- 以下、android:onClick="@{(vw) -> obj.doIt(frmNumber, text1)}"を削除 --> <!-- app:layout_constraintTop_toBottomOfをtext1に変更 --> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="Button" android:textSize="18sp" app:layout_constraintTop_toBottomOf="@+id/text1" tools:layout_editor_absoluteX="0dp" /> </androidx.constraintlayout.widget.ConstraintLayout> </layout> 3. 次の記事 Section4-2についても注意点を記述しました。ぜひご参照ください。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Android]脳死で使っていたonCreateViewとonViewCreatedの違いを少しだけ掘り下げる

onCreateViewとonViewCreatedって当たり前のように使っているけど… 脳死シリーズ第二弾です。 前回は、脳死で使っていたcontextを少し掘り下げました。 今回は、Fragmentで使うonCreateViewとonViewCreatedの違いについて少しだけ分かろうと思います。 筆者は、onCreateViewの方でData Bindingの紐づけを行って、onViewCreatedの方に色々書いていました。 しかし、どっちに書いても同じ気がしてならぬのです。 違いは… onCreateViewというのは onCreateView()の引数は、以下の三つです。 1. inflater: LayoutInflater, 2.container: ViewGroup?, 3.savedInstanceState: Bundle? そして、戻り値はViewを返します。 このメソッドは、戻り値がルートとなっているViewなので、画面を描画する処理をしてくれます。 また、nullを返すと画面を描画させない処理ができます。(どんな時に使うのか…) onViewCreatedというのは コンストラクタに、 view: View, savedInstanceState: Bundle? の二つを持ちます。 viewを持つということは、画面が出来上がった後に実行されるメソッドです。 ここで、Viewの操作をするようです。 終わりに 結構、杜撰な記事になってしまいました。 ツッコミを受け付けております。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

アプリのディープリンクまとめ

ディープリンクとは? urlでアプリの特定画面を開く技術全般のこと。 Androidにおいては、intent-filterでActivityを起動する仕組みのことも指す。 http/https以外のschemaに反応させたい場合もこれを使う。 (tel:// とか mailto://とか) Androidアプリリンク Android版Universal Links intent-filterだと、同じ条件が設定されているActivityが起動し得るので(メールアドレスをタップすると複数のメーラーが候補に出てくるように)起動するアプリを限定したいときに使用する。 検証用にアプリサーバーなどに所有者を示すファイルを置く必要がある。 Universal Links iOSにおけるディープリンクの新しい実装。 Androidアプリリンクとだいたいの動作は同じ。 (使えるようになるまでの手順も似ている) Custom URLs Androidにおけるintent-filterによるディープリンクの実装と同じもの(古い実装)。 例えば、Facebookならfb://user/hogehoge みたいなurlでFacebookアプリのユーザーページを開く、といったurlのこと。 DynamicLinks Android/iOSにおけるディープリンクの実装をラップしたサービス。 内部的には前述の実装を使い分けている。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

expo eject後にAndroidが起動しない

$ expo eject 実行後、なぜかAndroidで起動しなくなった。 原因 差分を順に確認してみると、 android/app/src/main/res/drawable/splashscreen_image.png を削除すると起動することがわかった。 解消法 この場合、 android/app/src/main/res/drawable-* という名前の各ディレクトリへ splashscreen_image.png をコピーすれば治る。 より詳細に どうやら原因はAndroidバージョンに合ったディレクトリ( drawable-* )内にスプラッシュ画像が必要なのに、存在していないから。らしい。 まず、各画像はクオリティに合わせて以下のようなディレクトリに分けられている。 android/app/src/main/res/drawable-xhdpi/ android/app/src/main/res/drawable-xxhdpi/ android/app/src/main/res/drawable-xxxhdpi/ が expo eject 直後、 splashscreen_image.png は android/app/src/main/res/drawable/ にしか存在していない。 最近のAndroidバージョンではハイクオリティな画像を参照しようとして android/app/src/main/res/drawable-xxhdpi/ 内の画像を参照しようとするので、そこに求めている画像がないとクラッシュの原因となる。 らしい。 cf. https://stackoverflow.com/questions/40835514/android-canvas-drawing-too-large-bitmap/41635904#41635904 公式ドキュメントにも乗っていなかったので結構詰まった。。。 以上。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む