iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

Android

【Android】Release バリアントでビルドした時の Error 対処法

先日、新規作成したアプリで試しにバリアントを release に設定し、ビルドしてみると下記のようなエラーが発生しました。 Error: The apk for your currently selected variant (app-release.apk) is not signed. Please specify a signing configuration fo…

Android Studio でアプリのランチャーアイコンを変更

今日は Android Studio でアプリのランチャーアイコンを変更する方法を紹介したいと思います‍♀️ それではやっていく まずは,app ディレクトリを選択した状態で WindowメニューからFile/New/ImageAsset を選択します。 今回変更するのはランチャーアイコンな…

【Kotlin】java.util.NoSuchElementException: List is empty

先日、Kotlin で Firestore を用いて Collection を取得していると下記のような Error に遭遇しました 2020-12-13 11:42:44.547 22551-22551/com.YamatoOtaka.androidsample1 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.YamatoOtaka.androidsamp…

【Kotlin】Android Realm でデータを保存して確認するまで

今回は、Kotlin を使って Realm にデータを保存。そして、Realm Studio で保存したデータ確認するまでの手順を紹介したいと思います‍♀️ それではやっていく 1.プロジェクトレベルの Gradle に下記を追加します。執筆時点では、10.0.1 が最新版でしたがアップ…

【Kotlin】Activity の画面遷移時にカスタムデータを渡す

