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

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

AIで画像コンテンツを作成しつつFlutterでアプリ開発

## はじめに

どうも、@nittannittanです。

趣味でAndroid/iOS/Webアプリを作成しているアニメオタクです。

今回は、AIで画像コンテンツを作成しその画像を利用したアプリを開発したので、利用技術などを紹介したいと思います。

AIでの画像生成にはStable Diffusion Web UIを、アプリ開発にはFlutterを利用しました。

## AI画像生成へようこそ

まず手始めに、ローカル環境へStable Diffusion Web UIをインストールして操作方法や基礎的なことを学びました。
下記のサイトが参考になります。

Stable Diffusion web UIのインストールと使い方

### モデル探しの奇妙な冒険

なんとなく使い方が理解できたら次は生成したい画像にあったモデルを探す旅の始まりです。
下記サイトで探しわまったり、モデルを比較しているサイトもGoogle検索で見つかるので手当たり次第に試してみましょう。良し悪しがあって面白いです。

https://civitai.c

元記事を表示

ReactNativeでOSや端末ごとに条件分岐してみた【Platformを用いて】

OSや端末ごとに条件分岐して値を変更したり、表示するテキストを変更する必要があったので、記載していきます。

https://reactnative.dev/docs/platform

を参考に進めていきます。

# 概要
### Platform.OS
![スクリーンショット 2024-02-10 6.58.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/3f041baa-d4b0-8133-3b74-a812205eae34.png)
– OSをenumで管理しています

### Platform.isPad
![スクリーンショット 2024-02-10 6.58.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/0c95ba39-2aa2-2fcc-2e86-08bf8582d0e1.png)
– iPadかどうかを、boolean型で返します
### Platform.sele

元記事を表示

android studioフォルダ構成について

## はじめに
androidの学習を始めたので、プロジェクト内にある各フォルダの役割を確認しようと思います。
自分も初学者になりますので、初学者向けの記事になります。
※android studioでnew projectから「Empty Activity」を選択しております。

■環境情報
android studio:Runtime version: 11.0.13+0-b1751.21-8125866 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

■プロジェクトでの使用言語
Java

## manifests

