usakdsteen

ゆうさくですてぃーん

2023年08月22日(Tue)の独り言

の呟きは 58

 < の独り言 | の独り言 | の独り言 > 
  •  #

    久々のオフラインの夜

    •  #

      まぁ、スマホのSIMでインターネッツはやろうと思えばできなくもないが・・・

    •  (UPD ) #

      オフラインなのでIDPWMemo10はお預け・・・(実機テストができない)

      •  #

        moneymemoのほうは作業やろうと思えばできるはず

        •  #

          公式ドキュメントは付属してるわけだし

      •  (UPD ) #

        あー、実機テスト
        その気になれば
        スマホを直接PCと繋いでapkファイル移動という方法も・・・あるのかな

        •  #

          まぁ一応、開発用のドライバはダウンロード済みでインストール済みでもあるから
          スマホ本体のほうの開発モード解放すれば
          その名のとおりの実機テストを実行できるが・・・

          •  #

            SIM無しの遊び機ならまだしも
            普通に家族との連絡用なので
            開発モード解放はちょっとためらわれる

        •  #

          待って、スマホ本体とPCとを繋いだ状態でファイル移動って、このスマホではやったことないのだけど
          microSDカードとか入れてなかったと思うし
          できるのかなぁ・・・

          •  (UPD ) #

            スマホから取説を見たが(つか普通にauのサイトなので通信料・・・)

            windows7は対応OSじゃない・・・!?

            USBケーブルでパソコンと繋ぐ話のところで

            arrowsWeのandroid11のほうの取説はwindows10,windows8.1に対応とあり
            arrowsWeのandroid13のほうの取説はwindows10,windows11に対応とあり

            ダメ

            •  #

              真面目にスマホのOSアプデはしたのでandroid13…

              •  #

                さて、対応外扱いなのは
                単にサポート終了OSだから記載しなかったのか
                OS互換のないドライバが自動インストールされるとかなのか…?

                •  #

                  RustもGoもバイナリはWindowsのバージョンではなくCPUタイプで区別されてたような・・・?

                  •  #

                    スマホのドライバが
                    もしかすると
                    OSのバージョン依存のシステムライブラリを使っているとか・・・なん?

      •  #

        まぁスマホ側に持っていけそうならやるか・・・?

  •  #

    ボーナスダンジョンの鍵、3個ともゲットできて
    結果は
    ドラキー1、ゴールド1、ハズレ7

    まぁまぁラッキーの結果

  •  #

    錬成武器
    まさかガイアのつるぎが来るとは思わず・・・

    これでまた輝石入手が必要に・・・orz

    •  #

      つか経験値稼ぎも辛い

      •  #

        プラズマウエーブ(?)
        まぁまぁの強さだけど
        11章2話フィールドではややきつい
        43フィールドでは上ブレすれば一撃

        •  #

          そしてその全体攻撃は強化されない・・・という・・・かなしい

          •  #

            ジバリア単体の高火力はこれしか持ってないので強化されるのは純粋にありがたいことでもある

  •  #

    さて、IDPWMemo10

    時間制約をどうつけるかだが

    •  #

      別のアクティビティを開くとonPauseが呼ばれる、と

      •  #

        Ativitiyのドキュメントの図に無くテキストで説明だけの罠っぽいのが
        onStartからonResumeに移る場合と、onStartからonStopに移る場合と、があると…

        これは、罠では?

        •  #

          ユーザーに見えるような状態になったときにonStart来るけど
          ユーザーがなんらかの方法で非表示にするとonStopに移行するらしい

        •  #

          onDestroyって使い方不明だな・・・
          システム側はともかく
          アプリ開発者にとってどういう意義が・・・?

          onPause後からでもonStop後からでもシステムが強制的にKillすることがあると書いてあるし

        •  #

          まず
          親ビューア側
          これ単体ならonResumeとonPauseだけで済む

          •  (UPD ) #

            問題は子アクティビティを開いたとき

            onPauseもonStopも呼ばれる可能性はあるもののkillされなければ親アクティビティのメモリは維持されるため、時間制限の情報は生存するが、killされたら、保存しないかぎり消える、がしかし、killされたらOpenしたMemoも消えるので、そもパスワードなしじゃ復帰しようがないというのがある

            •  #

              そも、子アクティビティ開いて長時間放置という状況はあまり・・・ないような

              Service/Value/Secretの追加・編集・削除・エクスポートのアクティビティであり、長時間開きっぱはまず無さそうなので、onStopはまず来ない(まぁエクスポートはあるかもだが

              とはいえ、ブラウザなど他のアプリと行き来しながらIDPWMemoにデータを入力していくとなると、親ビューアがkillされる可能性がある(最悪、子アクティビティもkillされうるがw

              •  (UPD ) #

                IDPWMemo10は軽量なアプリのはずなので
                そう滅多にKillされないと思いたいが・・・

                ポケGOプレイではkillされた形跡があった

                •  #

                  ブラウザはわからn

            •  (UPD ) #

              子アクティビティからの戻り

              onResumeとonActivityResultのどっちが先に呼ばれるかという部分をどうするか、という


              子アクティビティを開いてonPauseなのか
              外部の他のアプリに移動してonPauseなのか
              まずこの区別
              後者の場合のonResumeではそのまま時間制約処理していいが
              前者の場合は…onActivityResult呼び出し前なら復帰処理を保留してonActivityResultで復帰処理を決定する…?、onActivityResultが先に呼び出されている場合は…どうする?、どちらもUIスレッドのはずなので同時並行処理はないので必ずどちらかが先に実行されて一方はその実行後なので状態情報を持てば状況の区別はできるはず・・・?

              •  (UPD ) #

                状態表?

                子表示 onResume onActivityResult
                 yes  before   before
                 no   after    after

                存在しうる組み合わせは


                onPause内 no before before (子じゃないアプリ)
                onPause内 no before before (killでyesが消えた)
                onPause内 no before before (killでyes,afterが消えた)
                onPause内 no before after (killでyesが消え先にonActRes)
                onPause内 no before before (killでafterが消えた)
                onPause内 yes before before
                onPause内 yes before after
                onActivityResult内 no before before (killでyesが消えた)
                onActivityResult内 no before before (killでyes,afterが消えた)
                onActivityResult内 no after before (killでyesが消え先にonResume)
                onActivityResult内 no before before (killでafterが消えた)
                onActivityResult内 yes before before
                onActivityResult内 yes after before


                状態多い・・・?

                •  (UPD ) #

                  killでafterが消えるとしたら
                  かなり特殊な状況で

                  onResumeが呼ばれたあと即onPause移行でonActRes呼ぶ前にバックグラウンドに来てkill

                  onActResが呼ばれたあと即onStop移行でonResume呼ぶ前にkill(onActRes時にはKill前でMemoの編集には成功している可能性もある、onActRes時点で一度killで失敗している可能性もある)

                  の2パターン?

                  ユーザ操作のスピードと、プログラムの処理のスピードは、雲泥の差があるので、奇跡的なタイミングで起きるかもしれないレベルだが、起きない保証はない・・・といったところか

                  •  #

                    onActResでは、おそらく、killでMemoがnullになっているので処理失敗に終わる、というだけで(それはそれで悲しいが・・・Value/Secretに設定した値を脳みそで覚えていられなかった場合は・・・

                    onPauseのほうではどうだろう
                    killが前提ならどのみちMemoはnullなわけで
                    その後にonActRes呼ばれようが失敗に終わるだけだし・・・?

                    noのシチュではyesやafterが消えようとも関係なく、Memoはnullで子は失敗、という結果か

                    •  (UPD ) #

                      kill前にonActResだけが呼ばれたというシチュ以外では、Memo変更は失敗
                      という感じだな(afterが消えたケース

                •  #

                  noのシチュは考慮必要ないという感じなので

                  yesの分岐について考えれば・・・よい?

                  •  (UPD ) #

                    onPause内 yes before before
                    … 表示復帰処理をonActResに任せる?


                    onPause内 yes before after
                    … 表示復帰処理はonPause内?子はキャンセル以外の結果ならタイマークリアというのがありうる?タイマーどおりの時間切れ判定でよい?


                    onActivityResult内 yes before before
                    … 表示復帰処理はonPauseに任せる?キャンセル以外の結果ならタイマークリアしとく?


                    onActivityResult内 yes after before
                    … onPauseは表示復帰処理を保留したはずなので、表示復帰の処理をやっておく必要がある?キャンセル以外の結果のときは表示タイプ維持で、キャンセルのときは時間切れ判定がいる?

                    •  #

                      つまり
                      onPauseではyes before beforeのときのみ、メソッドから即脱出し
                      それ以外では通常処理で無問題

                      •  #

                        onActivityResultでは
                        キャンセルもキャンセル以外も
                        表示復帰するかの判定が必要か・・・

              •  (UPD ) #

                onActivityResultの説明によると
                onResumeの前に呼ばれることが保証されているぽい・・・?

                f:id:neetsdkasu:20230823015813p:plain
                •  #

                  なるほど
                  じゃあ、親ビューアがkillされてるときは
                  onCreateから呼ばれるだろうから
                  onActivityResultが呼ばれても失敗かな…?

                  これ、タイマークリアしとけばいいだけか?

                •  (UPD ) #

                  You will receive this [(that) call immediately before onResume ] [when your activity is re-starting]

                  英文法わからねえ、
                  この解釈でいいの?

                  •  (UPD ) #

                    英語のグラマー本が見当たらないが・・・捨てたんだっけ・・・?

  •  #

    setResultを見たかんじ
    RESULT_CANCELEDでもIntentデータを渡せそうな雰囲気だな?

    •  #

      今気付いたけど

      android-29のソースをダウンロードしてた

      Activity.javaを見たが
      setResultはシンプルに同期処理

      onActivityResultは空なんだが・・・?superを呼び出せとかじゃなかったっけ・・・?

      •  #

        そんなことは書いてなかった・・・

        f:id:neetsdkasu:20230823015824p:plain
        •  #

          noHistoryがtrueだと呼び出されないらしい

      •  #

        startActivityForResultの中身を眺めると
        なんか色々かいてあるな・・・

        f:id:neetsdkasu:20230823015836p:plain
      •  #

        デフォルトの戻るがキャンセルでデータなしなのは、初期値なだけか

        f:id:neetsdkasu:20230823015848p:plain
        •  #

          どころでフィールドのプリフィクスmは何なの?

          private以外にもついてるが・・・

      •  #

        アクションバーの戻るからだとonActivityResultが呼ばれなかったのは
        単純なfinish()じゃないルートで呼ばれていたから?

        f:id:neetsdkasu:20230823015900p:plain
        •  #

          よくわからん

          f:id:neetsdkasu:20230823015749p:plain
      •  #

        このソースをjavadocでドキュメント出力するとかすれば
        APIリファレンスを得られそうだけど
        ソース無限大あって
        時間かかりそうだし
        何より、アノテーション・・・ちゃんと処理できるのか否か・・・

        •  #

          そこまでファイル数膨大ってほどでもなかったけど
          我がマシンではきっついかも

          f:id:neetsdkasu:20230823015802p:plain
          •  #

            生成もきつそうだが
            項目が1万も並ぶと
            ドキュメントトップページが地獄になりそう

            •  #

              javadocさん
              トップページに全てのクラスとかいう名目で並べるからね・・・

        •  (UPD ) #

          ともかく
          知っているクラスやメソッドについては
          オフラインではこれをドキュメント代わりに使える可能性はある

          所属パッケージもクラス名もメソッド名もはっきり覚えてないやつは、探せない

          もちろん、まだ知らない便利機能を探そうというのにも使えない
          非公開なものも多く、情報が多すぎる

 < の独り言 | の独り言 | の独り言 >