androidのテストを書きたい

テストのコードラボやドキュメントを読みながらテストの書き方を勉強して自分で作成したアプリにテストコードを導入してみた。 ただコードラボは書き方が変わっている部分があったり、使っているライブラリなどによって躓いたこともあったので、調べたことや…

〈kotlin〉 WorkManagerで指定時間後に通知を送信

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。 ボタンを押したら指定時間経ったあと通知を送信する機能をWorkManagerを使って実装。 WorkManager 非同期で行う1回限りのタスクや定期的に実行したいタスクをバックグラウンドで処理するAPI。 ア…

〈kotlin〉 Roomでサポートされていない型を保存する(TypeConverter)

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。Roomについて。 mtnmr.hatenablog.comRoomはプリミティブ型(Int, String, Booleanとか基本の型)の保存をサポートしているが、 それ以外の型でもTypeConverterを使えば保存できそうだったのでやっ…

Jetpack Composeのレイアウト関係メモ

Jetpack Composeを勉強していくなかで、「これ何だったっけ?」と何回も調べ直してることをメモしていく。随時更新。 Imageコンポーザブルのカスタマイズ Customize an image | Jetpack Compose | Android Developers contentScale 画像を表示したい枠に合う…

Jetpack Composeを使ってみたい⑤ Navigation

Jetpack Composeを使ってみたい!と思ってCodelabを元に勉強してみた記録。 Jetpack Compose for Android DevelopersJetpackComposeでNavigationコンポーネントを使って画面遷移を実装する。 準備 アプリレベルのbuild.gradleに依存関係を追加。 dependencie…

AndroidでCloud Storage を使ってみる

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。写真や動画などを保管、提供することができるFirebase Cloud Storageを使ってみた。 プロジェクトは、 ・ダウンロードボタンを押すとCloudStorageに保存された画像を取得してImageViewに表示 ・ア…

〈kotlin〉ExoPlayer

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。Androidで音声・動画の再生に使用できるExoPlayerライブラリを触ってみた。 ExoPlayerはMediaPlayer APIをもとに作られていて、 より多くの機能をサポートしており、拡張やカスタマイズも容易にな…

〈kotlin〉 BottomSheet

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。Material DesignのBottomSheetをサンプルコードをもとに作成してみた。 Material Design BottomSheetはこういう下から出てくるビューのこと。Material Design Bottom Sheetsのページより引用 標準…

読書記録:[試して理解]Linuxのしくみ~実験と図解で学ぶOSとハードウェアの基礎知識

こちらを読んだ記録。 gihyo.jp 1章 コンピュータシステムの概要 カーネル カーネルモードで動作する、OSの核となる処理をまとめたプログラム CPUやメモリなどのリソースを管理 2章 ユーザモードで実現する機能 プロセス(CPU:ユーザモード)…カーネルに対し…

〈kotlin〉通知(NotificationCompat)

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。NotificationCompat APIを使用して通知を作成する方法をまとめる。 通知チャネルの作成 Android 8.0(APIレベル 26)以降、通知はすべてチャネルに割り当てる必要がある。 端末側ではチャネルごとに…

Jetpack Composeを使ってみたい④ ViewModel, LiveData

Jetpack Composeを使ってみたい!と思ってCodelabを元に勉強してみた記録。 Jetpack Compose for Android DevelopersComposeの状態管理にViewModel, LiveDataを使用する方法をまとめる。 参考は上記コードラボと公式ドキュメント。 Compose とその他のライブ…

〈kotlin〉MenuHost, MenuProviderでアプリバーにメニュー表示

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。ホストアクティビティでアプリバーを持ち、 フラグメントでアプリバーにメニューを表示させたい。 この時に使うsetHasOptionMenu(true)が非推奨になっていたので他の方法を調べた。 これまでの方…

Jetpack Composeを使ってみたい③ State

Jetpack Composeを使ってみたい!と思ってCodelabを元に勉強してみた記録。 Jetpack Compose | Android デベロッパー | Android DevelopersJetpack Composeの基本コードラボのコードを使いながらComposeでの状態の管理についてまとめる。 Jetpack Compose の…

Jetpack Composeを使ってみたい② 再コンポーズ

Jetpack Composeを使ってみたい!と思ってCodelabを元に勉強してみた記録。 Jetpack Compose | Android デベロッパー | Android DevelopersJetpackComposeの思想より、再コンポーズについてまとめる。 Compose の思想 | Jetpack Compose | Android Developer…

Jetpack Composeを使ってみたい① チュートリアル

