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

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

【パッケージ紹介】FlutterのアイコンはIconifyも使える

![スクリーンショット 2024-11-09 111937.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/844247/2f55001b-ec1a-7038-4288-aba2c37b48da.png)

# 今回紹介するパッケージ
https://pub.dev/packages/iconify_flutter
### install
“`bash
flutter pub add iconify_flutter
“`
### yaml
“`yaml
dependencies:
iconify_flutter: ^0.0.7
“`

## Iconifyとは
`Iconify`は、以下のような特徴を持つアイコンセットフレームワーク
`Figma`にプラグインがあるので、知っている人もいるのではないでしょうか?
– 多様なアイコンセットがある:
– 膨大なアイコンセットを混在させて使用できる
– 150,000個以上のオープンソースベクターアイコンが利用可能
– 必要なアイコンのみをロードす

元記事を表示

新卒時代のXMLをJetpack ComposeのArrangementで再現してみた

# 目次
– はじめに
– 新卒時代に書いた記事の説明
– JetpackComposeとは
– Arrangementについて
– Weightの制約

# はじめに
私は新卒時代、XMLのConstraintLayoutを使ってUIを作る作業には四苦八苦していました。
複雑なUIを複数のサイズが異なる端末で正しく表示する対応が必要でした。
現在、UI作成は苦労したXMLからComposeを利用する流れになりつつあります。

# 新卒時代記事の説明
新卒時代の記事では、ConstraintLayoutにおけるChainとWeightの利用方法を説明しました。今回は、この同様のレイアウトをJetpack Composeでどのように再現できるかを見ていきます。

