Android関連のことを調べてみた2022年09月08日

Android関連のことを調べてみた2022年09月08日

vistaでandroid studio その18

# 概要
vistaでandroid studio 1.0.1やってみた。
jniが、やりたいので調査。

# jniの仕組み

cソースをコンパイルして、soを作る。
– ndkをインストール。
– src/main/jniフォルダを作る。
– src/main/libsフォルダを作る。
– hello.cを書く。
– Android.mkを書く。
– ndk-buildにpathを通す。
– ndk-buildを実行して、hello.soを作る。

apkにsoを挿入する。
– gradleを書いて、soを挿入。

“`
sourceSets {
main {
jni.srcDirs = []
jniLibs.srcDir “src/main/libs”
}
}
“`
javaソースを、書いて、jniを呼び出す。
– System.loadLibrary(“hello”)
– private native

以上。

元記事を表示

vistaでandroid studio その17

# 概要
vistaでandroid studio 1.0.1やってみた。
jniが、やりたいので調査。

# andoroid studio調査

|バージョン|発表時期|vistaで確認|
|:–|:–|:–|
|2021.2.1.16| 29 8月 2022
|2021.2.1.15| 27 5月 2022
|4.2.2| 2 7月 2021
|4.2.1| 18 5月 2021
|4.1.3| 25 3月 2021
|4.1.2| 22 1月 2021
|4.1.1| 11 11月 2020
|4.0.2| 7 10月 2020
|4.0.1| 17 9月 2020
|4.0.0| 24 6月 2020
|3.6.3| 22 4月 2020
|3.6 (64-bit)| 25 2月 2020
|3.5.2| 2 12月 2019
|3.4.2 (64-bit)| 1 8月 2019
|3.4.1 (64-bit)| 18 6月 2019
|3.2.1.0| 25 1月 2019
|3.1.4.0| 14 9月 2018
|2.3| 3 3月 2017
|2.2.3| 15

元記事を表示

メモ:Android 12(API Level 31)で通知のアプリアイコンをタップしてもアプリが起動しない現象について

原因

これ。

https://developer.android.com/about/versions/12/behavior-changes-12?hl=ja#notification-trampolines

通知トランポリンが正式名称らしい。
対応方法は各自で調べて下さい。

元記事を表示

flutterにUnityを組み込むflutter unity widgetの使い方

# fluter unity widget
https://pub.dev/packages/flutter_unity_widget

https://github.com/juicycleff/flutter-unity-view-widget

flutterにunityを組み込むやつ

# unity側
### version
unity2020以前のバージョンでも行けるらしいが,少なくとも僕がやった限りではうまくいかなかった.
unity2021以降を使ったほうが確実だろう.

### モジュールの追加
まずモジュールを加えるから,下のようににチェックをいれインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730711/f6d54f48-a35a-4da3-afc8-42e7216ce83d.png)

https://developer.android.com/games/develop/build-in-unity?hl=ja

# flutter側
###

元記事を表示

Android View Bindingを組み込む

# はじめに
学習記録
View Bindingを使用してビューを直接参照する
# View Bindingを導入
build.gradle(Module: ~)のandroid {・・・}内に以下を追加
“`java:build.gradle
viewBinding {
enabled = true
}
“`
# レイアウトとActivity
“`java:activity_main.xml

Androidアプリ開発をして気づいたメリット

# はじめに
Androidアプリ開発をしていて気づいたメリットを3点を紹介。iOSアプリ開発との比較記事ではなく、個人的に思ったことを記述。

# 開発しやすい
生産性が高く開発ができる。理由としては以下の2点が挙げられる。

#### Android Studioが使いやすい
Android StudioはIntelliJ IDEAをベースとした統合開発環境。IntelliJ IDEAに関して[こちらのリンク](https://pleiades.io/help/idea/discover-intellij-idea.html)には、生産性を高めるだけでなく楽しい体験を提供するとのこと。確かにプログラミングが楽しい。

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

https://www.jetbrains.com/idea

#### Kotlinが使いやすい
Kotlinは2011年に登場した比較的新しい言語。簡潔に書けるので生産性が高く、エラーも抑えられる。

https://kotlinlang.org/

# 多くの人に

元記事を表示

【Flutter】検索機能の実装方法

## 初めに
この記事ではコンテンツを検索する際の簡単な検索機能を実装します。
検索機能はSNSなどをはじめ、様々なアプリに実装されており、自身で実装する機会もあるかと思います。ここでその実装方法を学習しましょう!

## 記事の対象者
+ アプリに検索機能を実装したい方
+ TextField の活用方法を学びたい方
+ Riverpod を用いた動的な機能の実装方法を学びたい方

## 完成イメージ
![search_example.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609901/fcf8b9c3-a31e-d037-c103-a5d258f2d7e0.gif)
上のように、検索している時としていない時で AppBar のアイコンや ListView の表示する項目を変更しています。
また、 ListView のタイルを押すと次のページへ遷移するようにしています。

## 全体コード
全体のコードは以下の通りです。

“`dart: search_page.dart
import