“`AndroidManifest.xml

元記事を表示

reg-suitとroborazziを使用したVRTを実装してみる

## はじめに
こんにちは、こんばんは、佐藤佑哉ことさとゆーです。今回はreg-suitとroborazziを使用したVRTを実装してみようと思います。
## 動機
最近のインターンでxmlファイルからJetpack Composeへの移行をした際に、Jetpack Composeに入れ替える時、変更前と変更後の画面を目視で比較する必要があるため、レビューなどで漏れてしまうことがありました。これを機に、機械的に分析してヒューマンエラーをなくすための、VRTを触ってみたいと思うようになりました。

## 使用技術の紹介
この記事で紹介するVRTツールの技術はreg-suitとroborazziです。

## roborazziとは
roborazziとは、Android端末を使わずにJVM上でスクリーンショットを撮影することができるライブラリです。スクリーンショットテストライブラリとして開発されており、テスト中に画像のキャプチャを取得し、事前に取得しておいた期待する画面のキャプチャと比較することで検証を行うことができます。
reg-suitを用いたのは、CA.flutterなどでも紹介

元記事を表示

スマホのコンパスと現代的な環境

1.スマホのコンパス
iPhoneに古くから存在するコンパスアプリ、これがandroidスマホには無い。そのため、androidでも使えることを目指したコンパスアプリを開発する。
アプリの形態は、配布のコストを考え、ネイティブアプリではなくWebアプリとして実装する。

https://github.com/fresh-egg-company/compass

2.現代的な環境の感想
今回、初めてGithubでソースを公開し、markdownでREADMEを書いた。現代的な環境というのは、本当にブラウザで何もかも済んでしまうのだなぁ、としみじみ思った。もはや、Visual Studio Codeがブラウザ上で動いてしまえば、PCやMacを使わなくても、iPadやAndroidタブレットで開発ができてしまう。かつてプログラムを作るために100万円近い投資をしてPCを購入していたことを思い出すと、デジタル技術の変化のスピードは恐ろしいものだ、と実感する。

元記事を表示

Androidライブラリ

`ANDROID_NDK_HOME`は、Android NDKのインストールされているパスを示す環境変数です。環境変数を設定することで、システムがそのパスを自動的に見つけて、NDKを使用できるようになります。

Windowsでは、環境変数を設定するには以下の手順に従います:

1. コントロールパネルを開き、システムとセキュリティ > システムをクリックします。
2. 左側のパネルで「システムの詳細設定」を選択します。
3. 「環境変数」ボタンをクリックします。
4. 「システム環境変数」セクションの中で、「新規…」をクリックします。
5. 変数名に`ANDROID_NDK_HOME`、変数値にAndroid NDKがインストールされているパスを入力します。
6. OKをクリックしてダイアログを閉じます。

macOSやLinuxでは、通常は`~/.bash_profile`や`~/.bashrc`といったファイルに環境変数を設定します。例えば、次のように設定します:

“`
export ANDROID_NDK_HOME=/path/to/android/ndk
“`

元記事を表示

Google Fit APIとHealth Conect APIのまとめ

## [Fit Android API(Google Fit)](https://developers.google.com/fit/android?hl=ja)

#### できること

【アクティビティ】
– アクティビティ/エクササイズの種類(TYPE_ACTIVITY_SEGMENT)
– サイクリングのペダリングのリズム(TYPE_CYCLING_PEDALING_CADENCE)
– サイクリングのペダリング数(TYPE_CYCLING_PEDALING_CUMULATIVE)
– サイクリングのホイールの回転数(TYPE_CYCLING_WHEEL_REVOLUTION)
– サイクリングのホイールの1分間の回転数(TYPE_CYCLING_WHEEL_REVOLUTION)
– 移動距離(TYPE_DISTANCE_DELTA)
– 位置情報(TYPE_LOCATION_SAMPLE)
– 活動時間(TYPE_MOVE_MINUTES)
– エクササイズ中に生成した電力(TYPE_POWER_SAMPLE)
– 速度(TYPE_SPEED)
– 歩数(TYPE_STEP

元記事を表示

RecyclerViewを使ったリストの逆順表示をしたかった

# きっかけ
RecyclerViewを使ってimageのリストを逆順で表示させようとしたときにうまくいかないポイントがあったので書こうと思いました。

Android開発に携わり始めて一ヶ月である手前、寡聞少見ながら本記事を作成しております。
ご意見やアドバイスなどございましたら是非ともよろしくお願いします。

# やりたかった事
– `データをリスト表示させる時、
並びを逆順で(下から)表示させたい`
– `RecyclerViewにしたときに上部から下方向へむけて表示させたい`

# ためしたこと
**1. GridLayoutManagerを使って並べ替える**

“`kotlin:kotlin
//Adapter
//リサイクラービューのリスト、取得方法,数字はあくまで仮定
val exList = lis

元記事を表示

Android App Development

Android App Development!

Mobile applications have become a crucial part of our daily lives, transforming the way we communicate, work, and entertain ourselves. Among the various mobile operating systems, Android stands out as the most popular, powering billions of devices worldwide.