今回はタイトルの通り、Kotlin で Activity の画面遷移時にカスタムデータを渡す方法を紹介したいと思います‍ それではやっていく‍ まずは遷移先の Activity に渡すデータクラスを定義し、Serializable に準拠させます。 data class PlaceItemEntity(val nam…

【Kotlin】アプリにToolbarをつける

今回は、Android アプリの ActionBar を非表示にし、代わりに Toolbar をつける方法を紹介したいと思います‍ まずは、ActionBar と Toolbar の違いをみていきましょう。 ActionBar ActionBar は、画面上部に位置するバーで、画面のタイトルや重要なアクショ…

【Kotlin】Fragment から Activity に画面遷移する

1.まずは遷移先の Activity を新規に作成します。 2.次に AndroidManifest に遷移先の Activity を追加します。なお、遷移元の Activity は既に追加されているものとします。 application タグの中に、新しく activity タグを追加し、android:name で遷移先…

Kotlin の Enum を使ってみる

みなさん Kotlin は書いていますか?僕は、最近仕事の合間などに少しずつ書くようにしています‍ 今回はそんな、Kotlin の enum(列挙型) の基本的な使い方をみていきたいと思います。 余談ですが、毎日技術ブログを書いていると常時ネタ不足に陥るので、 iOS/…

3分で RecyclerView を作成する

みなさん、Android の RecyclerView は使っていますか?僕はやっと最近触りはじめました(最近 Android はじめたので)‍♀️ なので、使ったついでにその実装方法の手順を今日は簡単に紹介したいと思います! それではやっていく 1.アプリレベルの Gradle に Rec…

Android(Kotlin) で Firebase Firestore を使ってデータを取得するまで

今回は、Android(Kotlin) で Firestore を使ってデータを取得するまでの手順を簡単に紹介したいと思います 前提条件 APIレベル16(Jelly Bean) 以降が対象 Gradle 4.1 以降 Jetpack(AndroidX) を使用 新規 Firebase プロジェクト作成済み Android アプリも登…

Androidエミュレータで Firestore と連携できない

とりあえず Firestore コンソール上で作成した Collection データを取得しようと下記のようなコードを書いてエミュレータで実行すると、Log になにも表示されないという問題がありました val db = FirebaseFirestore.getInstance() db.collection("countries…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day21【Use LiveData to control button states編】

Android Kotlin Fundamentals: Use LiveData to control button states 学ぶこと database 内の既存の睡眠品質レコードを変更する方法 LiveData を使用してボタンの状態を追跡する方法 イベントに応じて snackbar を表示する方法 すること TrackMySleepQuali…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day20【Coroutines and Room編】

学ぶこと Android でスレッドがどのように機能するか Kotlin coroutines を使用して、database 操作をメインスレッドから移動する方法 フォーマットされたデータ TextView に表示する方法 すること TrackMySleepQuality アプリを拡張して、データベースとの…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day19【Create a Room database編】

イントロダクション ほとんどのアプリには、ユーザがアプリを閉じた後でも保持する必要のあるデータがあります。たとえば、アプリには、プレイリスト、ゲームアイテムの在庫、経費と収入の記録、星座のカタログ、または刑事的な睡眠データが保持される場合が…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day18【LiveData transformations編】

学ぶこと LiveDat で Transformations を使用する方法 すること ゲームを終了するタイマーを追加します。 Transformations.map() を使用して、ある LiveData を別の LiveData に変換します。 アプリの概要 今回は、前回のコードラボに続き、スコアの上に表示…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day16【LiveData and LiveData observers編】

学ぶこと LiveData オブジェクトが役立つ理由 ViewModel に保存されているデータに LiveData を追加する方法 MutableLiveData をいつどのように使用するか LiveData の変更を監視するための observer method を追加する方法 バッキングプロパティを使用して …

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day15【ViewModel編】

学ぶこと 推奨される Android app architecture を使用方法 アプリで Lifecycle、ViewModel、および ViewModelFactory クラスを使用する方法。 device-configuration の変更を通じて UI データを保持する方法 factory method デザインパターンとは何か、およ…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day14【Complex lifecycle situations編】

学ぶこと ライフサイクルコールバックでアプリの一部を設定、開始、停止する方法 Android ライフサイクルライブラリを使用してライフサイクルオブザーバーを作成し、activity と fragment のライフサイクルを管理しやすくする方法 Android プロセスのシャッ…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day13【Lifecycles and logging編】

学ぶこと Log 情報を Logcat(Android console または Android monitor と呼ばれることもあります)に出力する方法。 Activity と Fragment のライフサイクルの基本、および activity が状態間を移動する時に呼び出されるコールバック ライフサイクルコールバ…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day12【Start an external Activity編】

学ぶこと Bundle クラスを使用して、ある Fragment から別の Fragmen に引数を渡す方法 タイプセーフのために Safe Args Gradle プラグインを使用する方法 Share menu item をアプリに追加する方法 implicit intent とは何か、それを作成する方法 すること N…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day11【Define navigation paths編】

学ぶこと navigation graphs の使用方法 アプリで navigation path を定義する方法 Up button とは何か、および button を追加する方法 オプションメニューの作成方法 navigation drawer を作成する方法 すること navigation library と Navigation Editor …

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day10【Create a fragment編】

学ぶこと Fragment を静的にアプリに追加する方法 すること Activity 内に Fragment を作成します アプリの概要 このレッスンを構成する3つのコードラボでは、AndroidTrivia というアプリで作業します。完成したアプリは、ユーザが Android コーディングに…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day9【Codelabs 2-3編】

学ぶこと アプリで ConstraintLayout を使用して View を配置する方法 TextView の背景色を変更する方法 ベースライン制約を使用して View を text の位置に合わせる方法 View のグループから horizontal チェーンと vertical チェーンを作成する方法 するこ…

iOSDC2020 の1日目振り返り

今日も前夜の記事に続きiOSDC2020のセッションを聞けた範囲でおもしろかったもののまとめをしておこうと思います。 ※ よかったら毎日ブログ書いてるので、暇な時に見てください yamato8010.hatenablog.com 4年間運用されて表示速度が低下した詳細画面を改善…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day8【Codelabs 2-4編】

学ぶこと Data Binding ライブラリを使用して、findViewById() への非効率な呼び出しを排除する方法 XML からアプリデータに直接アクセスする方法 すること findViewById() の代わりにデータバインディングを使用し、レイアウト XML から直接データにアクセ…

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day7【Codelabs 2-2編】

前回に続き、今回は Codelabs2-2 をやっていきたいと思います‍ 学ぶこと EditText view を使用してユーザ入力を取得する方法 EditText view のテキストを使用して、TextView にテキストを設定する方法 View および ViewGroup の操作方法 View の可視性を変更…