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

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

Ningbo Chem plus New Material Tec. Co., Ltd

Ningbo Chem-plus New Material Tec. Co., Ltd. was established in 2009. It is a technologically innovative company with independent research and development capabilities, self-support import and export rights and a professional service team. It mainly produces and sells fine chemicals such as paper chemicals, C6 oil repellent, and fluorine-free oil repellent. Chem-plus has multiple production bases in Zhejiang, Jiangsu, Fujian and South Korea.

元記事を表示

Flutter 個体識別IDの取得方法 iOS/Android

# デバイスIDの取得方法

実務でデバイスの個別識別IDを取得する必要が生じたため、その方法を共有します。まず、`flutter pub add device_info`を実行して、`device_info`パッケージの依存関係をプロジェクトに追加します。

次に、このパッケージをインポートします。

“`dart
import ‘package:device_info/device_info.dart’;
“`
# AndroidでのdeviceID取得方法
AndroidデバイスのIDを取得するには、DeviceInfoPluginを使用します。以下はその例です。
“`
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
print(‘Android Device ID: ${androidInfo.androidId}’);
“`
このコードは、非同期関数内で実行する必要があります。androidId

元記事を表示

Compose Material3に3つあるNavigationDrawerの違い

Compose Material3 には NavigationDrawer の実装が 3 つ存在しています。
自分でもどれがどのような見た目でいつ使うのかわからなくなるので、スクショ付きで残しておきます。

## 見た目の違いまとめ

|ModalNavigationDrawer|DismissibleNavigationDrawer|PermanentNavigationDrawer|
|:–:|:–:|:–:|
|| | ![Screens

元記事を表示

CordovaでUDPブロードキャストを受信する

前回の投稿で、ESP32に接続したセンサ信号をUDPブロードキャストしました。

 [ESP32で計測したセンサーデータをUDPブロードキャストする](https://qiita.com/poruruba/items/e19dce57d1b73795c683)

今回は、CordovaでUDPブロードキャストを受信するプラグインを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/0101d6d1-3077-3c1e-1a75-8c1bfed63e91.png)

アプリケーションは、ランダム画像を表示するクロックにします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/40adf3bd-bcac-6b40-3377-1dd7e9cc9dbe.png)

クロック表示画面には、ランダム画像提供サイトから取得される画像を背景画像として表示します。
もし

元記事を表示

Android で日本語でも色々なウェイトのフォントを使いたい

