並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 309 件 / 309件

新着順 人気順

Kotlinの検索結果281 - 309 件 / 309件

  • KotlinのSharedFlowとStateFlowの違いを理解する - 縁側プログラミング

    StateFlowはSharedFlowのサブクラス StateFlowは、SharedFlowのいくつかのパラメータを固定したサブクラスです。kotlinlang.orgに、StateFlowの内部動作を説明したソースコードが掲載されているので引用します。 // MutableStateFlow(initialValue) is a shared flow with the following parameters: val shared = MutableSharedFlow( replay = 1, onBufferOverflow = BufferOverflow.DROP_OLDEST ) shared.tryEmit(initialValue) // emit the initial value val state = shared.distinctUntilChanged()

      KotlinのSharedFlowとStateFlowの違いを理解する - 縁側プログラミング
    • 【MVVM】 Kotlin Flow で使える5つの利用パターン | #iOS | #Android ファショ通

      Swift を身に付けていく過程の記録、最新ニュースや使い方、iPhone、Mac、Android、Python なども。 LiveData は、2017年に必要とされていました。オブザーバーパターンは私たちの生活を楽にしてくれましたが、RxJava などの選択肢は当時の初心者にとって複雑すぎました。Architecture Components チームは、LiveData (Android向けに設計された、非常にこだわりをもったオブザーバ型のデータホルダークラス) を作成しました。これは、簡単に始められるようにシンプルに作られており、より複雑なリアクティブストリームのケースでは、RxJava と統合して使用することが推奨されていました。 Java開発者、初心者、そしてシンプルな状況では、やはり LiveData が最適です。それ以外の人は、Kotlin Flow に移行するのが良いでしょ

        【MVVM】 Kotlin Flow で使える5つの利用パターン | #iOS | #Android ファショ通
      • [Kotlin] isEmpty(), isBlank()などの違い早見表 - Qiita

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

          [Kotlin] isEmpty(), isBlank()などの違い早見表 - Qiita
        • Dispatchers.Unconfined and why you actually want EmptyCoroutineContext

          Dispatchers.Unconfined is one of kotlinx.coroutines’ built in CoroutineDispatchers. It’s different from other built in dispatchers as it’s not backed by a thread pool or other asynchronous primitive. Instead, Dispatchers.Unconfined is hardcoded to never change threads when entering its context (this is called “dispatching”). It’s pretty easy to verify this from its (simplified) implementation: obj

            Dispatchers.Unconfined and why you actually want EmptyCoroutineContext
          • Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023

            신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)

              Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023
            • LINEでKotlinを活用してサービスを作っていく話 / The story about using Kotlin to create a new service at LINE

              LINEで新規に開発しているライブコマースサービスにおいて、どういうコンポーネントを作っているのか、どう作っていくのか、どんな技術を利用して作っているのかを説明しています。 Speaker:岩谷 明 / @hoshi_gaki https://twitter.com/hoshi_gaki …

                LINEでKotlinを活用してサービスを作っていく話 / The story about using Kotlin to create a new service at LINE
              • Coroutine context and dispatchers | Kotlin

                Coroutines always execute in some context represented by a value of the CoroutineContext type, defined in the Kotlin standard library. The coroutine context is a set of various elements. The main elements are the Job of the coroutine, which we've seen before, and its dispatcher, which is covered in this section. Dispatchers and threadsThe coroutine context includes a coroutine dispatcher (see Coro

                  Coroutine context and dispatchers | Kotlin
                • A Comprehensive Kotlin Learning Guide for All Levels | The JetBrains Academy Blog

                  So you want to learn Kotlin – now what? Beginners in any field often encounter a fundamental problem: They don’t know what they don’t know. This resource aims to help self-taught Kotlin learners get a better sense of the learning landscape, from their first fun() main to juggling coroutines with ease. This guide is for anyone interested in the Kotlin language, regardless of how much experience you

                    A Comprehensive Kotlin Learning Guide for All Levels | The JetBrains Academy Blog
                  • いまさらWorkManager〜概要編〜 - Qiita

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                      いまさらWorkManager〜概要編〜 - Qiita
                    • Kotlin Coroutine 入門2: 並列実行と Structured Concurrency と例外

                      前回は Kotlin の coroutine の基本として、起動と suspend 関数の解説をしました。今回は coroutine を並列で起動する場合に必要になってくる概念を解説していきます。 シナリオ: 最安値を見つけろ! 今回は「二つの販売店の API を使って商品の価格を比較し、最安値を取得する」というシナリオを考えます。動作を見やすくするために Store という抽象クラスを用意しました。 /** お店の商品情報を提供する抽象クラス */ abstract class Store(private val name: String) { /** 価格取得の実装。サブクラスが実装する。 */ protected abstract suspend fun doGetPrice(itemCode: String): Int /** doGetPrice を呼び出し、取得開始と終了、エラ

                        Kotlin Coroutine 入門2: 並列実行と Structured Concurrency と例外
                      • UIイベント管理をSharedFlowでスッキリ簡単に!Androidアプリの開発効率が向上できました! - asoview! Tech Blog

                        はじめに 直面した課題 課題へのアプローチ 改善前のコード SharedFlowの導入 UiEvent と SharedFlow 改善後のコード SharedFlowを使う際の注意点 まとめ さいごに はじめに こんにちは!アソビューでAndroidアプリの開発をしているけんすーです。 アソビューのAndroidアプリはリリースから約2年が経ちました。その間、様々な機能追加や仕様変更を行ってきました。 当初は画面構成がシンプルで問題なかったものの、画面要素やUIイベントが増えることでComposable関数が複雑化していきました。その結果、コードの可読性や保守性が損なわれるという課題に直面しました。課題の詳細は次の章にて説明します。 今回は、その課題とどのように改善したのかを紹介します。 題材として、GitHubリポジトリを検索するアプリのサンプルコードを使用します。 サンプルコードは以下

                          UIイベント管理をSharedFlowでスッキリ簡単に!Androidアプリの開発効率が向上できました! - asoview! Tech Blog
                        • StateFlowの深堀り、SharedFlowとの違いとstateIn【kotlin coroutines flow】 - Blog - Mori Atsushi

                          StateFlowの深堀り、SharedFlowとの違いとstateIn【kotlin coroutines flow】 StateFlowはkotlin corouteinsの1.3.6で追加された状態管理用の特別なFlowです。 以前、「StateFlowのドキュメントを読み込む」という記事を書きましたが、その後SharedFlowが追加され、若干実装に変更がありました。 また、新たにstateInというoperatorも追加されています。 今回はそれらを含めたStateFlowの詳細な仕様に関して深堀りしていきたいと思います。 Flow, SharedFlow, StateFlowの比較はこちらの記事を、SharedFlowの深堀りはこちらの記事を参考にしてください。 StateFlowの基本的な使い方StateFlowは状態管理に特化したFlowです。 StateFlowはMuta

                            StateFlowの深堀り、SharedFlowとの違いとstateIn【kotlin coroutines flow】 - Blog - Mori Atsushi
                          • Kover を使って PR にシンプルなテストカバレッジレポートをつけたい

                            こんにちは!アルダグラムでエンジニアをしている内倉です🦐 ユニットテストのカバレッジを出したいけれど「ちょっと見たいだけで Codecov とか使うほどではないんだよな」というようなこと、たまにありませんか? 今まで Rails のプロジェクトでは、テストカバレッジを GitHub の PR にコメントとして追加してみたことがあるのですが、Android + Kotlin ではやったことなかったので、少し調べてみました。 Android でカバレッジ取るなら、JaCoCo 一択なのかな?と思っていましたが、Kotlin だったら Kover というのが良さそうだったので導入してみたところ、出力したレポートをほぼそのままPRコメントにつけるだけでも、結構いい感じになりました。 Kover とは Kover は、JVM や Android プラットフォーム向けにコンパイルされた Kotlin

                              Kover を使って PR にシンプルなテストカバレッジレポートをつけたい
                            • Jetpack ComposeとKotlin Coroutinesを連携させる - Blog - Mori Atsushi

                              この記事は Android Advent Calendar 2021 の13日目の記事です。 Jetpack Composeは内部でもKotlin Coroutinesを多く使っており、非常に相性が良いです。 今回はJetpack ComposeとKotlin Coroutinesを組み合わせて使ういくつかの方法について紹介します。 collectAsStateJetpack Composeでは、Stateの値を変化させることで画面更新をさせることができます。 ViewModel等でStateFlowを使っている場合、collectsState を使うことでStateに変換することができ、Composeに反映させることができるようになります。 @Composable fun Sample( viewModel: SampleViewModel = viewModel() ) { val c

                                Jetpack ComposeとKotlin Coroutinesを連携させる - Blog - Mori Atsushi
                              • SansanアプリにおけるKotlin Multiplatform導入の効果とアーキテクチャ紹介 - Sansan Tech Blog

                                こんにちは! 技術本部 Sansan Engineering Unit Mobile Applicationグループの桑原です。 この度、Sansanモバイルアプリでは開発スピードを加速させるため、実プロダクトにKotlin Multiplatform(以下、KMP)を導入しました! まずは1画面の導入から始めましたが、今後は既存の画面も順次KMPに移行していく予定です。 この記事では、Androidエンジニアの視点から、SansanアプリにKMPを導入した背景やその成果、さらにKMPの設計についても簡単に紹介します。 KMPの導入背景と成果 導入した理由 導入で感じたメリット 導入で感じたデメリット KMPの基本設計 AndroidでのKMPモジュールの取り込み方法 採用したアーキテクチャ KMPモジュールの構成 エラーハンドリング テスト KMPで使用しているその他ライブラリ 最後に

                                  SansanアプリにおけるKotlin Multiplatform導入の効果とアーキテクチャ紹介 - Sansan Tech Blog
                                • 未経験者がKotlinでおうちのIoT化アプリを作ってみた - Qiita

                                  上記に新たなコード・ファイルを追加していくことで、より複雑な画面・処理を実現する事ができます。 3-2. Androidアプリの構成 どのようなファイルを追加すべきか調べるために、Androidアプリの全体構成を調べてみました。 Android公式サイトによると、Androidアプリの構成は以下のようになっているようです。 ** A.アクティビティ:画面構成を定義** ** B.サービス:バックグラウンド処理を定義** ** C.ブロードキャスト レシーバ** ** D.コンテンツ プロバイダ** 上記構成に基づいたアプリの全体コンポーネント構造を宣言するのが、前節1"AndroidManifest.xml"のようです。 主にAがUIを担当し、B~Dがバックエンド側の処理を主に担うようですが、 今回はバックエンド処理はクラウドサービス(MongoDB Realm)に一任するため、 ほぼAに

                                    未経験者がKotlinでおうちのIoT化アプリを作ってみた - Qiita
                                  • OSS: kotlin-resultを読んで、contract、高階関数の使いどころを理解する

                                    kotlin-resultとは? この記事は株式会社ログラスDevアドベントカレンダー2022の12/3(土)の記事です! 手頃にKotlinで書かれているOSSのコードを読みたい、でもExposedとかKtorとか大きすぎてどこから読めばいいかわからないよ、、、という皆さん! 読んで勉強になるシンプルでコンパクトな素晴らしいOSSを紹介します! それが、kotlin-resultというOSSです。 kotlin-resultは Rust、Elm、HaskellのResult型にインスパイアされたようなインターフェースを持つライブラリです。 成功したときの値か、失敗したときの値かのどちらかを持つResult型を提供しています。 例外とは違って返り値にエラー情報を明示することで可読性を上げたり、使用者にエラーハンドリングを強制させることができます。 日本語でよくまとまっている記事はこちら(な

                                      OSS: kotlin-resultを読んで、contract、高階関数の使いどころを理解する
                                    • The Road to the K2 Compiler | The Kotlin Blog

                                      We’ve been working on a new K2 Kotlin compiler for quite some time. The new compiler aims to speed up the development of new language features, unify all the platforms Kotlin supports, bring performance improvements, and provide an API for compiler extensions. The development of the Kotlin compiler started many years ago, and many things have changed since that time. For example, in Kotlin 1.0, th

                                        The Road to the K2 Compiler | The Kotlin Blog
                                      • Java とか Kotlin をやることになったら知っておきたい単語や仕組み

                                        はじめに 「明日からきみは Java ね」って言われたとき、これくらい知っていれば大丈夫だろう内容をまとめました。 この記事は初心者エンジニアで Java 系に触れているひとのフォローアップや、Java 系以外の実務経験ならあるというひとへの読み物的なまとめです。 文法解説や設計論、ツール紹介などはありません。 項目は多いですが、ひとつひとつは軽くまとめてあります。 「必要に応じて詳細を調べられる」という入り口のところまでさくさくと紹介します。 この記事の内容を覚える必要はありませんし、最初の最初はあまり理解できなくても大丈夫です。 必要になったとき「そういえばそんなこと聞いたような」くらいに思えれば、きっと普段のお仕事や気持ちがちょっとらくになるはずです。 コンパイルと実行 暗記して自分の手でできるようになる必要はありませんが、大前提として知っておきましょう。 javac コマンドと j

                                          Java とか Kotlin をやることになったら知っておきたい単語や仕組み
                                        • Ktor 2.0 Released | The Ktor Blog

                                          We’re extremely excited to announce the release of Ktor 2.0. We have been working on this version for approximately one year and happy to finally get it out the door! Ktor 2.0 introduces many new features, but a major version which means that there are breaking changes, it has allowed us the opportunity to perform some maintenance work and get rid of legacy decisions. Don’t worry though – despite

                                            Ktor 2.0 Released | The Ktor Blog
                                          • 「Ktor 1.5.0」がリリース、自動リロードが可能な開発モード搭載

                                            「Ktor 1.5.0」はマイナーリリースであり、自動リロードや拡張デバッグ情報といった機能を提供している。これらの機能は、開発中には役立つものの、本番モードでは速度が低下する可能性があることから、これらの機能を簡単に有効化できる開発モードを備えており、開発時と本番環境での切り替えを可能にした。 そのほか、KtorクライアントではJVMをターゲットにする際に、Java 11で導入されたリアクティブストリームに基づくHTTPクライアントをサポートするとともに、HttpRequestBuilderを介したCookie送信、事前圧縮されたファイル、CORSでのカスタムヘッダ、サーバーセッションでの封印されネストされたクラスのサポート、WebSocketとDeflate拡張機能の試験的なサポート、OkHttp WebSocket作成オーバーライド、例外処理などが追加されている。 そのほか、2020

                                              「Ktor 1.5.0」がリリース、自動リロードが可能な開発モード搭載
                                            • Jetpack ComposeのCompositionLocalを使って下位階層にデータを渡す

                                              Jetpack ComposeにおいてUIの下位階層にデータを渡すには、Composable関数に引数を渡していくのが一般的だと思います。 引数で渡す以外の方法として、CompositionLocal があります。 これの使い方について解説します。 注意事項先に CompositionLocal に関する注意事項を書いておきます。 CompositionLocal はほとんどケースでは使わなくて良いものです。グローバル変数のように見えるため乱用するとメンテンスが難しくなったりバグを引き起こしやすくなったりする可能性があります。 一部ケースで有用なものですが、使用する際は十分に注意してください。 実装方法例として、User情報を下位階層に渡したい場合を実装していきます。 まず compositionLocalOf を使ってCompositionLocal のキーを作成します。 型パラメータと

                                              • どちらのコードが好ましい?1−4問目(Kotlin Fest 2024 Pocket Code Battle)

                                                  どちらのコードが好ましい?1−4問目(Kotlin Fest 2024 Pocket Code Battle)
                                                • 【Kotlin】kotlinx.serializationを使ってjson parseをやってみる - Qiita

                                                  kotlinx.serializationとは Kotlin serialization consists of a compiler plugin, that generates visitor code for serializable classes, runtime library with core serialization API and JSON format, and support libraries with ProtoBuf, CBOR and properties formats. Serialize可能なクラスのvisitor codeを生成するコンパイラプラグインとcore serialization APIおよびJSON形式のランタイムライブラリで構成している。 つまり、Kotlinで作られたSerializerということですね。 また、そのほかの特徴として

                                                    【Kotlin】kotlinx.serializationを使ってjson parseをやってみる - Qiita
                                                  • Activity/FragmentでのFlowのcollect方法

                                                    課題 Activity/FragmentでFlowを使う時、受け取り方がいくつかあるっぽいので整理。 具体的にはMVVMでイベント・状態を受け取る時、今までRxやLiveDataでやっていた部分はどう置き換えられるのか。 実装 launchを使う 一般的にFlowを受け取る時に使うlaunch/collectを使う方法で、DESTROYED になった時は lifecycleScope により自動でキャンセルされる。 リソースを考慮してSTARTED で収集し STOPPED でcollectをキャンセルする場合、つまりバックグラウンドに行った時はFlow出力を処理しない場合には自前で実装する必要がある。 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) lifecy

                                                      Activity/FragmentでのFlowのcollect方法
                                                    • Kotlin スタイルガイド  |  Android Developers

                                                      概要 初めてのアプリを作成することから始めてみましょう。トレーニング コースを活用して理解を深めるほか、ご自身でアプリ開発を習得することもできます。

                                                        Kotlin スタイルガイド  |  Android Developers
                                                      • Discontinuing Kotlin synthetics for views

                                                        Synthetic properties to access views were created as a way to eliminate the common boilerplate of findViewById calls. These synthetics are provided by JetBrains in the Kotlin Android Extensions Gradle plugin (not to be confused with Android KTX). In November 2020, we announced that this plugin has been deprecated in favor of better solutions, and we recommended removing the plugin from your projec

                                                          Discontinuing Kotlin synthetics for views
                                                        • Announcing Kotlin Symbol Processing (KSP) Alpha

                                                          Posted by Ting-Yuan Huang‎, Software Engineer and David Winer, Product Manager Today we are excited to announce the alpha of Kotlin Symbol Processing (KSP), an all-new tool for building lightweight compiler plugins in Kotlin. KSP offers similar functionality to KAPT, however it’s up to 2x faster, offers direct access to Kotlin compiler features, and is being developed with multiplatform compatibil

                                                          • Server-Side Kotlin Meetup vol.1 (2022/02/10 19:30〜)

                                                            お知らせ イベントページ内のフィードコメント投稿仕様を変更しました。今後、コメントの投稿は、イベントに参加登録(補欠・抽選を含む)しているユーザー、またはイベント開催関係者(管理者・発表者)のみ可能となります。参加登録をしていないユーザーで、イベントページに関する連絡や質問がある場合は、「イベントへのお問い合わせ」機能をご利用ください。 お知らせ 2024年9月1日より、connpassではスクレイピングを禁止し、利用規約に明記しました。以降の情報取得にはconnpass APIをご利用ください。APIご利用についてはヘルプページをご確認ください。

                                                              Server-Side Kotlin Meetup vol.1 (2022/02/10 19:30〜)