くま's Tech系Blog

基本的には技術で学んだことを書き留めようと思います。雑談もやるかもね!

Android

Android13のプッシュ通知について

今回はAndroid13のプッシュ通知について変更点があるので紹介していきたいと思います。 Android 14 ベータ版がリリースされる時期ですが.....見ていってください! Android 13(targetSdk 33)から、アプリ通知を送るのにユーザーの事前許可が必要になりました…

Androidのideaフォルダについて

久しぶりの投稿になってしましました。 今回はAndroidのideaフォルダのファイルについてまとめようと思います。 コミットする際にideaフォルダ内のファイルが変更ファイルとして表示されたときにどうすればいいか迷ったことはありませんか? まずはどんなフ…

AndroidアプリのApplicationクラスについて

今回はAndroidアプリのApplicationクラスについてまとめます。 場合によっては使う必要はないのですが、たまに必要になる場合もあるので知っておいて損はないと思います。 Applicationクラスとは? Applicationクラスは大まかにはアプリ全体のことと捉えてく…

Androidでの色について

今回はAndroidでの色についてです。 Androidではカラーコードは色の値(16 進数の色コード)を使用します。 そして、RGB値とアルファ値で指定します。 カラーリソースやコード上で表現します。 値は常に#で始め、その後に次のいずれかの形式で Alpha-Red-Gre…

Firebaseの主要サービスの設定まとめ

今回はiOS・AndroidでのFirebase関連の設定についてです。 Firebaseのサービスを使ってアプリを開発することは多いと思いますので、この機会にまとめようと思います。 プッシュ通知 プッシュ通知はFirebase Cloud Messagingを使うと思います。 プッシュ通知…

Google Mapを使ってみよう

今回はGoogle Mapをモバイル開発で使う流れをまとめようと思います。 AndroidとiOS両方説明しようと思います。 AndroidとiOSでできることにはほとんど差がないのでコードの書き方が少し違うだけだと思います。 iOSでGoogle Mapの対応を行う 最初にマップを表…

KotlinのCoroutineについて

今回はCoroutineについてまとめようと思います Coroutineは並行実行のデザインパターンです。 そして、特定のスレッドに束縛されない中断可能な計算インスタンスです。 非同期処理で用いられますが、Threadよりも軽量で、実行途中で処理を中断・再開すること…

レイアウトの背景をカスタマイズする

今回はレイアウトファイルで、背景をカスタマイズする場合の方法についてです レイアウトで枠線をつけたり、角丸にしたりカスタマイズしたい場合Attributesで設定できるものもあれば、設定できないものもあります そして、設定できない場合にはxmlファイルを…

RecyclerViewのGridLayoutについて

GridLayoutはリストを格子状に並べるという形式です 以前RecyclerViewについての記事を投稿した際にLayoutManagerにGridLayoutManagerというパターンがあるというのを記載しています kumaskun.hatenablog.com 今回はGridLayoutManagerについて少し深掘りしよ…

AndroidでWebViewを使ってみる

今回はAndroidのWebViewについてです iOSと違う部分もあるので見ていきましょう! Webページを表示させる Webページを表示させるだけであれば簡単にできます 前提としてAndroidManifest.xmlでインターネットの権限の設定を行ってください <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> </manifest> レイアウトファ…

ExpandableListViewを使ってみる

Androidで開閉式のアコーディオンテーブルを作成する際にExpandableListViewを使います あまり使う機会がなく記事もあまりなさそうなので、記事にしようと思います ExpandableListViewを使う手順 ExpandableListViewをアプリで使う手順は次の手順で行います…

モバイル開発における同期・非同期処理について

今回はモバイル開発で欠かせない同期・非同期処理の概念についてです 最初の方の概念の説明はAndroidも共通している内容ですが、後半はiOSに特化した内容になります Androidの同期・非同期処理はこの前、技術書典で出版した本で軽く説明しているので気になる…

FragmentManagerについて

今回はFragmentManagerについて調べたことをまとめようと思います FragmentManagerをどのインタンスから作成するかを意識しないとうまく表示できなかったりと想定外なことが起こるので注意が必要です (今回は指定違いで想定外なことが起こっていました) Frag…

Rx(Swift)とは?

今回はリアクティブプログラミングについてまとめようと思います RxSwiftをベースに説明しますが、概念の部分はAndroidや他のプログラミング言語でリアクティブプログラミングを行う場合でも共通すると思います Rxとは? Rx(Reactive X)とは、「オブザーバパ…

RecyclerViewについて

