Android関連のことを調べてみた2022年10月02日

Android関連のことを調べてみた2022年10月02日

日記アプリリリースしました!

## はじめに

この度、初めてのスマホアプリである「テンプレ日記」という日記アプリをリリースしたので紹介します!

「**テンプレ日記**」で検索すると一番上に出てくるので、興味を持った方は是非インストールして見てください!

## ios版

https://apps.apple.com/jp/app/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E6%97%A5%E8%A8%98/id1638009071

## Android版

https://play.google.com/store/apps/details?id=com.hayatosato.diary

## 「テンプレ日記」の特徴

早速ですが、今回リリースした「**テンプレ日記**」の特徴を紹介します。
「**テンプレ日記**」の特徴は以下の通りです。

1. テンプレート機能付き
1. csv&text形式でのダウンロード可能
1. csvファイルによってデータ引き継ぎを行うため、ios ⇄ Android間の移行もできる!
1. 完全無料(バナー広告のみ)
1. 最低限の機能しか

元記事を表示

VSCodeのFlutterでフィンガープリントを取得する方法

## 読んでも読まなくてもいい前提
`com.google.android.gms.common.api.ApiException: 10`

[調べてみると](https://riscait.medium.com/apiexception-10-error-in-sign-in-with-google-using-firebase-auth-in-flutter-1be6a44a2086)、Debug用のフィンガープリントが必要とのこと。
でもフィンガープリントの取得方法が分からない

### 試してみてダメだった方法
– [Android Studioを使ってフィンガープリントを取得する方法](https://riscait.medium.com/apiexception-10-error-in-sign-in-with-google-using-firebase-auth-in-flutter-1be6a44a2086)
– 敗因はバージョン関係の問題と思われる
– [.\gradlew signingReport](https://stackoverflow.com/q

元記事を表示

flutter error : Execution failed for task ‘:camera:compileDebugJavaWithJavac’ というエラー等々

## 飛ばしても良い前提
Flutterで2021年秋くらいに「Googleログイン」「カメラ」を使ったアプリを作りました。
研究目的で作っており、実験できればそれでいっか程度で作ったので、1年ほど放置していると、
1. 私が使っていたGoogleログイン機能が脆弱性の問題から使えなくなった
2. 新しいログイン方法に乗り換えようとする
2. 新しいログイン方法を使うためにはcompileSdkVersionを上げないといけない
3. compileSdkVersionを30から31に上げると連続でエラーが出た

### エラーが出る状況
– Flutter cameraを使っている
– 環境が古い

と、エラーが出る状況が限られており、エラーの報告自体がネットに中々無かったので、今回はこの連続エラーとその解決策として実行したことをまとめた記事です。

## 1個目のエラー(Flutter Cameraバージョンが古かった)
### エラー文
`flutter error : Execution failed for task ‘:camera:compileDebugJavaWith

元記事を表示

PWA(Progressive Web Apps)とは -Qiitaをスマホで快適に見る-

## QiitaをiPhoneで快適に見たい
1. でも公式アプリってないよね?
1. とりあえずホーム画面に追加するか…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882988/7832dae2-6e7d-f6df-bda1-1b16d05adb48.png)
1. で、生成されたこれを押す。
![S__70516744.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882988/5e1e897f-ecd6-4c39-1c3a-7f789015bf0b.jpeg)
1. するとSafariで開かれず、アドレスバーも何もないネイティブアプリのような画面で表示される。
![S__70516740.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882988/e34c7afe-9f89-c31f-965b-2214c7

元記事を表示

AndroidエンジニアのためのiOSライブラリ選定シート

Qiita初投稿です!:joy:

## 目的
本ページはAndroidアプリ開発経験者がiOSアプリを開発し始める上で必ず確認したくなる~~はずの~~**Androidでいうとこのライブラリなんだけど、それのiOS版は何か**をまとめたものです。主に自分で調べた備忘録として残します。
誰かの労力の削減になれば幸いです:open_hands:

## 比較表(2022/9/30 時点)
| 役割 | Android(kotlin) | iOS(Swift) |
|:-:|:-:|:-:|
| ログ | [Timber](https://github.com/JakeWharton/timber) | [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) |
| HTTP クライアント | [Retrofit2](https://square.github.io/retrofit/) | [Moya](https://github.com/Moya/Moya)※1 |
| 画像読み込み | [coil](https://

元記事を表示

Material Design Components調べ : FAB編

# 背景
Material Design Componentsいっぱいあるけどガイドライン的にはどんな時に使うのがいいの? 逆にどんな時には使っちゃダメなの? がわからなくなるのでまとめてみました。
まずはよく使うFABから進めて、今後他のComponentについても記事にしていこうと思っています。

# floating action buttonとは
floating action buttonで通称FAB。
主に画面の右下に設置され、画面の主要なアクションを表しています。

有名なアプリではTwitterのツイート作成ボタンがこれだったりします。

# どんなときに使うの? どんなときに使っちゃダメなの?
|良い例|悪い例|解説|
|—|—|—|
|Jetpack Compose で Haptics に対応する

# Haptics とは

利用者に力、振動、動きなどを与えることで皮膚感覚フィードバックを得るテクノロジーのことで、ことAndroidにおいては触覚による刺激生成に貢献するハードウェアとソフトウェアの機能を指します。

https://source.android.com/docs/core/interaction/haptics

# Androidでの Haptics Framework
UX原則として以下の3パターンが推進されています。

![hapticsSAC12_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223159/89f089bc-fdd4-a27c-6707-455c3cf7d187.png)

#### 1. Buzzy

ポケベルやガラケー時代に利用されていた低品質ながらも電力効率の高いERMブザーベースのバイブレーション

#### 2. Clear

非連続の状態変化(Power On/Offやプロセス中のバイナリ変化) をサポート
クリアなHapticsは1つのIn

元記事を表示

なぜAndroidのdpは4の倍数がいいのか

# 背景
Androidは様々なスクリーンサイズ、画素数の端末が販売されています。その一つ一つに合わせてレイアウトのデザインを作り込むのは大変です。
例えば100ピクセルの画像を画面に表示するようなデザインの場合、以下のような問題が出てきます。

– 端末のピクセルの画面サイズに合わせて画像を拡大縮小させる必要がある
– 端末によるピクセル密度が異なることもあるため、同じピクセルサイズの画面でも物理的なサイズが違うため、見え方も違う

そのため、Androidではdp, spという画面サイズや解像度に捉われることなく扱うことを目的とした抽象的な単位を提供しています。

# ピクセル密度とそれに対応した区分
Androidではdpiという「1インチあたりどれだけのピクセルが入っているか」の大きさによって端末の種類を区分けしています
|汎用密度|倍率|説明|
|—|—|—|
|ldpi|x0.75|低密度(ldpi)画面(~120dpi)に適用するリソース|
|mdpi|x1|中密度(mdpi)の画面(~160dpi)に適用するリソース(基準密度)。|
|hdpi|x1.5|

元記事を表示

ブラウザーだけで使えるインストール不要の完全無料オンラインPDFツール、Windows/Mac/Linux/iOS/Android対応

最近、リモートワークやペーパーレス化の拡大につれて、デジタル文書の形式であるPDFがますます重要な役割を果たしています。デスクワークが仕事の方々は誰でもPDFに関する知識やツールの使い方を学ばなければなりませんが、ほとんどのPDFソフトは高価で、無料のものは制限が多く、なかなか大変です。昔使っていたsmallpdfさんはなぜかいろいろ制限が増えて、使いづらくなりましたから、代替のものをずいぶん検索しました。それでは、見つかったOSを問わず、インストール不要、広告なしのクラウドベースのフリーオンラインPDFツールサイトである「LightPDF」を紹介します。

# LightPDFオンラインPDFツール

使用するには、お使いのデバイスのブラウザーでLightPDFのPDFツールサイト(https://lightpdf.com/jp/tools) にアクセスすれば、下記の画像のようなPDFツールの画面が表示されます。中から使いたいものを選べばいいです。
![lightpdf-online-tools-interface.jpg](https://qiita-image-store.s3.

元記事を表示

命名時に絶対やめてほしいこと

# 初めに
今回は変数名や、`layout`の`id`などを命名する時に絶対にやめたほうがいいことを紹介していきます。
### 本文
まず初めが***別画面で同名のidを使わない***といことです。
最近は`Jetpack Compose`が出て来たのもあって今後減っていきそうではありますが、命名するのが難しいViewがある場合に汎用的すぎる名前をつけているのが時々見受けられます。
汎用的なIDをつける場合はせめてどの画面のものなのかがわかるようにしたりしましょう。


次が***関数名をつける時は動詞を前に持ってくる***です。
初心者や新入社員の方に多くみられるのが動詞が後ろの方に来てしまってることがありますが、それだと該当の関数が何をするのかがぱっと見でわかりません。
例として`setupPageView`とかけば見る側は少なからず何かしらのセットアップをすることがわかりますが、`pageViewSetup`だとPageViewに対して何かをすることしかわかりません。
もちろん対象は大事ですが、ある程度の知見がある人の場合何をしたいのかが重要で中身のコードを見れば対象がなん

元記事を表示

【JetpackCompose】ViewModel は使う必要がない