Android関連のことを調べてみた

Android関連のことを調べてみた
目次

安全かつ簡単に: Excel から Android デバイスに電話番号を転送する

要約: Excel の連絡先を VCF ファイルに変換するための最良のオンライン オプションを探していましたが、まだ見つけられていませんか? 時間を無駄にしたくない場合は、このブログ投稿全体を読んで、Excel の連絡先を VCF ファイルに変換するための最良の方法を見つけてください。Excel の連絡先を VCF ファイル形式に簡単に変換するには、説明されている方法をお読みください。

まず、手動の手順について説明します。

手順 1: Google アカウントを使用して、Excel から Android に電話番号をインポートします。
最初に、Google の一般的な形式の CSV ファイルが必要です。まだお持ちでない場合は、次の手順に従って入手できます。

1. Googleフォーマットを使用してCSVファイルを取得する

  • ウェブブラウザを開き、Google アカウントにサインインします。ログイン
元記事を表示

Navigation railってなんだっけ?

# はじめに
先日のGoogle I/Oで[Compose マテリアル 3 アダプティブライブラリ](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive)が発表されましたね。

今回のGoogle I/Oはアダプティブ関連の話題が多めだったり、[Car ready mobile appsプログラム](https://developer.android.com/training/cars/car-ready-mobile-apps)で大画面対応済みモバイルアプリの自動車向けAndroidプラットフォーム進出が推進されていたりで、GoogleのAdaptive対応意向を強めに感じました。

アダプティブライブラリで追加されたNavigationSuiteScaffoldは、
「モバイルの場合はNavigationBar、タブレットの場合はNavigationRail」など、画面サイズに応じて最適なNavigationを切り替えてくれるComposableのようですが、

**「

元記事を表示

[Android] Camera And Storage

![ezgif.com-resize.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639815/8167328d-59b5-c057-fbd1-e90f1a4e32c2.gif)

# *カメラアプリ*

カメラアプリを実行して写真を撮影すると、その写真が外部ファイルアプリに保存されます。そして、ファイルアプリを開くボタンを押すと、その写真を取り出して画像をダイアログでプレビュー表示する機能を作業しました。この部分をサンプルとして作成しました。


## Manifest 定義
カメラおよびストレージを使用するための定義

“`xml


java.lang.NullPointerException: uriStringというエラーの対応

https://qiita.com/usayuki/items/9083136819cf33147887

こちらの記事を参考に実装したところ以下のエラーが出ました。

“`
java.lang.NullPointerException: uriString
“`

こちらを解決した際の内容をかるく紹介しておき、
今後のために記事に残しておきます。

# 解決方法

“` diff

for (int i = 0; i < count; i++) { val bytes = ByteArrayOutputStream() bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes) - val path = MediaStore.Images.Media.insertImage(context.getContentResolver(), + val path = MediaStore.Images.Media.insertImage(context.getContentResolver(), bitm

元記事を表示

ViewGroup全体をお手軽に角丸にする

Viewに角丸をつける方法は様々あります。
以下のように、複雑なレイアウトを角丸に切り取って表示する方法を紹介します。

|Layout|角丸化|
|–|–|
|![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155171/c9b4d224-94a4-36b6-7db1-0b21133d331d.png)|![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155171/b6b2235d-115e-a37a-5adf-46ab4c469b48.png)|

ViewGroupを継承してdraw処理をoverrideしてしまえば何でもありになります。
ただ、手間も大きいため、これ以外の方法を考えてみます。

# CardViewで囲む

お手軽な方法としてはこれですね。CardViewはこのような角丸なViewを作るためのViewなので、以下のように指定して、角丸にしたいレイアウト全体を囲めば最初の例にあるような角丸をつけることが

元記事を表示

個人開発のAndroidアプリにアニメーションを導入してみた【種族値クイズ】

# はじめに
こんにちは。新卒2年目のAndroidアプリエンジニアやってます。
なぐも[@southcloud_7960](https://x.com/southcloud_7960)というハンドルネームで活動しているものです。
今回は個人開発をしているアプリにアニメーションを導入してみたので、その経緯とできあがりについて紹介の記事を書こうと思います。

リリースしたアプリがこちらになります!

https://play.google.com/store/apps/details?id=com.nagumoapps.pokemonstatsquiz&pcampaignid=web_share

# この記事の対象
– AndroidアプリやiOSアプリを開発している人
– 個人開発をしている人
– アニメーションを使ったアプリの開発に興味がある人

# 開発しているアプリ
私が開発している種族値クイズ(1.1.0)のアプリがこんな感じです。
今回は詳細な説明を省きますが、以下のような基本機能を備えています。
– 問題の出題範囲を選ぶ
– 問題が出題される
– 入力して回答する
– ボ

元記事を表示

【Android】Gradle8から有効になったR8を無効にする方法

# はじめに
Gradle8がリリースされたのが約1年ほど前ですが、Gradle8よりR8がデフォルトで有効になり、今でも8以降に上げると大体不具合の温床になり得るのがR8の設定かと思います。
主にライブラリが干渉することでクラッシュしたりするわけですが、その度プロガードに設定を追加したりして中々しんどいですよね。
そこで一時的にR8の設定を無効にする方法を備忘録的にまとめておこうと思います。

# R8とは?
R8はGradleのビルドシステムの一つで、Android用のProGuardの後継ツールになります。
アプリケーションのサイズを削減し、最適化するためのコードシュリンカーとオブフスケーターになります。

# R8を無効化する方法
無効化する方法は簡単で、gradle.propertiesに以下を追記するだけです。

“`gradle.properties
android.enableR8.fullMode=false
“`

設定は以上になります。
他にもGradle8より追加になったパラメータがあるので、ご自身のプロジェクトに設定がマッチしているかは確認してもらえればと

元記事を表示

背景にぼかし(Blur)をかける

# やること
![image2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3566351/c3b2fae2-40e3-e59f-5729-131d31067131.png)

こんな感じで背景画像にぼかしをかけてエモい感じにしたい

# やり方

### RenderEffect.createBlurEffectを使用する

### 実装例

・activity_main.xml

“`xml

BottomSheetBehaviorを使った画面のEdgeToEdge対応

BottomSheetBehaviorを使った画面をAndroid 15(VanillaIceCream)のEdgeToEdge対応をしようとして苦労しました。
簡単に今となっては少しレガシーな感じのViewベースのレイアウトの画面の変化を見てみます

“`xml

元記事を表示

Andriod Studio ワイヤレスデバッグ覚え書き

Androidアプリのデバッグをするときに、USBケーブルを使わずにワイヤレスでデバッグする方法です。
Android実機の開発者モードがオンになっていることが前提です。
Andrio Studioから設定できるっぽいボタンはあるのですが、一度もできた試しがないので毎度この方法でやっています。
何かいい方法があればご教授頂きたいです。

## ペア
ワイヤレスデバッグの画面を開いて、

以下のコマンドをPC側で実行します。
“`shell
$ adb pair 192.168.100.14:39929

>> Enter pairing code: 431596 <- ここにAndroidに表示されている数字を入力 Successfully paired to 192.168.100.14:39929 [guid=a

元記事を表示

Google Play Core ライブラリの更新と対応

# 背景
Androidアプリリリース時に、こんなメールが来ました。

> Google Play Core (com.google.android.play:core) has added this note for SDK version 1.10.3:
Update your Play Core Maven dependency to an Android 14 compatible version! Your current Play Core library is incompatible with targetSdkVersion 34 (Android 14), which introduces a backwards-incompatible change to broadcast receivers to improve user security. As a reminder, from August 31, Google Play requires all new app releases to target Android 14. Update to the l

元記事を表示

電話番に時間を消費するな!アプリで時間を節約してその時間で業務効率化

## はじめに
※以下の文は大半をChatGPTで生成しています。
~~偉そうな文章になってしまいましたが~~さすがChatGPTですね。

皆さん、会社で電話番をしている時に、知らない番号からの着信対応に貴重な時間を費やしていませんか?
今回ご紹介するアプリを使えば、その時間を大幅に削減し、本来の業務に集中できます。

https://play.google.com/store/apps/details?id=com.company.phonenumberOCR

## このアプリで実現する時間節約と業務効率化

### 1. カメラ認識で電話番号チェックを瞬時に

「番号検索」機能を使えば、電話番号をカメラで瞬時に認識。
わずか数秒で不審な番号かどうかを判断できます。

1.png

### 2. 着信か

元記事を表示

BottomNavigationViewのWindowInsetsを変える

Edge-to-Edge 対応で現状のレイアウト構成から仕方なく material-components の `BottomNavigationView` のデフォルトの WindowInsets から適用する箇所を変更したいときの方法です。

* * *

`BottomNavigationView` のデフォルトの WindowInsets は内部でのみ処理されているのでパラメータでの切り替えができません。

https://github.com/material-components/material-components-android/blob/20f92dfb513916d0df6c38bfd630dfc41aff484e/lib/java/com/google/android/material/bottomnavigation/BottomNavigationView.java#L141-L164

そのため、レイアウトの構成によっては不要な WindowInsets がついてしまう場合があります。

![Screenshot_20240627_195656.png](

元記事を表示

Android タブレットで Web 画面で作った UI ページを表示する

Web 画面で UI を作り、タブレット上の Web ブラウザで表示する。

アプリのように見せるためにいろんな Tips を組み合わせ。

今まで iPad でやってきたけれども、Android はどうかな?

# 環境

旧い機種を再利用

– Fujitsu arrows Tab F-02K
– Android バージョン 9

# デベロッパーモードにする

「設定」-「システム」-「タブレット情報」-「ビルド番号」を7回押す

# 充電中にスリープモードにしない

「設定」-「システム」-「詳細設定」-「開発者向けオプション」-「スリープモードにしない」

# Webページのショートカットをホーム画面に配置

Chrome の右上のメニューから「ホーム画面に追加」-「ショートカットの作成」

PWA(プログレッシブウェブアプリ)に対応しているWebページの場合は、「ショートカットの作成」と共に「インストール」も表示される。「インストール」した場合は、ブラウザのタブやツールバー(アドレスバーや戻る進むボタンなど)が表示されない。

# アプリっぽく表示

PWAのよ

元記事を表示

【GAS×ChatGPT】Slackリマインド文言を毎日変えてお風呂の大切さを伝える

:::note info
私の所属している「どすこい塾」のSlackで、とある人が毎日21時にお風呂リマインドを設定していました。

ただ、毎日同じ文言で同じ時間にリマインドが来てしまうと、飽きが生じてしまいます。

そこでChatGPTのAPIを用いて、毎日違う文言でリマインドするように変更を行なったのでその備忘録です。
:::

![スクリーンショット 2024-06-12 2.35.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670224/887fde39-2b8b-ac19-0f79-eed207f25331.png)

![スクリーンショット 2024-06-27 14.52.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670224/399f31c1-d987-f766-3e8f-958f65a6cb78.png)

# かかる費用について

**ChatGPTのAPIを用いるので少しだけお金が

元記事を表示

開発未経験がKotlinでAndroidアプリを作ってみた!〜カメラ制御と文字認識の実装奮闘記〜

こんにちは!

前回こちらの記事を投稿しました。

https://qiita.com/ararrararararaarrrr/items/5e28201b9e453150fd5b

今回はカメラ制御にCameraX、文字認識にML Kitを使用したアプリの開発過程で遭遇した困難と、その解決策を初心者なりに紹介できたらと思います。

## はじめに

今回開発したのは、カメラで電話番号を認識し、即座に検索できるアプリです。固定電話にかかってくる不審な番号を、素早く調べられるようにしたいと考えました。

## 開発環境のセットアップ

まず、Android Studioのインストールから始めました。
公式サイトからダウンロードし、インストールしましたが、初めて見る画面の数々に戸惑いました。
参考にしたのは、Android Developers公式サイトです:

https://developer.android.com/studio

## プロジェクトの作成と初期設定

Android Studioでプロジェクトを作成し、Kotlinを選択しました。
ここで最初の躓きがありました。G

元記事を表示

Intune で Android BYOD のスクリーンロックを制御する!

Intune でデバイスを管理するにあたり、**スクリーンロック**設定は人気の設定と思います。

特にモバイルデバイスなど、**ハイブリッドワーク環境での利用**が想定されるデバイスだと、一定時間無操作だった場合に**なにかしらロックする仕組みを入れたい**ものです。

**Android 管理**界隈では、Intune サービスリリース 2403 でコンプライアンスポリシーで構成可能な項目に追加があり[^3]、従来の構成プロファイルに加えてコンプライアンスポリシーでもスクリーンロックを構成できるようになりました!

選択肢が増えて嬉しい半面、**どういうときに何を選べばいいの?** という新たな疑問もあります…

これを機に、あらためて**それぞれの動作特徴を検証をもとにまとめ**ていきたいと思います!
まず特徴をまとめた後で、細かい挙動を掲載します。

本記事で扱う範囲は下表の通りです:
| # | カテゴリ |本記事の範囲 |備考 |
|:-:|:-:|:-:|:-:|
|1 | デバイス管理方式 | **BYOD** | 企業(お客様組織)が管理していない、

元記事を表示

リリース作業のしくじり

# はじめに
結論から言うと、以下二3点となります。
①リリース作業は業界一年目にやらせるなよw
②ちゃんとダブルチェックはやろうね
③ちゃんと使用している公式アナウンスはチェックしようね

IT業界20年近いですが、なんだかんだずーーっとリリース作業に関わってます。
その経験について少々話します。

とは言っても、あまりにも基本的なことしか記載しません。。
リリース作業の工夫とかテクニカルな記事では一切ございませんので、あしからず。

# 最初の仕事でやらかすリリースミス
業界最初にやったのがリリース作業でした。

今考えると正気の沙汰では無いですが、
客曰くやらせることがなかったから取り敢えずリリース作業を割り振ってみたw
だった気がします。

どうなったかというと、**案の定リリースミスを起こしましたorz**。
エンドの客に納品するソースコードのビルドが通らないと。。

ハッキリ言って渡された手順書もイケてなかったし、ダブルチェックもほとんどしない状態で納品物のまとめ作業も私が担当。。

作業を振る側もどうかと思いますが、振られた私も文句言えなかった私が悪いと言えば悪い。。

元記事を表示

【Unity】Andriodビルド時にInstalled Build Tools revision **** is corruptedのエラーが発生する

# はじめに
Niantic Lightship ARDKのサンプルプロジェクトをビルド時に以下のエラーが発生し、ビルドすることができない状態に陥りましたので、解決策を記録します。

https://github.com/niantic-lightship/ardk-samples

“`
* What went wrong:
Could not determine the dependencies of task ‘:launcher:compileReleaseJavaWithJavac’.
> Installed Build Tools revision **.*.* is corrupted. Remove and install again using the SDK Manager
“`

# 原因
GradleバージョンがARDKのサンプルプロジェクトとビルドしようとしているプロジェクトのバージョンがことなるため、Gradleが破損していると誤認識していることが原因です。

# 解消方法
Gradleのバージョン指定を修正することでビルドできるようになります。
具体的

元記事を表示

500時間かけて作成したアプリ、ダウンロード数は5件で全て社内の人間だった件について

## はじめに
26歳で4年間勤めた酒屋を辞め、未経験からIT業界に飛び込みました。
最初の一年は運用監視の仕事に従事し、その後、転職して開発の世界に足を踏み入れました。未経験でアプリのリリースまでを振り返りました。
誰にでもあるような普通の転職ストーリーかもしれませんが、もしよければご一読ください。

## 作成した経緯とアプリ
携帯電話にかかってきた電話番号であればアプリでブロック等出来ますが、固定電話にかかってきた電話番号は手入力で検索しなければいけませんでした。
着信画面をGoogle検索しているうちに電話は切れてしまいます。
そこでカメラから電話番号を認識して検索するAndroidアプリを製作しました。

https://play.google.com/store/apps/details?id=com.company.phonenumberOCR

1.png

元記事を表示

OTHERカテゴリの最新記事