この記事は、[フラー株式会社のカレンダー | Advent Calendar 2023 – Qiita](https://qiita.com/advent-calendar/2023/fuller-inc) の 9 日目の記事です[^backstory]。

[^backstory]: 本当は違うネタを書くつもりでしたが、うまくいかず急遽思いついたことを書いてます。

8 日目は [いのりこ (id:inoriko711)](https://inoriko.hatenablog.com/about) さんで [弊社エンジニアリンググループ初、産休取得してみた](https://inoriko.hatenablog.com/entry/2023/12/08/115449) でした。

## はじめに

デザインの観点から、複数の Light や Medium といった色々なウエイトのフォントを使いたいということがあります。しかし、Android の標準では日本語フォントは Regular と Bold の 2 種類しか表示できないです[^default]。

[^default]: An

元記事を表示

jetpackComposeでPaLM APIを使うための環境構築

# 開発環境
MacBookPro(M2)

# 環境構築

[参考(PaLM API: Android のテキスト クイックスタート)](https://developers.generativeai.google/tutorials/text_android_quickstart?hl=ja)

### palmのAPIkeyを取得する
[このドキュメント](https://developers.generativeai.google/tutorials/setup?hl=ja)を参考に、APIを取得してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2255712/5bd448e6-8668-6c06-c5e0-c4a92d81ab55.png)

APIkeyですが、コンソールから確認できても取得ができなかったため、環境変数として実装しました。そのままapikeyを実装すれば動きました。

### APIクライアントをインストールする
[これ](https://dev

元記事を表示

Android: adb の使い方

## バージョンの確認

“`bash
adb version
“`

“`text
$ adb version
Android Debug Bridge version 1.0.41
Version 34.0.5-10900879
Installed as /home/uchida/Android/Sdk/platform-tools/adb
Running on Linux 6.5.0-14-generic (x86_64)
“`

## 接続しているデバイスを調べる

“`bash
adb devices
“`

“`text
$ adb devices
List of devices attached
123456789A device
“`

## Android の shell を使う

“`bash
adb -s 123456789A shell
“`

“`text
$ adb -s 123456789A shell
rk322x_box:/ $ uname -a
Linux localhost 4.4.126 #26 SMP PREEMPT Mo

元記事を表示

【Android Studio】覚えておくべきショートカット(Mac)

# 1. はじめに

この記事は、[NTTテクノクロスアドベントカレンダー2023](https://qiita.com/advent-calendar/2023/ntt-tx)シリーズ2の8日目の記事です。

こんにちは、NTTテクノクロスの岡崎と申します。
普段はモバイルアプリの開発アジャイルで行っています。

約5ヶ月前にiOS/Androidアプリの開発を始めました。
開発初心者だった私がつまずいた点についてお話ししようと思います。

# 2. ショートカット多すぎ問題

Androidアプリ開発では、IDEとしてAndroid Studioを使っています。
とても強力なIDEでショートカットが沢山あります。
もちろん時間をかけて1つ1つ覚えていけば問題ないと思います。

しかし、私は業務ではペアプロで凄腕エンジニアと一緒にコーディングを行っていました。
彼らは息をするようにショートカットを使います。沢山のショートカットを使いこなすわけです。

見ているファイルが急に変わったり、ウィンドウが出たり、
開発当初の私は何が起きたのか理解できず無事迷子になっていました。

技術のキ

元記事を表示

スマホ不要で動く!ARグラス”INMO Air2″の開発者モードを有効化する

# INMO Air2とは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/fecce79d-8a2e-42f9-b40c-14584cd3c30f.png)

2023年4月に発売された中国のINMO社が作った光学式のARグラスです。

最近まで、GREEN FUNDINGというサイトでクラウドファンディング経由で購入可能でした。
https://greenfunding.jp/lab/projects/7556

旧式のINMO Airでは、私の愛が爆発した[スライドを作って公開](https://speakerdeck.com/kotauchisunsun/inmoairwoshi-idao-sitemita-argurasunotoredoohujia-shuo)しています。
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/08356872-e816-4

元記事を表示

【Android】Glanceでウィジェット開発〜導入編〜

# 安定版リリース 🎉

https://developer.android.com/jetpack/androidx/releases/glance

Jetpack Composeライクにウィジェットを開発できる androidx.glance のバージョン 1.0.0 が9月に公開されました!

本記事では Glance 入門として簡単なウィジェットを開発します
– セットアップ
– GlanceでUI作成
– Material3のカラーシステムを利用

![hello_glance.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440643/4c8d8faf-6e16-ba57-e1ff-9043d43c8589.gif)

[作成したアプリ・ウィジェットのコードはGitHubで公開しています](https://github.com/Seo-4d696b75/glance-widget-demo/tree/hello-stateless)

# Glanceのセットアップ

“`gradle

元記事を表示

Android Studioのテンプレート機能で効率よくコードを書こう!

# Android Studioのテンプレート機能を活用しよう

Android Studioには2種類のテンプレート機能が存在します。

一つはFile and Code Templates、もう一つはLive Templateです。

### File and Code Templates

File and Code Templatesはファイルを作成する時にテンプレートから作成することができます。

デフォルトで用意されているものとしてはAndroifManifestやActivity、Fragmentなどのファイルがあります。

また、自分でテンプレートを作成することができるのでPrefarenceを扱うクラスや、String系のextensionなどを用意しておいたり、プロジェクトでのみの適用も可能なので、プロジェクト内での抽象化メソッドを使用するクラスなどをあらかじめ追加しておくと便利です。

追加方法はAndroidStudioのSettingsを開きEditor > File and Code template から+を押すと追加できます。
Nameはテンプレートのタ

元記事を表示

SharedPreferencesからDataStore移行で気を付けること

## はじめに
この記事は [Android Advent Calendar 2023](https://qiita.com/advent-calendar/2023/android) 8日目の記事です。

新人プログラマがアプリのリニューアルに伴い、SharedPreferencesから[Preferences DataStore](https://developer.android.com/topic/libraries/architecture/datastore)へ移行したお話になります。

:::note warn
本記事のスニペットの動作保証はしていません。サンプルとして記載しています。
:::

## SharedPreferencesからDataStoreへ移行

[公式コードラボ](https://developer.android.com/codelabs/android-preferences-datastore#6)に一括移行の実装が載っています。とても便利そうなのですが、実際にはアプリ影響が大きく怖いので一括での移行は行いませんでした。
`keysToMigr

元記事を表示

【Android】ログを出すためのライブラリなんて必要?という人(過去の私を含む)はいますぐ考えを改めよう。

## 最初に
皆さんロガーライブラリ使っていますか?
私は正直、社会人になって業務のアプリを開発するまで、標準出力で十分でしょ!!と思っていました。。。:sweat_smile:
この記事ではそんな考えの人間が考えを改めた経緯を記載したいと思います。
それでは行きましょう〜:writing_hand:

## そもそもログは必要?
大前提でこの疑問が出てくると思います。
私の個人的な考えですが、**ログは必要**だと思っています。
ログが必要なケースとしては以下が考えられます。
1. どこのフローを通ったのか開発中に確認したい時。
1. リリース後に出た不具合を解析する時。

ここで注目したいのは、最初の方です。

## 開発中のログ
これはプログラミングして開発しているとみんなが必ず一度はやる、プリントデバッグというやつになります。
どこの処理を通り、変数はどういった状態になっているかを一行ずつログとして出力する行為です。
地道ですが最終手段としては有効な方法の一つです。

ですがこの出力した情報は、あくまで開発中のみ必要な情報になります。
ですので、開発が終わったら消しておくべきで

元記事を表示

ExpoとAndroid Studioを使ってスマホアプリを立ち上げる

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今回はExpoとAndroid Studioを使って、シンプルなアプリケーションをエミュレータ上で立ち上げてみたいと思います。

# 用語
## Expo
React Nativeのためのツールセット。
React Nativeでのアプリケーション開発を簡単にするためのもののようです。

https://expo.dev/

## React Native
Reactをベースにしたフレームワーク。モバイルアプリケーションをJavaScriptやTypeScriptで開発するためのものみたい。

https://reactnative.dev/

## React
Webアプリケーションの開発に使用されるものらしい。JavaScript/TypeScriptを使用していることから、PythonでいうDjangoと関係性は近いのかなぁ?ひとくくりでは表現出来なさそうですが。。。
HTML/CSSをJavaScript/TypeScriptに埋め込んで書けるみたいです。
・・・ふ~ん・・・なんのメリットがあるんや・

元記事を表示

通信キャリアを騙った不正送金&マルウェア配布サイトを調査した

:::note warn
以下ご理解いただける方のみお読みください。

– 私(iron)が記載している投稿は **一個人の見解** であり、特定の企業や団体の見解や主張ではありません。一つの情報としてご覧ください。
– フィッシングサイトの URL については、**現在もアクセス可能なものも含みます**。
特定の目的がない限り基本的にアクセスしないことを推奨します。
– この記事は **注意喚起と同業の方への共有を目的として記載** しています。
ここに記載されたフィッシングサイトを模倣したりすると法令に違反する場合があります。ご注意ください。
:::

# 通信キャリアを騙った不正送金&マルウェア配布サイトを調査

## TL;DR

– 11/28(火)頃から au を騙ったフィッシング SMS(スミッシング)を確認。その後 11/30(木)頃から SoftBank を騙った同様のスミッシングを確認していることから調査。
– スマホ OS を判別し iOS であれば V プリカで送金するように促さす不正送金サイト、Android であればマルウェアをインストールするように促すマル

元記事を表示

AndroidStudioチートシート

# AndroidStudioチートシート

個人的な備忘録です.内容の薄さに関しては悪しからず.
変数として渡す際に面倒なので作りました.よく使うものを追加していきます.
Javaは長いためKotlinで記述しています

## 引数として渡す記述

Adapterはかなり無理やりです
UI関連は出来ればActivityとFragmentですることが望ましいです

||Activity|Fragment|Adapter|
|—|—|—|—|
|view||inflater.inflate|itemView
`ViewHolder(itemView: View)`|
|findViewById|findViewById|view.findViewById|itemView.findViewById
`ViewHolder(itemView: View)`|
|context|this|requireContext()|holder.itemView.getContext()
`onBindViewHolder(holder: ViewHolder,`|

元記事を表示

Google Play (Androidアプリ)の新しい個人アカウントのルールについて考える

> as well as steer users away from lower-quality ones
> Googleは、ユーザを低品質なアプリから遠ざける取り組みを発表しました。

https://android-developers.googleblog.com/2023/11/ensuring-high-quality-apps-on-google-play.html

# Google Playの新しい個人アカウントのルール

この時点でかなりのパワーワードなのですが、そのための新しい個人アカウントのルールが発表されました。この背景には、アプリのインストール数と、ユーザのエンゲージメントの量が約3倍も変わるアカウントのアクティビティの差があったということです。そのアクティビティとは、 __公開前にアプリのテストツールを使うか使わないかだったということです。__

Google Play Consoleのテストツールには「内部テスト」「クローズドテスト」「オープンテスト」がありますが、個人開発者アカウントがアプリをリリースするためには、「クローズドテスト」を少なくとも2週間

元記事を表示

【自分用メモ】「TextView.text = ″文字列″」と「TextView.append( ″文字列″)」の違い

執筆中。帰宅後に追記。

「TextView.text = ″文字列″」は
TextViewに文字列を『そのまま入れる』

「TextView.append(″文字列″)」は
TextViewに文字列を『追記する』

以下の天気アプリのコードのように

「TextView.text = ″文字列″」のパターンと「TextView.append(″文字列″)」のパターンでは画面の表示のされ方に違いが出る。

元記事を表示

Win11にAndroid Studioをインストールしエミュレートしてみる

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今回はWin11にAndroid Studioをインストールし、仮想的なAndroidデバイスを立ち上げてみたいと思います。

# 用語
## Android Studioとは?
公式サイトが以下となりますが、”Androidアプリ開発用の公式の統合開発環境(IDE)”と記載しておりますね。
これを使うことでPC上に仮想的なAndroidスマホを用意して、それを使って作成したアプリの挙動を確認出来たりするみたいなので、見てて面白いなぁというかワクワクする感がハンパないです。

https://developer.android.com/studio/intro?hl=ja

# 手順
以下の公式サイトよりダウンロードを行います。
ダウンロード時に利用規約が表示されるので、読んで同意にチェックしましょう。

https://developer.android.com/studio?hl=ja

PCのダウンロードフォルダにexeファイルがあると思いますので、それを実行します。
Nextを押下して次に進みます。

元記事を表示

Flutter 再入門

# はじめに

YUMEMI Flutter Advent Calendar 2023 の7日目の記事です。

https://qiita.com/advent-calendar/2023/yumemi-flutter

著者は、普段は主に Swift/Kotlin でモバイルアプリ開発をしています。Flutter 自体は2019年頃にデモアプリの開発で採用したことがあるものの、その後継続して利用する機会がありませんでした。
直近で、 Flutter で開発されたモバイルアプリを Swift/Kotlin に置き換えるプロジェクトに参加し、既存コードの解析を目的として、Flutter に再入門するきっかけとなりました。

# Flutter Kaigi

今年の11月に Flutter Kaigi が開催され参加しました。

https://flutterkaigi.jp/2023/

基調講演では、Flutter/Dart の8年の歴史について紹介され、成熟している印象を持ちました。開発中はホットリロードで素早く修正を反映し、リリース時はコンパイルされプラットフォームに最適化されたコ

元記事を表示

OTHERカテゴリの最新記事