- 1. 【Flutter】Gradleの基本と役割について
- 2. Capacitorで新規Androidアプリを立ち上げた時のエラー解消
- 3. [趣味開発]タスク管理通知アプリの開発 アプリ編
- 4. [趣味開発]タスク管理通知アプリの開発 ウィジェット編
- 5. ChatGPTにスマホアプリを作ってもらおうとして一苦労だった話
- 6. 【Flutter】Google認証(ログイン/サインイン)の実装
- 7. Gemini NanoをAndroid端末で動かすだけのメモ
- 8. テスト
- 9. AndroidやLinuxでも全デバイスを連携させよう!【Tailscale・KDE Connect・(NextDNS)】
- 10. 【Flutter】TODO / タスク管理アプリを作成する方法
- 11. サイバーエージェント様のAndroidブートキャンプに参加してみての感想
- 12. 【Flutter】HTTP通信の基本(GET / POST)- http / dio パッケージを比較 –
- 13. AndroidStudioでカスタムフォントを使用する
- 14. Android 現場新参画者向けのキャッチアップサポート資料について
- 15. Flutter環境構築にあたってバージョンを確認しておくべきツール
- 16. 【Android Java】HashMapの中でListを使う
- 17. MediaPipe ObjectDetection で一人歩きを発見する
- 18. 【 Flutter 】 個々のユーザに対してLINEメッセージ通知を送る機能の実現 (LINE SDK・LINE Messaging APIを利用)
- 19. Androidアプリ開発の個人メモ
- 20. Challenges of Creating a Multi-Platform Compose Application with Kotlin. Part 1
【Flutter】Gradleの基本と役割について
## 0. はじめに
FlutterでAndroidアプリを開発する際、Gradleというツールを使ってアプリをビルドしています。しかし、「Gradleが何をしているのか」や「エラーメッセージが出た時にどう対処すればいいのか」については、初心者の方にとって悩みの種になりがちです。この記事では、その**第一歩**としてGradleの基本的な役割や、Flutterでの使い方について、できるだけわかりやすく説明していきます(つもりです…)。あくまで基本の概要を理解するための内容となります。
なお、もし間違いや改善点がございましたら、ご指摘いただけますと幸いです。
## 1. Gradleとは?
Gradle(グレイドル)は、Androidアプリの開発において、プログラムや画像などを自動的にまとめて、アプリの実行ファイル(APKやAAB)を作るためのツールです。
また、ライブラリの依存関係を自動的に管理し、複雑なビルドプロセスを効率的に実行してくれます。https://docs.gradle.org/current/userguide/userguide.html
## 2.
Capacitorで新規Androidアプリを立ち上げた時のエラー解消
## 背景
Capacitorで新規Androidアプリを立ち上げようとした際、以下のコマンドを実行するとエラーが発生しました。実行コマンド
“`sh
npx cap add android
“`発生したエラー
“`
Could not open settings generic class cache for settings file ‘ファイルパス/settings.gradle’ (/ファイルパス/.gradle/caches/8.2.1/scripts/er3mpjmafek4dm6hp4m5k0z22).
BUG! exception in phase ‘semantic analysis’ in source unit ‘BuildScript’ Unsupported class file major version 66
“`## エラーの原因
このエラーの原因は、インストールされていたJavaのバージョンによるものでした。エラーメッセージ中の「Unsupported class file major version 66」は、Java 18以
[趣味開発]タスク管理通知アプリの開発 アプリ編
# [趣味開発]タスク管理通知アプリの開発 アプリ編
## はじめに
https://qiita.com/yydevelop/items/d81b0a9fe0595a7956c4
の続き## チェックリスト管理画面の追加
MainActivity.kt
“`kotlin
package com.example.taskreminderimport android.appwidget.AppWidgetManager
import android.content.ComponentName
import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compo
[趣味開発]タスク管理通知アプリの開発 ウィジェット編
![](https://storage.googleapis.com/zenn-user-upload/a8b1145ec5c7-20241006.png)
# [趣味開発]タスク管理通知アプリの開発 ウィジェット編## はじめに
今回は、物忘れが激しい自分向けに、簡単なウィジェットを使ったタスク管理アプリ「TaskReminder」を開発しています。備忘もかねてブログに残しておくこととします。
この記事では、まずシンプルなウィジェットを表示するところまでの手順を中心に説明します。## 1. プロジェクトの初期設定
### プロジェクト名: 「TaskReminder」
– Android Studioを開き、新しいプロジェクトを「TaskReminder」という名前で作成します。
– New → Widget → App Widget で TaskReminderWidget を自動生成します。
– ビルドし、ウィジェットが正常に表示されることを確認します。### 手順
– プロジェクト作成時に Empty Activity を選択し、Kotlinを使用します。
– ap
ChatGPTにスマホアプリを作ってもらおうとして一苦労だった話
# ChatGPTにスマホアプリを作ってもらおうとして一苦労だった話
## モチベーション
物忘れが激しい自分のために、「ウィジェットで定例/非定例のタスクをチェックできる」「タスク前に通知してくれる」Androidアプリが欲しかった。
似たようなものを探すが、両方満たすものはなかなかなく、日曜プログラミングで自作することに。## 進め方
当方、モバイルアプリ開発経験ゼロなので、ChatGPT(課金済み)にサポート(丸投げ)して作ってもらうことに## ChatGPTへ丸投げ
“`プロンプト
以下の要件のアプリを個人開発で作成します。
それまでにやることを具体的に抜けなく漏れなく教えてください
たとえば、アプリ名やコードなどもなるべく具体的に記載してください要件
・Andoroidのウィジェットとしてホーム画面に表示
・アプリでチェックリスト(時間とタスク名)を管理
・その日のチェックリストを表示
・チェックしないまま時間を過ぎたら通知
・翌日になったらチェックをリセットして再表示
“`
### 狙い
・とにかくコピペで済ませたい### 回答
![](https://
【Flutter】Google認証(ログイン/サインイン)の実装
## 1. はじめに
Googleアカウントを利用したログインは、ユーザーにとって簡単でセキュアな方法です。多くのユーザーが既にGoogleアカウントを持っているため、Googleでのサインインはアプリへのスムーズなアクセスを提供し、ユーザーエクスペリエンスを向上させます。
Flutterでは、FirebaseというGoogleが提供するサーバーサイドのモバイルアプリ開発用プラットフォームを使用するのが定石です。Firebaseを利用する事で、Googleアカウントでのログインをセキュアかつシンプルに実装できます。
本記事では、Flutterを使用してFirebase Authenticationを利用したGoogleアカウントでのログインを実装する手順を詳しく解説します。
## 2. 事前準備
### 1. Firebaseの設定
**1.1 [Firebase Console](https://console.firebase.google.com/)でプロジェクトを作成します。****1.2 FirebaseプロジェクトにFlutterを追加します。**
初回
Gemini NanoをAndroid端末で動かすだけのメモ
オンデバイスAIだとプライバシーとか、APIキーをアプリ内に置けない問題とか、コストの問題とか色々が解決するので魅力的ですよね?気軽にLLMを使いたいです。
2024/10/12の時点でのメモとして残しておきます。Gemini NanoもそのうちStableになることで、tester登録が要らなくなったり、簡単になるかもしれないです。
基本的には以下に従うだけです。
https://developer.android.com/ai/gemini-nano/experimental
サンプルアプリが公開されています。
https://github.com/android/ai-samples
が、ちゃんと手順を見ずにcloneしてAndroid Studioで起動するだけだと以下のようなエラーが出ます
“`kotlin
Failed to check model availability.
com.google.ai.edge.aicore.UnknownException: AICore failed with error type 2-INFERENCE_ERROR
テスト
テスト投稿
AndroidやLinuxでも全デバイスを連携させよう!【Tailscale・KDE Connect・(NextDNS)】
:::note warn
Cloudflareではうまく動いていなかったため修正しました
:::# 手持ちデバイスを全て連携させたい!
– ラップトップ (NixOS)
– デスクトップ (NixOS)
– スマホ1 (Android)
– スマホ2 (iOS)
– タブレット (Android)以上が私の使用しているデバイスですが、
「デバイス間でファイルを送るのに毎回 Discordや Google Drive を経由させるのはもう嫌だ!」
「Apple みたく全部同期してくれ!」そんな日頃の夢をようやく叶えました。
# KDE Connect
まずは KDE Connect です。主に Linux-スマホ間の連携のためのソフトで、
– Linux 版
– Android 版
– iOS 版があります。iOS ではかなり機能が制限されてしまいますが、
– 再生中のメディアの操作やボリューム操作
– 通知の同期
– クリップボードの同期
– 画像やその他ファイルの送受信
– マウスポインタの送信
– その他様々な機能などをローカルネットワーク経由で行
【Flutter】TODO / タスク管理アプリを作成する方法
## 1. はじめに
この記事では、Flutterを使って基本的な機能を持ったTODO / タスク管理アプリを作成します。Flutterの基礎を学びながら、簡単なアプリを作ってみましょう。
## 2. タスク管理アプリの主な機能:
1. **タスクの追加(作成)**:
画面右下の「+」ボタンをタップすると、ダイアログが表示され、タスク名と締め切りを入力してタスクを追加できます。2. **タスクの編集**:
リスト上の任意のタスクをタップすると、編集ダイアログが表示され、タスク名や締め切りを変更することができます。3. **タスクの削除**:
タスクを左または右にスワイプすると削除されます。4. **タスクの完了/未完了の管理**:
リストの右側にあるチェックボックスをタップして、タスクの完了状態を切り替え、完了したタスクは削除します。5. **タスクのソート**
タスクの並び順として、締め切り日 (deadline) が近い順にタスクを並べています。6. **端末のストレージへのタスクの書き込み・読み込み**
端末のローカルストレージにタスクを保存し、アプリが
サイバーエージェント様のAndroidブートキャンプに参加してみての感想
1. **イベント概要**
– 株式会社サイバーエージェント様にAndroidアプリケーションについての学習をしてもらった
– イベントの期間やスケジュール期間は7月から10月までの4ヶ月で1ヶ月に一度授業があり、次の授業までに課題を出せた人のみ次の授業を受けることができる。
2. **学んだこと**
– プログラミングの具体的な内容
– Navigation コンポーネントを使用した画面遷移
– Column、Rowを用いたレイアウト構築
– LazyColumn、LazyRowを使用した大量のデータ表示
– Kotlin Coroutines
– DataStore
– Serialization
– APKファイル
– 企業の方からの指導内容で特に印象に残った点
– データの永続化やSerializationは使用したことがなかったので、これからのアプリケーションで
【Flutter】HTTP通信の基本(GET / POST)- http / dio パッケージを比較 –
## 1. はじめに
アプリケーション開発において、HTTP通信は非常に重要な要素です。HTTP(Hypertext Transfer Protocol)は、クライアント(アプリ)とサーバー間でデータを送受信するためのプロトコルです。例えば、ニュースアプリがWebAPIを通して最新のニュースを取得したり、ユーザーが入力した情報をサーバーに送信してデータベースに登録する際に、HTTP通信が使用されます。
この記事では、代表的なHTTP通信パッケージである`http`と`dio`を比較し、さらに`httpbin`という登録不要のWebAPIに対して、GET / POSTリクエストを実装・動作確認する方法を解説します。
## 2. パッケージの比較
FlutterでHTTP通信を行う際に使われる主なライブラリとして、`http`パッケージと`dio`パッケージがあります。それぞれの特徴を以下の丸バツ表で比較してみます。
| 機能/特徴 | `http` | `dio` |
|————————–|——–|–
AndroidStudioでカスタムフォントを使用する
Android Studio version
**Android Studio Ladybug | 2024.2.1** になります
たくさんの記事でカスタムフォントの採用方法が記述されていますが、僕の環境だとどうしても.ttfファイルの読み込みが上手くいかなくて、かなり時間がかかってしまいました。
同じ状況に差し掛かった方もいるかと思いますので、情報を共有したいと思います。
## 1 通常のカスタムフォント導入方法
1. resを右クリック→ Android Resource Directory を選択する
1. Resource type: に Fontをして、OKをクリック
1. すると、res/fontフォルダが作成されます。
1. そして、そこから各外部からインストールしたフォント(.ttfファイル)を読み込ませると、カスタムフォントが使えるはずなのですが・・・
1. ![スクリーンショット 2024-10-08 21.44.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2428088/
Android 現場新参画者向けのキャッチアップサポート資料について
# 概要
新しい現場に参画する時、歴が浅いメンバー等は「どこからキャチアップして良いのか?」と疑問に思うメンバーがいると思います。
こういったメンバーにもなるべく早いキャチアップをしてもらう必要があると考えたため、新しい現場で以下が分かる簡単な資料を作成しました。**資料から分かるようにした内容↓**
・ソースコードキャチアップの流れが分かる
・アーキテクチャを理解できる
・API接続からUI反映までの流れが理解できる特にAPI接続からUI反映までの流れがわかってしまえば最低限のキャッチアップはできると考えたため、そこの内容を重点的に作成しました。
下記に、その当時作成した資料を展開。# 当時の資料
以下から当時の資料(クラス名やパス名等は省略しております。)↓↓↓——
* **Androidキャッチアップ観点**
* **言語は何か?**
* kotlin
* **UIは何を使用しているか?**
* Android view
* Jetpack Composeは未使用
* **アプリ初回
Flutter環境構築にあたってバージョンを確認しておくべきツール
| ツール | 確認コマンド |
|:-:|:-:|
| Flutter SDK | flutter –version |
| Dart SDK | dart –version |
| Xcode | xcodebuild -version |
| CocoaPods | pod –version |
| Android Studio | android-studio –version |
| Android SDK | sdkmanager –list |
| Gradle | gradle -v |
| JDK | java -version |
【Android Java】HashMapの中でListを使う
## ■概要 01
・ボタン、「北陸」013370「首都圏」013371 に対応したデータを作成。
![Screenshot_20241008-085536_YKKAPP – コピー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/a9ece82d-70dc-46e3-91e2-50f563e157cd.jpeg)“`java
private void CreateNounyuuCode_And_Hinbann() {
GlOpenHelper helper_select = new GlOpenHelper(getApplicationContext());
SQLiteDatabase db_select = helper_select.getReadableDatabase();String[] arr_item = new String[3];
//—- リストを空にする
Nounyu
MediaPipe ObjectDetection で一人歩きを発見する
## はじめに
はじめまして。ケアプラン作成は、いまだにエクセル使用している施設ケアマネジャーです。## 状況
私の勤める介護保険施設では、転倒リスクのある方が一人歩きをして転んでしまうことがあります。踏むとアラーム音がでるセンサーマットを使用していますが、複数個所で鳴動していたり、ケア中であったりと、人力での見守りでは限りがあります。## 目的
機械の力を借りて早期発見し、見守りにつなげ転倒を防ぎたい## 課題
施設内で一人歩き(独歩)の利用者を発見したい## 方法
MediaPipe オブジェクト検出タスクを用いて画像内の人(person)をカウントする。一人であれば何らかのシグナルを出す。## 結果
画像内の人をカウントして、一人の時にバウンディングボックスを描くことができた。## 今後の課題
一人であることがわかっても、その人が看護師であるか、介護士であるか、利用者であるかがわからないので、バウンディングボックスの人物を識別する必要がある。## 参考
https://ai.google.dev/edge/mediapipe/solutions/vis
【 Flutter 】 個々のユーザに対してLINEメッセージ通知を送る機能の実現 (LINE SDK・LINE Messaging APIを利用)
### 1. はじめに
flutter × LINE の実装って本格的なものは知見がWeb上にほとんどなかったので、思い切って記事にしてみました。
今回、具体的には、個々のユーザに対してLINEメッセージ通知を送る機能を実現します。そのためには、以下の手順に沿って実装する必要があります。
– LINEログイン機能を実装し、アプリでLINEログインを行ったユーザのIDを取得
– LINEメッセージ通知機能を実装し、上で取得したユーザIDを宛先として、メッセージ通知単に、LINEログイン機能の実装、LINEメッセージ通知機能を個別で試すことは簡単ですが、それらを実用的に利用するには、各機能を連携させて使用する必要があります。
上記の機能をFlutterで実装した解説記事が見つからなかったため、本記事で解説しようと思います。多くのFlutter開発者の方々の助けになれば幸いです。
### 2. LINEログイン機能の実装
LINE SDKを用いる事で、LINEログイン機能を実装することができます。
### 2.1 LINE Developersの設定
LINE SDK
Androidアプリ開発の個人メモ
– 簡単な画像はVector Assetに変換したものを使う方がいい
→pngにするよりも画像が劣化しないなどのメリットがあるhttps://developer.android.com/studio/write/vector-asset-studio?hl=ja#running
Challenges of Creating a Multi-Platform Compose Application with Kotlin. Part 1
*P.S. Looking for contributors for my Japanese language learning application which is described in this article, students are welcome too*
## Intro
Hello there. I’m creating an open source application **[Kanji Dojo](https://github.com/syt0r/Kanji-Dojo)** for some time already and here I’ll tell about my experience of creating an app using Kotlin and Compose Multiplatform, currently it supports Android, Windows, Linux and MacOS
Development started with early versions of Compose, when it was st