![Android App Development.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352567/17f7b22b-b3f2-f37b-ab45-1f428d5d8700.pn

元記事を表示

AndroidアプリのIntentの書き方

最近ChatGPT先生に教えて貰いながら自作Androidアプリを作っていました。
長らくWindowsやちょっとLinuxに慣れ親しんだ体にはAndroidのファイルアクセスが理解できなくて大変でしたが何とか動かせました。

最後の最後で躓いた部分をメモ

正しいコード
“`



【Android】Jetpack Compose楽々体験 文字列&画像配置編

# いろいろと楽にしてくれるjetpack compose
開発でfragmentやらを作った上にxmlでレイアウトを崩さないようにいろいろ調整するのが面倒でした。
おまけにその分時間をとられて作業がなかなか進まないために残業をしなければ終わらないっ・・・!
そんな時に出会ったのがこのjetpack composeです。
少し触ってみた感想は、**「kotlinファイルだけで画面を生成できるのは本当に楽!」** でした。

## 作ったもの
画面がかなり汚くなっていますが、文字列操作のテスト画面を作成しました。導入は`Empty Compose Activity`をプロジェクト時に選択するとgradleの設定をしなくてもよくなるので楽です。ただし、生成時に自動でついてくるactivity_main.xmlは使わないので削除します。
色や画像設定、文字列はリソースファイルからとってきています。

元記事を表示

[Android] Hiltを使ったテスト中のデータベース差し替え方法

## はじめに
ComposeのUIテストを行う際に、DBをin memoryに差し替えたいなと思って調べた結果を簡潔にまとめました!

## Custom test runnerの設定
HiltでのDB差し替えをテストで使うには専用のHiltTestApplicationを使う必要がある。なのでCustomTestRunnerを設定、gradleでそれを使うように指定する。

“`kotlin
class CustomTestRunner : AndroidJUnitRunner() {
override fun newApplication(cl: ClassLoader?, className: String?, context: Context?): Application {
// HiltTestApplicationをテスト用のApplicationクラスとして使用
return super.newApplication(cl, HiltTestApplication::class.java.name, context)

元記事を表示

Apple Silicon + Android Studio2023.1 + Android OS9環境でのアプリインストール問題の解決

### 問題
MacのApple Silicon端末において、Android Studio 2023.1(SDK Platform Tools 34.0.5)の最新版を使用し、Android OS 9を搭載した端末にアプリをインストールする際、Studioから「Run」する方法やADBコマンドを使用した方法でインストールができないという問題が発生しました。ビルド自体は成功しているようですが、その後のインストールに問題が生じています。なお、Android 12や13ではこの問題は発生していません。

### 問題が発生した環境
端末: Mac(M2 Pro)Apple Silicon
Mac OS: Sonoma 14.2.1
エディター: Android Studio 2023.1(SDK Platform Tools 34.0.5)

### 参考になった情報元
https://issuetracker.google.com/issues/270205252

### 解決方法
ADBコマンドが使える前提となりますが、Google Issue Trackerに報告されているよう

元記事を表示

Vulkan Extension Layer を使う Android アプリを RenderDoc でデバッグする

## 今回の結果の git コミット
fork した RenderDoc のリポジトリにコミットを追加してある.

https://github.com/James2022-rgb/renderdoc/commit/81e63e382068b9d8fffe79c69e012e5455a29226

後述の手順でビルドを行うと, VEL の `*.so` がパッケージングされた `org.renderdoc.renderdoccmd.arm64.apk` が生成される.

この APK を下記の手順で RenderDoc が使用するようにすると, VEL を使った RenderDoc キャプチャのリプレイが可能になる.

## 導入

### Vulkan Extension Layer (VEL)
Android に限らず Vulkan アプリで, ドライバがネイティブで対応していない拡張を用いるために,
polyfill layer である [Vulkan Extension Layer (VEL)](https://github.com/KhronosGroup/Vulkan-E

元記事を表示

Android Studio をインスト-ルしています。

Android Studio をインスト-ルしています。
インストールし始めて自分で本を読ながら時には自分でアプリを作ったりして約1年経ちます。
おかしくなったので、再インストールしています。

途中でSDKを指定するパスはどこか聞かれます。
それから先は進みませんがそれを無視すると

Unable to continue until an Android SDK is specifiedSelf-causation not permitted
Unable to continue until an Android SDK is specified

と言うメッセ-ジが表示されこれより先に進みません。訳すると

Android SDKが指定されるまで続行できない自己因果関係は許可されていません
Android SDKが指定されるまで続行できません

と言うことですが、どうしたら良いのでしょうか?

もう完全アンインストールしてインストールしています。何回も同じ結果です。

元記事を表示

ReactNativeでアプリのシステム設定画面に遷移する

起動しているアプリに関わるシステム設定の画面へ遷移する方法を記載していく。

公式ドキュメントを参考にする。

https://reactnative.dev/docs/linking?language=typescript#opensettings

## 内容
`Linking`ライブラリーを用います。
`Linking`はアプリのリンクを操作するためのインターフェイスを提供しています。

### ライブラリーをインポート
“`tsx
import { Linking } from ‘react-native’;
“`

### アプリの設定画面に遷移する

“`tsx

元記事を表示

【Android】動かしたViewをフェードアウトさせる【Kotlin】

# はじめに
前々回の [【Android】Viewをドラッグして移動させる【Kotlin】
](https://qiita.com/Tsubasa12/items/c0287069b5e8666c2de7)前回の [【Android】ドラッグしたViewを回転させる【Kotlin】
](https://qiita.com/drafts/4178c27c469ac3bc2c0d/edit)
に引き続き、今回はViewをフェードアウトさせるアニメーションを作っていきます。

# 実践

“` diff
+ lateinit var textView: TextView

@SuppressLint(“ClickableViewAccessibility”, “MissingInflatedId”)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_

元記事を表示

Androidアプリの制作フロー概要

昨今生成AIのおかげで個人開発のハードルが下がり、何かアプリを作りたいと思ってる人も多いと思います。

なのでAndroid向けアプリの概要(アプリ開発に必要なサービス等)について簡単に書いてみます。

– AndroidManifest.xml: アプリの構造やメタデータ、コンポーネント、パーミッションなどを定義するマニフェストファイルです。プロジェクトのルートディレクトリにあります。
– java: JavaやKotlinのソースコードファイルが入っているフォルダです。UIのコントローラーとして機能します。
– res: リソースファイルが入っているフォルダです。画像や音声、文字列、レイアウトなどが含まれます。
– drawable: 描画可能なリソースファイルが入っているフォルダです。ビットマップやベクター、シェイプ、レイヤー、ステートなどが含まれます。
– layout: UIのレイアウトを定義するXMLファイルが入っているフォルダです。ビューの階層構造を作成するために、子要素としてウィジェットを追加できます。
– values: 文字列や色、スタイル、テーマなどの値を定義す

元記事を表示

【Android】startActivity(intent) と startActivity(intent) + finish() の違い

## finish() ありか、なしか
### 画面遷移時 `finish()` あり
“`kotlin
val intent = Intent(this@LoginActivity, NextActivity::class.java)
startActivity(intent)
finish()
“`
– LoginActivity が終了し、バックスタックから削除される
– つまり、ユーザーが WebActivity を閉じた後にバックボタンを押すと、アプリは直接アプリのメイン画面や前の画面に戻る

### 画面遷移時 `finish()` なし
“`kotlin
val intent = Intent(this@LoginActivity, NextActivity::class.java)
startActivity(intent)
“`
– この場合、LoginActivity は終了せず、バックスタックに残る
– つまり、WebActivity を終了した後でも、ユーザーがバックボタンを押すと LoginActivity に戻る

## 挙動チ

元記事を表示

[Android] ActivityのTaskについて

## はじめに
画像シェア機能を扱う際にTaskやRecentについて色々と調査した結果を書き残しておきます。

## taskとは
Taskはアプリで使用する一連のActivityの集まりで、内部的にはBackstackを用いてActivityを管理している。
## task内のbackstackの挙動操作
ActivityのlaunchModeを指定することにより、Backstackの挙動を制御できます。設定方法は主に二つある:

1. AndroidManifest.xmlでの設定
2. Intentのフラグを使用した設定
### AndroidManifest.xmlでの設定
AndroidManifest.xml内で以下のように設定する:
“`jsx


“`
以下はlaunchModeのオプション:
* standard
* Backstackの最上部に新しいActivityインスタンスを追加する
* 異なるTask上に新しいActivityインスタンスを生成する

元記事を表示

OTHERカテゴリの最新記事