今回はRecyclerViewについてです Androidでリスト形式のデータを表示させる場合にはListViewやRecyclerViewなどがあると思いますが、複雑なリストが作成できたりする点でRecyclerViewを選択することがほとんどだと思います ただ、当たり前のように使っていて…

build.gradleとは?

今回はbuild.gradleについてです build.gradleファイルに息をするかのごとくライブラリを追加したり、設定を追加したりすると思いますが、よくよく考えるとbuild.gradleってなんだろうとふと思いまとめてみることにしました build.gradleとは? まず、Androi…

Androidでプッシュ通知(FCM)を使う

今回はAndroidでプッシュ通知を使う方法です。プッシュ通知はFCM(Firebase Cloud Messaging)を使います。 FCMの設定に関しては今回は割愛しますが大まかにいうとFirebaseのプロジェクトを作成してパッケージ名を設定すると、google-service.jsonがダウンロー…

Realmを使ってみよう(Android編)

今回はRealmをAndroidで使うやり方について書こうと思います Realmの大まかな説明などは前回の記事をみてください Realmの導入 まずはRealmを使えるようにします build.gradle(app)で下記設定を追加します plugin { id `realm-android` } そして、build.grad…

Androidのツール属性について

今回はAndroidのレイアウト作成時に使うツール属性について書いていこうと思います ツール属性は主にレイアウトのプレビュー確認で使う名前空間です

ViewPager2とCardViewでカルーセル表示を行う

QiitaのAndroid Advent Calendar 2021の23日目の記事です 他の方も素晴らしい記事を投稿しているので、ぜひこちらからご覧ください! 今回はCardViewのカルーセル表示についてです カルーセル表示とは横にスライドして次のデータを表示させるものです 下記の…

スコープ関数について

kotlinにはスコープ関数というものがあります。 あるインスタンスに対して、連続して処理をするような場合、スコープ関数を使えばコードを簡潔にすることができます。(Lamba形式で処理をおこないます) スコープ関数にはlet・run・with・apply・alsoの5種…

Androidのスレッドについて

今回はAndroidのプロセスやスレッドについてまとめようと思います。 最近は非同期処理でCoroutine などが出てきたおかげで非同期処理が簡単にできるようになりました。 ただ、Coroutine などを理解する前にプロセスやスレッドについて理解する必要があると思…

Androidでビルドのターゲット分けを行う

今回は、Androidでビルドのターゲット分けを行うようにするにはどうしたらいいのかを書いていきます。 ビルドのターゲット分けというのは開発環境と本番環境など向き先を変えるとうことです。 例えば、開発環境でapkを出力したり、本番環境で出力したりと変…

apkファイルをインストールする

今回はapkファイルをインストールする方法についてです たまに開発中のものをapkファイルに渡すということありませんか? そして、渡されたものをインストールして動きを確認することはありませんか? 今回はそんなときにインストールをする方法です 大前提…

Retrofitの基本的な使い方

今回はRetrofitの基本的な使い方について書きたいと思います。 Android開発でAPI連携を行う場合に必ずと言っていいほど使うと思います。たまにハマってしまうので、まとめようかと思います。 Retrofitは、APIから取得するJSONデータを、オブジェクトにしてア…

エミュレーターでネットに接続する

今回は小ネタです。 以前、エミュレーターでインターネットに接続できずなぜ?と思ったことがあります。 デフォルトでAndroid WifiというWifiに接奥されていますが、設定をしないとインターネットに接続できないようです。 早速みていきましょう! まずはエ…

Contextについて

今回はAndroidでよく出てくるContextについて説明しようかと思います。 ContextはAndroidでよく出てくると思うのですが、漠然としたものでフワフワしていたので、少し調べてみました。 Contextとは? Contextを公式で確認すると下記のような記載があります。…

AndroidでRealmのインポートが上手くいかない

今回は小ネタです 新しいライブラリを追加してsyncしていると下記エラーが発生しました A problem occurred evaluating project ':app'. > Failed to apply plugin [id 'realm-android'] > Configuration with name 'kapt' not found. realm-androidでエラー…

SDKのライセンスについて

久々にAndroidネタです! PCをMacに変えて、プロジェクトをGithubからクローンしていよいよ開発かと思ったら、ビルドでエラーが。。。。 内容を見てみると下記のようなエラーが出ていました。 Failed to install the following Android SDK packages as some …

ButtonNavigationを使ってみる

最近アプリを使っていると、下の方でメニューを切り替えるヤツをよく見ます。 ドローワーあんまり使わないのかなあと思いながら調べてみるとButtonNavigationっていうのを知りました。(今更感.....) 大変なのかやってみました。 結論、まったく大変ではない…