元記事を表示

カメラの画面でUnityアプリ!? THETA XでUnityを使ったプラグイン開発。

## はじめに
リコーの[YuukiS](https://qiita.com/Yuuki_S)です。
弊社ではRICOH THETAという全周囲360度撮れるカメラを出しています。
RICOH THETA V, RICOH THETA Z1, RICOH THETA Xは、OSにAndroidを採用しています。Androidアプリを作る感覚でTHETAをカスタマイズすることもでき、そのカスタマイズ機能を「プラグイン」と呼んでいます(詳細は本記事の末尾を参照)。

## ついにTHETAに液晶ディスプレイが!
2022年7月22日に発売された[THETA X](https://theta360.com/ja/about/theta/x.html)には、タッチ可能なディスプレイが搭載されています。
これにより、これまでのTHETAでは出来なかったカメラ単体でのライブビューやプレビューが可能になり、撮影体験が向上しています。
さらに、従来のTHETA VやZ1と同様にAndroidを搭載していますので、Androidアプリも画面に表示し操作する事が可能です。

せっかくAndroidが動いて

元記事を表示

コピペでFlutterサンプル その6

[前の記事 コピペでFlutterサンプル その5](https://qiita.com/netineti512/items/33655116850741105099)

[参考](https://docs.flutter.dev/cookbook/effects/parallax-scrolling)
“`sample.dart
import ‘package:flutter/material.dart’;
import ‘package:flutter/rendering.dart’;

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {
const MyApp({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
the

元記事を表示

コピペでFlutterサンプル その5

[前の記事 コピペでFlutterサンプル その4](https://qiita.com/netineti512/items/432f7b7856f452c886e9)

[参考](https://docs.flutter.dev/cookbook/effects/photo-filter-carousel)
“`sample.dart
import ‘dart:math’ as math;

import ‘package:flutter/material.dart’;
import ‘package:flutter/rendering.dart’ show ViewportOffset;

void main() {
runApp(
const MaterialApp(
home: ExampleInstagramFilterSelection(),
debugShowCheckedModeBanner: false,
),
);
}

@immutable
class ExampleInstagramFilterSelection

元記事を表示

vistaでandroid studio その16

# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。

# 練習問題
この画像を使って、走る人を表示せよ。

![sprite-animation4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/e93b05e1-6516-1de3-9cce-d781128ba335.png)

# 方針
– アセットを使う。
– ハンドラーを使う。
– カスタムビュー作る。
– drawbitmap使う。

# 参考にしたページ

https://qiita.com/shunXnegi/items/566540696ec1623d2b45

# 写真

![device-2022-09-05-055410.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/3f5c7e22-70a4-d742-5bb1-840f808c841f.png)

# サンプルコード

“`

元記事を表示

Hyper-V仮想Windows11の中でAndroidアプリ実行チャレンジ(AMD環境)

[ついに日本でもAndroidアプリがWindows上で動作 ~「Amazon アプリストア」プレビュー版が一般提供 – 窓の杜](https://forest.watch.impress.co.jp/docs/news/1434767.html)
↑の記事でも紹介されているように、MS公式のAndroidアプリエミュレータ機能が提供されたので、これをHyper-V上で動いている仮想Windows11で実行できるか試してみました。

# 結論
親機がWindows10の場合、AMDプロセッサマシンではHyper-V仮想マシン内でAndroidエミュレートはできません。
理由は以下です。Windows11以降でないとダメでした。

> 前提条件
> AMD EPYC/Ryzen プロセッサ以降
> * Hyper-V ホストは、Windows Server 2022 または Windows 11 以降である必要があります

参照:[入れ子になった仮想化による仮想マシンでの Hyper-V の実行](https://docs.microsoft.com/ja-jp/virtualizati

元記事を表示

【Android】LiveDataでの初期化処理をEventで対応する

## 概要
ViewModel / LiveData / Observer を使用するとViewModelからのイベントを次のようにView側(Activity/Fragment)に通知することができます。

しかし、通常の実装では **一度だけ実行したい処理(Fragmentの遷移時等)に不都合** が発生する場合があります。

SampleFragmentでボタンクリック→ViewResultFragment遷移→戻るボタンでSampleFragmntに戻る

この様な状況では **SampleFragmentがObserveしているLiveDataの値が代入されているので再度ViewResultFragmentに遷移する処理が走ってしまいます。**

このような問題を解決するために今回はEventラッパークラスを作成して対応していくサンプルを作成したいと思います。

## 問題の挙動を確認してみる

ここでは簡単にボタンをタップするとViewModelでデータを取得後、次Fragmentに遷移し、先ほど取得したデータを表示するサンプルを作成します。

“`kotlin:S

元記事を表示

vistaでandroid studio その15

# 概要
vistaでandroid studio 1.0.1やってみた。
センサー使ってみた。

# 写真

![device-2022-09-04-065255.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/1b235462-70db-be04-608f-b48eb5159da0.png)

# サンプルコード

“`
package com.ohisamallc.ohiapp154.ohiapp154;

import android.content.Context;
import android.content.Intent;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.hardware.Sensor;
import android.hardware

元記事を表示

【Android】画面を縦方向、横方向で固定する

# はじめに
今回はAndroidアプリ内で画面を縦画面、横画面でそれぞれ固定する方法を記事にします。
基本的に、指定がない場合は 端末を縦にすれば縦画面に、横にすれば横画面になるのがデフォルトです。
ですが、レイアウトやデザインによっては画面の回転に対応できないケースもあります。
そういった場合には、それぞれ指定してあげる必要があります。
# 指定方法
AndroidManifest.xml の manifest → application → activity に
”screenOrientation”
を追加します。

横画面に固定するには

“`

“`

縦画面に固定するには

“`

“`

また、縦横以外にも指定方法があるので表でまとめておきます。

|screenOrientationの値|説明|
|:—|:—|
|unspicified|デフォルトの状態、自動回

元記事を表示

【AndroidStudio】Kotlinでボタンに画像とテキストを表示する方法

AndroidStudioでボタンに画像とテキストを表示させたいときはButtonタグにdrawableStart等を使ってやれば,ボタンの中に画像とテキストを表示することができる.しかし元々drawableに用意していた画像を表示させたくなった時,画像が大きいと画像がボタンに収まりきらない.これは小さいサイズの画像を作ることで簡単に解決できるが,別の解決方法が知りたかった(画像を作るのが面倒だった)のでdrawableStart等を使わずに表示する方法を載せる.
# 完成イメージ
完成したときのイメージはこんな感じ.
![2022-09-04 (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671458/612babec-90bc-cd1a-2a2f-b273e6cce09a.png)

# ボタンの見た目を作成
ボタンの見た目を作成するためにまずレイアウトファイルを作成する.
layoutフォルダで右クリック → New -> XML -> Layout XML Fileの順にクリック → 

元記事を表示

コピペでFlutterサンプル その4

[前の記事 コピペでFlutterサンプル その3](https://qiita.com/netineti512/items/e715d50a55b9d1fcaf8e)

[参考](https://docs.flutter.dev/cookbook/effects/nested-nav)
“`sample1.dart
import ‘package:flutter/material.dart’;

const routeHome = ‘/’;
const routeSettings = ‘/settings’;
const routePrefixDeviceSetup = ‘/setup/’;
const routeDeviceSetupStart = ‘/setup/$routeDeviceSetupStartPage’;
const routeDeviceSetupStartPage = ‘find_devices’;
const routeDeviceSetupSelectDevicePage = ‘select_device’;
const routeDeviceSetupC

元記事を表示

コピペでFlutterサンプル その3

[前の記事 コピペでFlutterサンプル その2](https://qiita.com/netineti512/items/990c936b54df3993b029)

[参考](https://docs.flutter.dev/cookbook/effects/download-button)
“`sample1.dart
import ‘package:flutter/cupertino.dart’;
import ‘package:flutter/material.dart’;

void main() {
runApp(
const MaterialApp(
home: ExampleCupertinoDownloadButton(),
debugShowCheckedModeBanner: false,
),
);
}

@immutable
class ExampleCupertinoDownloadButton extends StatefulWidget {
const ExampleCupertinoDownlo

元記事を表示

Android 9,10,11での外部ストレージへのCSV出力不具合

## はじめに
– Qiita初投稿です。読みづらい箇所、不適切な箇所があるかもしれません。その際はコメントで指摘していただけると幸いです。
– CSV出力をする際に結構苦戦したので、自分用のメモとして残します。

## 環境
Android Studio Chipmunk | 2021.2.1 Patch 2

## 対象OS
Android 9,10,11

“`build.gradle
android {
compileSdk 31

defaultConfig {
// ~省略~
minSdk 26
targetSdk 31
// ~省略~
}
// ~省略~
}
“`

## 不具合内容
Androidアプリで、DBの内容をスマホのストレージへCSV出力をしたいが、エラーが発生し、機種によっては出力できない。
今回はDownloadフォルダへアクセスしたいが、できない。

#### エラーメッセージ
“`
/jp.hogehoge W/System.err: jav

元記事を表示

コピペでFlutterサンプル その2

[前の記事 コピペでFlutterサンプル その1](https://qiita.com/netineti512/items/583bfdfb6b141894679f)

[参考](https://docs.flutter.dev/cookbook/animation/opacity-animation)
“`sample1.dart
import ‘package:flutter/material.dart’;

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
const MyApp({super.key});

@override
Widget build(BuildContext context) {
const appTitle = ‘Opacity Demo’;
return const MaterialApp(
title: appTitle,
home: MyHomePage(title: appTitle),

元記事を表示

OTHERカテゴリの最新記事