[新卒時代に書いた記事はこちらです。](https://qiita.com/zooko/items/9105b6d6a90fb88abc6e)

# JetpackComposeとは
Jetpack Composeは2019年のGoogle I/Oで初めて発表され、2021年7月Jetpack Compose 1.0が正式にリリ

元記事を表示

ExpoなしのReact Nativeアプリケーションを作成するためのチュートリアル (windows)

# はじめに
Windows環境下でReact NativeアプリケーションをExpoなしで作成するチュートリアルが見当たらなかったため共有します。
基本的にはReact Native公式のドキュメント([環境構築](https://reactnative.dev/docs/set-up-your-environment), [アプリ作成](https://reactnative.dev/docs/getting-started-without-a-framework))に従います。
改善点や間違い等ありましたらコメントの方を何卒…。
# 対象
1. Windowsユーザ
1. Expoを利用したくない人
1. Androidでデバッグする予定の人
# 環境構築
以下の4つが必要となります。(エディタはお好みで)
| 名称 | バージョン |
|:-:|:-:|
| Node.js | >= 18.0.0 |
| JDK (Java SDK) | 17 (推奨) |
| Android Studio | 最新のもの |
| Android SDK | 34 |
| An

元記事を表示

Flutterの基礎をまとめてみた(3)

# Flutterのカウンターアプリについて

次は、Flutterで新しいプロジェクトを作ったときに自動で作られる「カウンターアプリ」について見ていきます。

### カウンターアプリって何?
![スクリーンショット 2024-11-07 14.50.40.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929117/9be21d2f-81a7-6b6a-6ef6-88a5459f514d.jpeg)

カウンターアプリは、ボタンを押すたびに数字が増える、とてもシンプルなアプリです。Flutterを学ぶときに最初に見ることが多いアプリで、どんなふうにアプリが動くかを知るための良い例です。

例えば、このアプリでは画面の中央に大きな数字が表示されています。そして、その下にあるボタンをタップすると、数字が1つずつ増えていきます。こうすることで、Flutterの基本的な画面作りや、ボタンを押したときにどう動くかなどを学ぶことができます。

### カウンターアプリの動き方
Flutterのカウンターアプリで

元記事を表示

Flutterの基礎をまとめてみた(2)

![ダウンロード (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929117/80a01506-ebd3-ac14-4f10-306434ddb46c.png)

# Dartってなに? – Flutterで使われる言語について

Flutterで使うのがDart(ダート)というプログラミング言葉です。Dartはとても簡単で覚えやすく、楽しくアプリを作るために作られた言葉です。ここでは、Dartの特徴を3つに分けて説明して、その後で基本の使い方を見ていきましょう。

## 1. シンプルで使いやすい言葉
985.png

Dartはプログラミングを初めてやる人にもわかりやすく作られています。

– **短い時間

元記事を表示

Flutterの基礎をまとめてみた(1)

# Flutterってなに?
![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3929117/5871ab9e-fb65-3de4-7b24-6faabd324eff.png)

## Flutter(フラッター)ってどんなもの?
Flutterは「フラッター」と読み、Google(グーグル)が作った便利なツールです。このツールを使うと、1回だけアプリを作れば、スマホやタブレット、パソコンでも同じアプリを動かすことができます。例えば、1枚の絵を描くだけで、いろんな画面にその絵が表示できる感じです!

Flutterを使うと、たくさんのプログラムを書く手間が減って、いろんな機械で動くアプリを一気に作れるます。

### マルチプラットフォーム対応って?
Android Studio環境構築・Windows

# はじめに

この記事では、Android Studioの環境構築を手順を追って解説します。細かい手順やスクリーンショットは、Windowsで進めるので、ご了承ください。

### 対象

次のいずれかに当てはまる人を想定して書きました:

– PCの操作もおぼつかないけど、スマホアプリを作りたいんだ!
– Android専用アプリを作るぜ!(IOS向けは今はいらないぜ!)
– Android Studioって評判良いから使いたいぜ!Googleのサポートも手厚いしね!
– 俺は絶対Kotlin + Jetpack ComposeでAndroid開発をする!これは決定事項だ!

# Android Studioをインストールする

以下のページにアクセスすると、Android Studioのダウンロードページになっているはずです。

https://developer.android.com/studio

結構デカく「Android Studioをダウンロードする」みたいなボタンがあるはずなので、これを押します。(スクリーンショットを置きたいのですが、どうもこのページはしょっちゅう

元記事を表示

flutterでapk fileを用いた実機テストを行う

flutter で android の実機テストを行いたいと思ったときのメモです。

# やりたいこと
flutter をbuildしたapk fileを各個人のandroidにいれてアプリを使えるようにする.
adbも考えましたが手軽なapkにしました。

## 環境
flutter 3.24.0
fvm 3.1.4
実機デバイス OPPO Reno5 A
Android version 12

## apk fileのbuild
プロジェクト直下(USBでdebugする際に`fvm flutter run`をする場所)
“`
$fvm flutter build apk
“`
これで自動的にリリースbuildされます。

c.f.
デバッグモードのAPKを生成
“`
fvm flutter build apk –debug
“`

プロファイルモードのAPKを生成
“`
flutter build apk –profile
“`

特定のABI(Application Binary Interface)向けのAPKを生成
“`
flutter build apk

元記事を表示

DataBindingとViewBindingの使い方と使い分け

# はじめに
既存のプロジェクトにDataBindig/ViewBindingのどちらを適用するか悩んでいましたが、画面によってロジックの複雑さが異なっていたため、使い分けて適用するのがベストかなと思い、使い分けたポイントと使い方について書いていきたいと思います。
そもそも、DataBindingとViewBindingについては簡単に説明すると以下となります。
– DataBinding
2015年に登場し、XMLで定義したレイアウトと、そのレイアウトで使用されるデータモデルの連携をし易くするのを目的として提供されました。双方向バインティングが出来るのが特徴です。
– ViewBinding
2019年に登場し、DataBindingに比べてシンプルかつ軽量な代替手段として提供されました。特に、シンプルなUIとロジックで複雑な双方向バインディングを必要としないケースでのViewの参照方法を簡単にするために設計されています。

これから紹介するコードは、ベースとなるプロジェクトが以下となりますので、参考にして頂ければと思います。

https://github.com/highcom/

元記事を表示

android os のスマホで google colaboratory を見たメモ

自分が調べた方法では上手くいかなかったので自分の環境で出来た方法を書いておく。
試した環境 デバイス AQUOS 、OS android バージョン13 、ブラウザ google Chrome
自分が調べた時は、スマホのブラウザだけでしか開けないというもの。Chrome で googleドライブにログインして ipynb ファイルを選択して開いても「サポートされていないファイル形式です。」と出て開けない。
そこで、ファイル名の右にある縦三点リーダー「︙」を押し「アプリで開く」を選択で ipynb ファイルを開くことができた。同じようにアプリの googleドライブ からも「アプリで開く」で開くことができた。

以上。

元記事を表示

adbコマンド

## 🎀 はじめに

(私が)よく使うadbコマンドをまとめます
システムアプリ(プリインストールアプリ)を作成時に使用しました

### 端末に接続 / 接続解除
“`
$ adb connect IPアドレス
$ adb disconnect IPアドレス
“`

### adb接続しているデバイス一覧
“`
$ adb devices
“`

### 端末再起動
“`
$ adb reboot
“`

## 🖥️ adbコマンド

adbコマンドを使うためにはUnixシェルにアクセスする必要があります
“`
$ adb shell
“`
もしくは、下記のコマンドの前に`adb shell`をつけてください


“`
$ adb sell pm disable-user アプリパッケージ名
“`

### システムアプリの無効化
“`
$ pm disable-user アプリパッケージ名
“`

### システムアプリの有効化
“`
$ pm enable アプリパッケージ名
“`
### システムアプリがどうか
“`
$ dumpsys pac

元記事を表示

Jetpack compose Modifierとは?

# 概要
JetpackComposeの`Modifier`について内容を雑にまとめる。

# 詳細

`Modifier`は、`Jetpack Compose`においてUIコンポーネントの外観や動作を変更するためのオブジェクト。`Modifier`を使用することで、コンポーネントのレイアウト、スタイル、アニメーション、インタラクションをカスタマイズすることができる。

## 主な特徴

– **関数型のオブジェクト**: `Modifier`は、関数型のオブジェクトであり、チェイン(.で繋げること。いわばメソッドチェーン)することで複数の修飾子を組み合わせて使うことができる
– **UIコンポーネントへの適用**: `Modifier`は、Composeの各UIコンポーネントに対して引数として渡され、特定のスタイルや動作を適用できる

## 主な用途

1. **レイアウトの変更**:サイズ、位置、パディング、マージンを変更
2. **スタイリング**: 背景色、ボーダー、影などの視覚的スタイルの設定
3. **インタラクションの処理**: クリック、タップ、ドラッグなどのユーザーイ

元記事を表示

【Android】ComposeでON_PAUSEで発火するイベントを設定する

## はじめに
ActivityやFragmentでは、onPauseやonResume等の関数をオーバーライドしてあげれば、Androidのライフサイクルで発火するイベントを設定できます。
Composeで作った画面でもAndroidのライフサイクルを監視してイベント発火するに「LifecycleEventObserver」を使って設定可能なようです。
今回はComposeでAndroidのライフサイクルであるON_PAUSEを監視し、イベントを設定する方法をまとめていきたいと思います。

## ComposeでON_PAUSEで発火するイベントを設定する
サンプルコードは以下になります。
“` sample.kt
@Composable
fun MyComposable() {
// Composeが所属するライフサイクルオーナ-を取得
val lifecycleOwner = LocalLifecycleOwner.current

// DisposableEffectを使用して副作用を設定
DisposableEffect(lifecycle

元記事を表示

Jetpack composeでのバックボタン制御について

# はじめに
今回はJetpackComposeでのバックボタン制御について少し話したいと思います
実装方法自体は依然記事を書いたのでそちらを参照してください
### 本文
さて、今回は話したい内容としてはバックボタン制御の伝播についてです。
コードの中身を見てみると引数で渡しているBool値でenableを切り替えています。
enableをfalseのときはBackHandlerのラムダに記述されたコードは実行されません。
その時にどういった挙動をするかというのがメインの話題になります。
何もみずに直感のみで答えるならAndroid準拠の何も制御してない状態と同じ処理をすると思います。
しかし実際にはそれよりも下のレイヤーで制御をしていた場合そちらを参照します。
ただしここで注意したいのが、特に何も記載しない場合はNavHost,composable(),Scaffoldで強制的にAndroid準拠のものに塗り替えられるということです

そのため上記三種類を使う場合はBackHandlerにfalseをわたしてあげないといけません
### さいごに
今回はBackHandlerの制御

元記事を表示

元Flutter使い、現iOSプログラマが、Compose Multiplatformに入門してみた

# はじめに

以前Flutterを使っていた経験から、現在はSESとしてiOSプログラマをしている[uehatsu](https://x.com/uehatsu)です。ちょっとCompose Multiplatformをいじる必要が出てきたので、連休を機会にさわり始めました。メモがてらまとめてみたいと思います。

https://www.jetbrains.com/ja-jp/compose-multiplatform/

# 環境構築

公式ホームページ通りにやったところ大きな問題はありませんでした。あえて言うなら以下の点で「あれ?」と思いました。

– Xcode 16.1をインストールした状態ではAndroid Studio上でシミュレータが正しく選べなかったので、Xcode 16.0にしたこと
– kdoctorがAndroid Studioのバージョンを正しく認識してくれなかったこと
– kdoctorが「Android Studio上で`Kotlin Multiplatform Mobile Plugin`をインストールしろ」と言うけど、そんなプラグインはなく`Kotli

元記事を表示

【Android】WebViewで動画をフルスクリーン再生する方法まとめ

# はじめに
何かとよく利用するWebViewですが、Web上の動画をフルスクリーン再生しようとした際にデフォルトでは全画面再生ができないのはご存知でしょうか?
Web側の実装ではフルスクリーン再生できるように調整済みだったとしても、Androidアプリ側で別途修正が必要になります。
そこで、今回はフルスクリーン再生するための実装を簡単ではありますが備忘録的にまとめておこうと思います。

# フルスクリーン再生する方法
フルスクリーン再生する仕組みとしては、WebViewの上にフルスクリーン化したViewを乗せてあげるイメージになります。
以下がその実装になります。

“`main.kt
binding.webView.webChromeClient = object : WebChromeClient() {
override fun onShowCustomView(view: View?, callback: CustomViewCallback?) {
super.onShowCustomView(view, callback)

元記事を表示

Jetpack ComposeのTextのAutosize

Jetpack Compose 1.8.0-alpha05 から `Text` で Autosize がサポートされるようになったので試してみました。
書いているのは 1.8.0-alpha05 時点の内容なので、実際の使用時には最新のドキュメントを確認ください。

## 使い方

material や material3 の `Text` ではまだ使用できず、foundation の `BasicText` を使います。

“`kotlin
BasicText(
text = text,
autoSize = AutoSize.StepBased(
minFontSize = 10.sp,
maxFontSize = 60.sp,
stepSize = 10.sp
)
)
“`

幅と高さを固定にしていた場合に、収まり切るようにテキストサイズが調整されます。

![Autosizeの例1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

UnityでAndroid14から15へアップデートする際に起きたこととその解決法

# はじめに
UnityでAndroid14から15へアップデートする際、またスムーズにいかなかったので、
エラー内容と解決法を紹介できればと思います。
Unityバージョンは2022.3.45f1で行いました。

# エラー:Unable to detect SDK in the selected directory.
ファイル参照先も存在し中身まであったにも関わらず、SDKが無いと怒られました。

![error_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3714377/73eae164-6dfb-e1fa-7df1-23fbdaf862cd.png)

こちらはUnityを再インストールし、プロジェクトを再起動すると解消されました。
インストール時に何か失敗していたのでしょう。

# エラー:Cannot parse project property android.enableR8=” of type ‘class java.lang.String’ as boolean. Expe

元記事を表示

Android SDKが年2回更新されるようになる

2024 年の TheAndroidShow で発表があった、Android SDK の更新スケジュールの変更について、わかっていることのまとめです。

https://android-developers.googleblog.com/2024/10/android-sdk-release-update.html?m=1

– Android SDK のメジャーアップデートが 2Q にリリースされる
– Android 16 が 2025/4~6 にリリースされる
– 新 OS でのテストがこれまでより早くする必要が出てくる
– メジャーアップデートとは別にマイナーアップデートが 4Q にリリースされる
– マイナーアップデートでは新しい API の追加があるが、動作の変更はない
– マイナーアップデートでは API レベルの値は変わらないが、メジャーと切り替えるためのマイナー API レベルの値が新しく追加される

![image2 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com

元記事を表示

NavigationとSafeArgsを既存プロジェクトに適用する

# はじめに
既存のプロジェクトでは、複数のアクティビティによる画面遷移の構成となっておりましたが、Androidアプリとしてデファクトスタンダードな構成とするため

– Single Activity, Multiple Fragments化
– Navigationによる画面遷移
– SafeArgsによるパラメータの引き渡し

を適用しました。
なので、この記事では上記の適用方法について紹介していきたいと思います。

# プロジェクトの設定
NavigationとSafeArgsのために、
Projectの`app/build.gradle`に以下を設定
“`gradle
buildscript {
dependencies {
classpath “androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3”
}
}
“`
appの`build.gradle`に以下を設定
“`gradle
apply plugin: ‘androidx.navigation.safear

元記事を表示

OTHERカテゴリの最新記事