命名規則(キャメルケース, パスカルケース, スネークケース, ケバブケース)とKotlin

命名規則(キャメルケース, パスカルケース, スネークケース, ケバブケース) - わくわくBank ケバブケースというのがあるんだ... 命名規則 current user item を要素語とした複合語の記法を確認します。 キャメルケース( camelCase ) currentUserItem のよう…

Android Study Jamに参加して先着50名のグッズを頂いた。

2022年7、8月にGoogle Japanが主催していたAndroid Study Jamに参加した。 Androidアプリの新しいUI開発ツールであるJetpack Composeを普及する施策である。 こういうのが主催されるってことは、まだ従来のAndroid Viewを使う人が多数派で、先ずJetpack Comp…

AndroidでParcelable、Serializable、Enumのクラスを使う時は@Keepも共に使おう

AndroidアプリではProGuardへの対応はまあ必須である。 圧縮プロセスの過程で、Parcelable、Serializable、Enum のクラス名が難読化されないようにする必要がある。その対応方法 @Keepアノテーションを使用する @Keep class ParcelableArg : Parcelable { ..…

Jetpack DataStoreを消去する

公式に良いのが見つからなかったのでメモ Preferences DataStore // 消去 context.dataStore.edit { it.clear() } // 定義 val Context.dataStore by preferencesDataStore(name = "settings") Proto DataStore // 消去 context.datastore.updateData { it.t…

KotlinのCharをIntにする

KotlinのCharを10進数のIntにするにはdigitToInt() digitToInt - Kotlin Programming Language Kotlinバージョンは1.5以上 println('5'.digitToInt()) // 5 println('3'.digitToInt(radix = 8)) // 3 println('A'.digitToInt(radix = 16)) // 10 println('k'…

ComposeViewでのテキストのautoLink対応

Text()にTextViewのandroid:autoLinkに相当するものがなかったので、実装 TextView | Android Developers @Composable fun DefaultLinkifyText( modifier: Modifier = Modifier, text: String?, textAppearance: Int = android.R.style.TextAppearance_Mater…

ListAdapterのサンプル実装

abstract class ListAdapter : RecyclerView.Adapter developer.android.com サンプル実装 data class Tweet( val text: String, val id: Long, ) class TweetAdapter( private val onClick: (Tweet) -> Unit ) : ListAdapter<Tweet, TweetAdapter.ItemViewHolder>(DIFF_UTIL_ITEM_CALLBACK) { cl</tweet,>…

error: Schema export directory is not provided to the annotation processor so we cannot export the schema.

Dagger Hilt を使っている時に遭遇。 Roomを使っているクラスを置き換えているとき、ビルドエラー発生。 メッセージ: Schema export directory is not provided to the annotation processor so we cannot export the schema. Databaseを定義する際のアノテ…

Kotlin Android Extensions pluginがKotlin 1.8で削除されるそうです

android-developers.googleblog.com Kotlin Android Extensions pluginはfindViewByIdを書くのを減らしたり、Parcelizeを使うために、使われてきました。 In November 2020, we announced that this plugin has been deprecated in favor of better solution…

なぜNavigation Component を使ったSingle Activity Architectureをお勧めするのか

表題について上手く言語化してある記事を見つけたので紹介したい。 oozou.com Since the announcement of Jetpack in Google I/O 2018, Single Activity Architecture is also mentioned Android Developers Blog: Use Android Jetpack to Accelerate Your A…

AndroidのButtonでアルファベットテキストが全て大文字になる

qiita.com 大文字小文字を区別したい時の解決策は、レイアウトxmlでandroid:textAllCaps="false"と指定してあげることです。 ボタンテキストは大文字固定がデフォルトになっているようです。 // example <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hoge" android:textAllCaps="false" /> リファレンス developer.android.com</button>

DataStoreが1.0.0になったので使ってみた

DataStoreがアルファ版を通過して、1.0.0になった。 developer.android.com codelabをやる。 developer.android.com 英語と日本語で、ライブラリのバージョンが異なるので注意 Commits · ochim/android-datastore · GitHub Googleとしては、SharedPreference…

メモ:リモートブランチをチェックアウトしたいときは次のコマンドを使えば良いよ!

dev.classmethod.jp いきなり、git checkout -b <ブランチ名> origin/<ブランチ名> とやらない git fetch origin <ブランチ名> git checkout <ブランチ名> とする

Android12 Beta5

android-developers-jp.googleblog.com Android 12 でのすべてのアプリが対象となる動作の変更点を確認し、影響を受ける可能性がある領域を集中的にテストしてください。特にテストしておくべき変更点は、以下のとおりです。 プライバシー ダッシュボード — …

php null例外を補足できない

null例外を補足できない $user = ['a' => 'b']; try { $user['say']; // 存在しないキーを指定 } catch (Throwable $t) { ... } catchできない 扱い方 $say = $user['say'] ?? 'hello' ; var_export($say); // 'hello' ?? : null coalescing PHP: 演算子 - M…

メモ:gruntが動作しない

[root@rhel76 ~]# grunt /usr/lib/node_modules/grunt-cli/node_modules/micromatch/index.js:44 let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true); ^^^ SyntaxError: Unexpected token ... at createScript (vm.js:56:10) at…

Dockerコンテナ node実行環境 web向け

Dockerfileを用意 #-------------------------------------------------------------------------- # image setup #-------------------------------------------------------------------------- FROM node:latest #--------------------------------------…

Android 12 Beta 1

Android 12 Beta 1 - Google Japan Blog Beta1 には注目すべき点がいくつもあります。まず、「Material You」というデザイン言語を採用し、Android 史上最大の変更が行われた UI です。さらに、おおよその位置情報を提供する設定など、ぜひ試していただきた…

ViewPager2, TabLayoutを用いてタブ付きスワイプビューを作成。そのタブを無限ループさせる。

ViewPager2, TabLayoutを用いてタブ付きスワイプビューを作成する。さらにそのタブ,スワイプを無限ループできるようにする。 参考にしたのはこれら ViewPager2, TabLayoutを用いたタブ付きスワイプビュー ViewPagerで無限ループ (Java) Android Infinite scr…

2018年09月02日のツイート

@ochi_tw: RT @orga_chem: 「iOSアプリの開発速度を170%に向上させたデバッグノウハウ?」の発表資料を事前公開しました。 URL #iosdc #a2018-09-02 14:19:09 via Twitter for iPhone @ochi_tw: すげえわ。Microsoftが「Sketch 2 Code」を公開!AIが、手書き…

2018年09月01日のツイート

@ochi_tw: RT @yamakentoc: iOSDCのネットワーク班の方々、LANケーブルを頭の上に乗せる新しいファッションを作ってる#iosdc URL2018-09-01 18:46:12 via Twitter for iPhone @ochi_tw: RT @kazuho: 職業プログラマとしての成長したい人は、SIerとかウェブ系…

iOSDC Japan 2018に参加しています(前編)

iOSのエンジニアとして、国内で最大のカンファレンスである、iOSDC Japan。 今年は参加しています。 https://iosdc.jp/2018/私は8/29のオープニングパーティーから参加していますー。現在までて、聴講できたセッションはこちら、 8/30 iOSエンジニアの為のgr…

2018年08月30日のツイート

@ochi_tw: RT @tdualdir: 機械学習エンジニアの指標として最新の論文読んで実装できるかどうかとかあるけど、それ以前にビジネスの課題を適切な機械学習の問題に落とし込む能力の方が一億倍重要じゃないか?そしてそれは論文に書いてることを忠実に実装する…

2018年08月28日のツイート

@ochi_tw: RT @ytkwsm: 井の頭線渋谷駅。ほんとに2000…。 URL2018-08-28 11:30:20 via Twitter Web Client @ochi_tw: RT @q76jA7TcaTe3mOY: 井の頭線渋谷駅が停電中!モニターおかしくなりすぎてwindows2000って表示されてる(笑)。 URL2018-08-28 11:29:53…

2018年08月07日のツイート

@ochi_tw: Pythonの学びの段階を自覚し適切なステップアップ方法を見つけよう URL @slideshipさんから2018-08-07 20:30:09 via Twitter Web Client

2018年08月06日のツイート

@ochi_tw: RT @takoratta: アジャイルでやります。マイクロサービスで作ります。そういう話は多いが、どちらも手段。手段が目的化しないようにしないといけない。なんでアジャイルでやろうとしたか、なんでマイクロサービスで作ろうとしているかを忘れると、…

2018年08月05日のツイート

@ochi_tw: 「乃木坂」の診断結果乃木坂白石麻衣:69%西野七瀬:31%URL #AIメーカー #乃木坂2018-08-05 19:01:43 via Twitter Web Client

2018年08月03日のツイート

@ochi_tw: Firebaseの設定を間違えて72時間で300万円以上請求されてしまったウェブサービス - GIGAZINE URL2018-08-03 23:17:41 via Twitter Web Client

2018年07月29日のツイート

@ochi_tw: RT @MUGI1208: 協力会社に来て頂く前に、「面接してスキルマッチしなければ不採用にするのですか?」と聞いたら、上司さんが「違う。面接は違法だ。面談と言うんだ。あとこちらが不採用にするのではなく、協力会社に御遠慮頂くのだ」と言われたん…

2018年07月28日のツイート

@ochi_tw: RT @HiromitsuTakagi: NHKはなぜそれを報じないのか。なぜなら、そのような本当の対策を視聴者に教えたら、ウイルス対策ソフトが要らなくなってしまい、トレンドマイクロが儲からなくなるからだ。URL2018-07-28 01:26:12 via Twitter Web Client @…