20210511のAndroidに関する記事は3件です。

Androidのレイアウト概要

はじめに 普段は、iosエンジニアなのですが、androidも書きたくて、まず参考書を読むことにしました。 2年前にちょろっとAndroidは書いたことがあり、なんとなく全体像は知っているので、一番気になるレイアウトの章から読みました。 全部読み終えてから、改めてまとめるつもりなので、 この記事では、解説というよりは、その時用のメモのようにラフにまとめます。 ビューのヒエラルキー ViewGroupeだけがサブビューを持てるのね。 iosではどのviewもsubviewsプロパティにサブビューを格納できるので、汎用性はiosの方が高いのだろうか? レイアウト 仕事としてはmeasureパスとlayoutパスがあり、 measureパスはサイズ、layoutパスは座標を決定する。 measureパスが終わってから、layoutパスがよばれる。 つまり、ビューヒエラルキー内のビューのサイズを全て決定してから、適当な座標に置いていく感じか。 measure() Viewクラスにはmeasure()メソッドがあり、自身のサイズをこの中で決定する。 measure()メソッド内で、onMeasure(int widthMeasureSpec, int heightMeasureSpec)がよばれ、さらにその内部でsetMeasuredDimension(int measuredWidth, int measuredHeight)がよばれる。 こんな感じ measure() > onMeasure() > setMeasuredDimension() 後の2つのメソッドの役割は、 onMeasure(int widthMeasureSpec, int heightMeasureSpec): 引数に親ビューからのサイズ制約を受け取り、自身のサイズを決定する。 setMeasuredDimension(int measuredWidth, int measuredHeight): 自身のサイズを引数に受け取って申告する。 layout三態 onMeasure(int widthMeasureSpec, int heightMeasureSpec)の引数で受け取る値には、制約パラメータが入っていてこんな感じ。 EXACTLY: 親ビュー値は数値のハードコード。(このビューではこの親ビュー数値以内でメジャーしないと見切れる) AT_MOST: 最大でもこの値以下でメジャーしてね。 UNEXPECTED: どんな値でもいいよ。(親ビューがwrap_contentとか。) ViewGroupのmeasure() onMeasure()内で、 まず子ビューのmesure()を全て呼び出し、全ての子ビューのサイズを確定させる。その後、子ビューのサイズと自身の設定をもとに、setMeasuredDimension()で自身のサイズをで申告する。 子ビューのonMeasure()では、ViewGroup自身の制約とViewGroupがonMeasure(int widthMeasureSpec, int heightMeasureSpec)で親から受け取った値をいい感じに合わせて、受け取っている。 ViewGroupでないViewのmeasure() onMeasure()の引数と自身の設定(wrap_contentなど)を基に、setMeasuredDimension()でサイズを申告する。 必ず末端のviewなので、子ビューを考慮する必要なし。 layout() サイズの決まったviewを親ビューから良き座標に置いていく。 特にいうことなし。 参考文献
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Androidアプリ リリース手順(手動公開)メモ

Androidアプリリリース(Google Play Store公開)時の流れと不明だった点を簡単にまとめました! 新しいGoogle Play Console(2020年6月〜) ↓ 初回審査時入力項目 基本的には「新しくリリース作成」ボタンからのナビゲーションに従えば良し。 ・ストア情報の入力(説明文、スクショ、ヒューチャーグラフィックなど) ・リリースの作成(バイナリアップロード、リリースノートなど) ・製品版→国と地域の選択 ・アプリのコンテンツ(プライバシーポリシーなど) ・審査→公開 参考:【2021年最新版】Androidアプリのストア公開手順まとめ 時間指定公開のやり方:”公開の概要”→”管理”→”オン” ※初回審査申請時に「完全公開」という表記(←心臓に悪い)になっているが、この設定をしておけば公開は手動に変更される。設定なしの場合、審査終了後に公開が自動。(アプリのアップデートリリース時も同様) 審査関連メモ 審査は初回、アップデートごと アプリの公開→新規ユーザーへの公開 アプリの非公開→新規ユーザーへの配布はストップ、既存ユーザーへの公開やアップデート配信はされる アプリの削除はできないため、非公開設定にすることが限界のよう 参考:公開に関する問題 - Play Console ヘルプ
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

android

advance databinding view内で使用するデータクラスを定義し、それを利用できる xmlに, (使用するデータクラスの指定)の定義必要 データの更新を検知させるためにinvalidateAllの呼び出し必要 binding view内で使用しているものにアクセスを簡単にする(findViewByIdの冗長な記述が不要に) build.gradleにて設定必要 xmlに(namespaceの指定)を定義必要 applyでアクセス処理を一括で記述可能
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む