yasukotelin

Android developer。 ゆるくプログラミング関連やTeck系のこと、ガジェットやゲームの話など雑多に書いています。 Github(https://github.com/yasukotelin) Qiita(https://qiita.com/yasukotelin)

yasukotelin

Android developer。 ゆるくプログラミング関連やTeck系のこと、ガジェットやゲームの話など雑多に書いています。 Github(https://github.com/yasukotelin) Qiita(https://qiita.com/yasukotelin)

    最近の記事

    HHKBのDeleteキーの位置について気づいたこと

    HHKBのDeleteキーの位置は、通常よりも1段低く、\(バックスラッシュ)の位置にあります。この配置は小指で押しやすくなるのでいいと言う人もいれば、通常の配置とは異なるので購入の二の足を踏む原因となっている人もいるでしょう。人によっては頑張ってリマップして通常の配列にして使っている人もいるかもしれません。 かくいう僕も、正直通常の配列のままでもいいよなと思っている派でした。たしかに押しやすいけどね。ほかのキーボードで混乱するくらいなら変わってないほうがよかったよね、くら

    スキ
    7
      • HHKBの日本語切り替え考察の旅

        考察というか、ただ色々と試して悩んで流浪の旅に出て、結論としてWindowsならAlt + `、macOSの場合はcmd + `に落ち着いたという話です。 HHKB US配列に乗り換えてからの悩み 今までずっと日本語配列のHHKBを愛用していて、今は廃盤のHHKB Liteでデビューして、Professional2、HYBRID Type-S(JP)と、JIS配列のものを使ってきました。 ですが今はUS配列のHHKB HYBRID Type-S 無刻印モデルを使っています

        スキ
        1
        • エンジニアが簡単なUI設計をFigmaで書けるようになるまで

          まえがきサンプルで、ちょっと凝ったUIを実装しようとしたりするときや、個人でアプリ開発をしようと思ったとき、Figmaでちょろっと設計してから着手できれば、実際に実装しながら試すよりも遥かに効率的だなと最近思うようになりました。 ここ最近ちょっとずつFigmaの超基本的な部分を学習していって、簡単なUIで、しかも個人レベル程度であれば不自由しない程度には使えるようになったので、そこらへんをまとめてみたいと思います。 ここまでやれば、とりあえず下の画像程度には使えるようになるの

          スキ
          13
          • 【Jetpack Compose】 要素を中央に配置する

            ColumnやRowはあるけど、要素をCenterに配置するのってどうやるのがベストなんだろうって思ってちょっと調べました。 結論としては、ColumnやRowのAlignmentとArrangementをCenterにするっていうのが正解っぽそうです。 Column( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, hor

            スキ
            3
            • Android Navigation componentでdeep link定義するときの注意点

              AndroidのNavigationを使えば簡単にdeep linkの定義追加ができますが、実際に使ってみていくつか注意することがありました。 なかなかどれも説明が大変なものばかりなうえに、ハマると時間が溶けるものだったので紹介してみます。 androidx.navigationライブラリのバージョンが2.3.3の時点での記事です。今後のアプデで挙動が変わっている可能性あります。 ホスト部にアンダースコアは使えないXMLで定義したURLはJavaのURIクラスで処理され

              スキ
              3
              • Vim/Neovimのdarkblueカラーテーマ"RETROHACK"を作りました

                Vimのcolorschemeをまた新しく作りました。darkblue系のカラーテーマ、RETROHACKです。 あれ?これ、Vimにデフォルトで入ってるdarkblueじゃない?と思った方はご明答。Vimのデフォルトのdarkblueをモダン環境でも使えるようにする目的でインスパイアでリファインなcolorschemeです🤗  なぜ作ったかVimのデフォルトのdarkblueテーマが以前から好きで、WindowsのGvim環境でよく使っていました。青い背景のエディタ

                スキ
                6
                • KotlinでResult型使うならkotlin-resultを使おう

                  この記事はand factory Advent Calendar 2020 の2日目の記事です。昨日は@kusumi_katsumiさんの【Android】Single ActivityにおけるsharedViewModelのスコープについて【Koin】でした😍 Qiitaと悩みましたが、僕は普段noteに書いているのでこちらに書くことにしました(Qiitaのアドベントカレンダーに、Qiitaじゃなくてもいいよって書いてあったので) What is Result型Kotl

                  スキ
                  19
                  • Android11のワイヤレスデバッグが便利すぎてライフハックだった話

                    Android11から、Wifi経由でのデバッグビルドがやりやすくなったということをなんとなく知っていましたが、あんまり自分には関係ないなぐらいに思ってました。 実際やってみたらめちゃくちゃ便利で開発周り(主に物理)が劇的に変わりました、というお話。 ワイヤレスデバッグ is 何普段Android Studioで開発してて実機で触るときって必ずUSBで接続していたんですが、要はこれがWifi経由でできるってことです。Android Studioからは普通にUSB接続したと

                    スキ
                    11
                    • LiveDataで一度だけ通知するEvent.ktをmulti observe対応してみた

                      まえがきLiveDataを使ってイベント通知をする、いわゆるEvent stream的な実装の方法を公式で紹介しているブログがあります。 そこで紹介されている方法は2つあって、1つが SingleLiveEvent classを使う方法。そしてもう一つがEvent.ktを使う方法です。 LiveDataは常に値を持っていて、Active状態になった時に持っている値を通知します。なので画面遷移して戻ってきた場合などにも、同じ値を通知するという特徴があるのでそのままではLiv

                      スキ
                      2
                      • parentFragmentのスコープで生成するparentViewModels()

                        viewModels()とactivityViewModels()Android ViewModelの生成は、activity-ktx, fragment-ktxで今はこう書くことができます。 val viewModel: MainViewModel by viewModels() こう書くことでお手軽にViewModelを生成、そして管理することができるようになりました。まだ未生成の場合は生成して、画面回転やBackキーなどで戻ってきたときはViewModelProvi

                        スキ
                        10
                        • あるあるLT 〜逆にまだオンラインLTやったことないの?今がチャンスだ皆やっちゃえ回〜Vol.11にオンライン登壇しました

                          andfactory主催のAndroid/iOS勉強会「あるあるLT」にandfactory社員枠としてオンライン登壇しました😍 オンライン勉強会自体は、コロナの影響で非常に増えてて、Youtube配信とかでやっているところもあるので気軽に見れる機会がほんとに増えました。 でも自分が発表するのは初めてのことだったので、予想以上に緊張しました。笑 発表した内容がこれ。 AndroidのViewModel開発ってデファクトスタンダードになってるけど、いざ始めようとすると「

                          スキ
                          2
                          • Kotlin - Interfaceの名前被りについて

                            上のコードは、Androidでよく見るようなCallbackインタフェースを実装してるサンプルコードです。 本を選択するダイアログにonClickがあり、購入処理をするダイアログのコールバックもonClickだった場合、実装する側はonClick()をoverrideするので、どっちから呼ばれているのかはわかりません。 実装してる側はそう言うことを意識せずに実装しますし、Interface側ももちろん、そう言うことを意識せずに実装するのでバグが発生してしまいます。 ここ

                            スキ
                            5
                            • adbeemにGif変換機能を追加しました

                              Android実機/エミュレーターで簡単に画面録画できるadbeemと言うコマンドラインツールに、mp4ファイルと同時にgifも出力するオプションを追加しました。 会社のAndroidエンジニア定例でadbeemを宣伝したらGif変換欲しいと言われたので対応してみた感じです😋 より便利になった。 通常の画面録画はこうでしたが、 adbeem screenrecord Gifも一緒に出力して欲しい場合は--gifオプションをつけます。エイリアスは-gです。 adbee

                              スキ
                              6
                              • Android実機とエミュレーターのスクショ/画面録画が簡単にできるツールadbeemを作った

                                Android開発をしていると、エミュレーターやUSB接続してる実機の画面録画やスクショをPCで取りたいことが日常的にあります。 PC側で画面録画をしてエミュレーターの画面録画をしたりとか、実機の方で録画やスクショして何かしらでPCに転送することもできますが、Androidの場合は Android Studio や adb を使って画面録画できます🙋‍♂️ でも結構不便なんですよね。Android StudioはLogcatの部分でできるのですが、連続して色々な画面取りた

                                スキ
                                5
                                • クラムシェルモードでデスクを広くしたAndroidエンジニアの在宅デスク環境紹介

                                  いつもはプログラミング関連のことしか書かないんですが、Qiitaじゃなくて、ここはnoteですし、こう言う記事も書いていきたい💪 在宅勤務中のデスクを見直して綺麗にした話と、それ関連のガジェット周りの紹介とか、だらだら書いていきます(ちなみに結構長いです。お時間あるときにどうぞ)。 今までのスタイル会社支給のPCはMacbook Pro の2020年モデル13インチを使っています。今までの開発スタイルはMacbookを目の前に置いて、外部ディスプレイを繋げると言う、ふつー

                                  スキ
                                  31
                                  • Flutterでproviderを使ったMVVM開発

                                    ==追記=== 今でも結構いいねがつきますが、僕はちょっと遊びでFlutterを触ったくらいでこの記事を書いてからもほぼ触っていません。 こちらの記事も参考にしていただくのはとても嬉しいですが、もしかしたらMVVMは推奨されていないのかもしれないし、案外スタンダートに使われているのかもしれません。Flutter界隈のキャッチアップもほぼしていない状態なので、そういう前提を持ってこの記事を読んでいただければと思います。 (追記終わり) まるでいつもそうやって開発しているかのよ

                                    スキ
                                    58