Kotlin
今回はAndroid13のプッシュ通知について変更点があるので紹介していきたいと思います。 Android 14 ベータ版がリリースされる時期ですが.....見ていってください! Android 13(targetSdk 33)から、アプリ通知を送るのにユーザーの事前許可が必要になりました…
今回はAndroidアプリのApplicationクラスについてまとめます。 場合によっては使う必要はないのですが、たまに必要になる場合もあるので知っておいて損はないと思います。 Applicationクラスとは? Applicationクラスは大まかにはアプリ全体のことと捉えてく…
今回はGoogle Mapをモバイル開発で使う流れをまとめようと思います。 AndroidとiOS両方説明しようと思います。 AndroidとiOSでできることにはほとんど差がないのでコードの書き方が少し違うだけだと思います。 iOSでGoogle Mapの対応を行う 最初にマップを表…
今回はCoroutineについてまとめようと思います Coroutineは並行実行のデザインパターンです。 そして、特定のスレッドに束縛されない中断可能な計算インスタンスです。 非同期処理で用いられますが、Threadよりも軽量で、実行途中で処理を中断・再開すること…
個人的な意見ですが、オブジェクト式や無名オブジェクトを理解するのに若干苦労したのでまとめようと思います 合わせて、無名関数も苦労したので合わせて記載しようかと思います オブジェクト式とは? オブジェクト式では無名オブジェクト(無名クラス)の定義…
GridLayoutはリストを格子状に並べるという形式です 以前RecyclerViewについての記事を投稿した際にLayoutManagerにGridLayoutManagerというパターンがあるというのを記載しています kumaskun.hatenablog.com 今回はGridLayoutManagerについて少し深掘りしよ…
今回はAndroidのWebViewについてです iOSと違う部分もあるので見ていきましょう! Webページを表示させる Webページを表示させるだけであれば簡単にできます 前提としてAndroidManifest.xmlでインターネットの権限の設定を行ってください <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> </manifest> レイアウトファ…
Androidで開閉式のアコーディオンテーブルを作成する際にExpandableListViewを使います あまり使う機会がなく記事もあまりなさそうなので、記事にしようと思います ExpandableListViewを使う手順 ExpandableListViewをアプリで使う手順は次の手順で行います…
今回はFragmentManagerについて調べたことをまとめようと思います FragmentManagerをどのインタンスから作成するかを意識しないとうまく表示できなかったりと想定外なことが起こるので注意が必要です (今回は指定違いで想定外なことが起こっていました) Frag…
今回はRecyclerViewについてです Androidでリスト形式のデータを表示させる場合にはListViewやRecyclerViewなどがあると思いますが、複雑なリストが作成できたりする点でRecyclerViewを選択することがほとんどだと思います ただ、当たり前のように使っていて…
今回はRealmをAndroidで使うやり方について書こうと思います Realmの大まかな説明などは前回の記事をみてください Realmの導入 まずはRealmを使えるようにします build.gradle(app)で下記設定を追加します plugin { id `realm-android` } そして、build.grad…
QiitaのAndroid Advent Calendar 2021の23日目の記事です 他の方も素晴らしい記事を投稿しているので、ぜひこちらからご覧ください! 今回はCardViewのカルーセル表示についてです カルーセル表示とは横にスライドして次のデータを表示させるものです 下記の…
kotlinにはスコープ関数というものがあります。 あるインスタンスに対して、連続して処理をするような場合、スコープ関数を使えばコードを簡潔にすることができます。(Lamba形式で処理をおこないます) スコープ関数にはlet・run・with・apply・alsoの5種…
今回はAndroidのプロセスやスレッドについてまとめようと思います。 最近は非同期処理でCoroutine などが出てきたおかげで非同期処理が簡単にできるようになりました。 ただ、Coroutine などを理解する前にプロセスやスレッドについて理解する必要があると思…
今回はRetrofitの基本的な使い方について書きたいと思います。 Android開発でAPI連携を行う場合に必ずと言っていいほど使うと思います。たまにハマってしまうので、まとめようかと思います。 Retrofitは、APIから取得するJSONデータを、オブジェクトにしてア…
小ネタです val binding: ActivityTaskEditBinding = DataBindingUtil.setContentView(this, R.layout.activity_task_edit) val editViewModel = ViewModelProviders.of(this).get(EditViewModel::class.java) binding.editViewModel = editViewModel 上記ソ…
最近アプリを使っていると、下の方でメニューを切り替えるヤツをよく見ます。 ドローワーあんまり使わないのかなあと思いながら調べてみるとButtonNavigationっていうのを知りました。(今更感.....) 大変なのかやってみました。 結論、まったく大変ではない…
Androidで開発していて、PCを実機につないで、再起動を確認するときに実際に再起動してしまうと実行が消えてしまいますよね? どうやらADBコマンドで実際に再起動せずに再起動を再現できるみたいなので、やってみました。 ただ、やってみると意外にハマった…
グラフをアプリの中に表示させるとき、調べてみるとMPAndroidChartを使う方法があるみたいで、簡単なサンプルを作って試してみました。 今後も使いそうなので、手順を残そうかと思います。 ①ライブラリの導入 まずはMPAndroidChartライブラリを導入します。 …
以前、DataBindingを使ってみて、その延長でMVVMパターンを使ってみました。 おそらく今後も使うと思うので、手順を残したいと思います。 ベースは下記の記事の実装を使います。 DataBindingを使ってみる 今回はListViewで行います。 ModelViewは 一覧に表示…
listviewの表示をDataBindigを使ってみることにしました。 もともと、android.R.layout.simple_expandable_list_item_2というオープンソースを使っていたのですが、カスタマイズできないのと、カスタマイズするならDataBindingを使ってみようと思ったのが、…
Android開発でテストを行おうと思い、Espressoを実行しようと思ったら実装とテストのバージョン違いでつまずいたので、まとめたいと思います。 テストを実行しようと思うと下記エラーが発生しました。 Conflict with dependency 'com.android.support:suppor…
EspressoでUIテストを実施していて、ナビゲーションドローワーがある場合に少しつまずいたので、残したいと思います。 dependencyの追加 ナビゲーションドローワーのアクションはespresso-contribのライブラリに入っているので追加しました。 その時、バージ…
非同期でUIの更新を行うときに気にしないといけないことが多いですよね 今ではRxjavaを使えば、あまり気にすることはないんですが、AsyncTaskLoaderを使う場合は、気にしないといけません。 私も一部分で、AsyncTaskLoaderを使っていて、罠にはまりました。 …
Retrofitでxmlの要素を取得するためにEntityを定義しました。 初めて行うと意外に苦戦することが多いので、まとめます。 今回対象のxmlは以下になります。 <rss version="2.0"> <channel> <title>××××××××××××××</title> <link>×××××××××××××××</link> <description>××××××××</description> <lastBuildDate>××××××</lastBuildDate> // itemがリストになっている <item> </item></channel></rss>
ListViewに比べてRecyclerViewの方が使い勝手がいいので、試しに使ってみました。 カスタマイズできるのがいいですね! ①レイアウトの作成 まずは表示する1列分のレイアウトを作成します。 article_content.xml
AlertDialogを今までActivityで作ってましたが、そうするとメモリーリークが発生するので、 DialogFragmentを継承させて、呼び出すようにしました。 その時の手順です。 ①AlertDialogのクラスの作成 DialogFragmentを継承させたクラスを作成し、そこで、ライ…
RecyclerViewはListViewと違って、ある程度自由に画面を作成できますが、その分自分で実装しないといけない箇所が多いです。区切り線もそうです。ListViewでは特に実装しなくても区切り線が表示されますが、RecyclerViewでは実装が必要です。 val separateLi…