Jetpack Composeを使ってみたい!と思ってCodelabを元に勉強してみた記録。 Jetpack Compose | Android デベロッパー | Android Developersまずはチュートリアルより。 Android Compose のチュートリアル | Android デベロッパー | Android Developers Jetpa…

〈kotlin〉選択ツール TimePickerDialog, DatePickerDialog

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。時計から時刻を選択するTimePickerDialogと カレンダーから日付を選択するDatePickerDialogを使ってみた。 レイアウト 各ダイアログを呼び出すためのButtonと、 選択した結果を表示するためのText…

〈kotlin〉Preferences DataStore

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。だいぶ前に小さいデータを保存しておくSharedPreferencesの記事を書いたが、 「Jetpack DataStoreに移行することを検討してください」となっていて、 以下のcodelabを元にPreferences DataStoreに…

〈kotlin〉依存関係インジェクション(DI) Hilt 修飾子

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。 DIを自動で行うためのライブラリHiltの実装記事の続き。 〈kotlin〉依存関係インジェクション(DI) Hilt編 - ゆるプログラミング日記 同じ型で複数の実装を提供したい場合、修飾子を使用する。 修…

〈kotlin〉依存関係インジェクション(DI) Hilt編

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。 DIという単語が出てきて何?と思って導入の仕方まで勉強してみた記録の続き。 〈kotlin〉依存関係インジェクション(DI) - ゆるプログラミング日記 Hiltとは DIを行うための Jetpack の推奨ライ…

〈kotlin〉依存関係インジェクション(DI)

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。 DIという単語が出てきて何?と思って導入の仕方まで勉強してみた記録。 DI(Dependency Injection)とは あるクラスが別のクラスへの参照を必要とする(依存関係にある)とき、 必要とするオブジェ…

〈kotlin〉Paging3

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。アプリのUIに表示するデータを段階的に読み込むことが簡単に実装できるライブラリ Paging3をCodelabを参考に勉強した。 Android Paging Basics | Android Developers Android Paging Advanced cod…

〈kotlin〉Groupie

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。RecyclerViewに表示する1つ1つのアイテムのレイアウトを ViewHolderなしでシンプルに書けるライブラリGroupieを触ってみた。 GroupieはRecyclerViewの中に複数のレイアウトでアイテムを追加してい…

〈kotlin〉LiveDataの変換

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。あるLiveDataが変更された場合に、 それに応じて別のLiveDataの値も変更したい時に使える Transformations クラスについて。 Transformations.map() val useId = MutableLiveData<Int>() val userName:</int>…

〈kotlin〉チェックボックス付きダイアログ

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。ボタンをタップしてダイアログを表示させたとき、 リストからチェックボックスを作成し、選択したアイテムを保存する処理を実装してみた。 val items = arrayOf("sample1", "sample2", "sample3")…

〈kotlin〉Retrofit

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。Retrofit ライブラリを使用して、インターネット上の REST ウェブサービスに接続し、レスポンスを取得する。 以下の一連のcodelabを参考に勉強したので基本的な使い方をまとめる。 インターネット…

〈kotlin〉Activity Result API

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。アプリ内の別のアクティビティや他のアプリのアクティビティを起動して結果を取得するとき、 startActivityForResult() API と onActivityResult()を使ったコードではなく、 Activity Result API …

〈kotlin〉入力後にキーボードを非表示

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。EditTextはフォーカスが当たるとキーボードが表示され、 入力後も表示されたままになり、手動で閉じる必要がある。 これを、入力後Enterキーを押すことで自動で閉じるように実装する。 キーボード…

〈kotlin〉コンストラクタ引数のあるViewModelの作り方

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。Android Room とビュー - Kotlin | Android デベロッパー | Android Developers このcodelabでコンストラクタ引数としてrepositoryを持つViewModelが出てきた。 引数なしViewModel 引数を何も待た…

〈kotlin〉Room③ データベースインスタンス

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。データベースSQLiteを簡単に扱うことができるRoomの実装をまとめる。前回の記事の続き。 <kotlin> Room - ゆるプログラミング日記「データベースのインスタンスは高コストで通常アプリに1つで良いためシン</kotlin>…

〈kotlin〉Room② 非同期DAO

Android studioでkotlinを使ってAndroidアプリ作成の勉強中。データベースSQLiteを簡単に扱うことができるRoomの実装をまとめる。前回の記事の続き。 <kotlin> Room - ゆるプログラミング日記「クエリが UI をブロックしないように、Room はメインスレッドでのデータ</kotlin>…