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

Android関連のことを調べてみた2022年04月15日
目次

NCMB Kotlin SDKを使ってTodoアプリを作る(その3 タスクデータの表示)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。[前回はタスクデータの保存について解説しました](https://qiita.com/goofmint/items/92d1021dbebd7e7c1644)ので、今回は保存したデータの取得と表示、そしてデータ削除を解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## タスクデータの取得

データストアに保存したタス

元記事を表示

RemoteMediator + Paging3 + Room + ViewModel で既読機能、削除機能付きのRecyclerViewを作る。

# RemoteMediator + Paging3 + Room + ViewModel で既読機能、削除機能付きのRecyclerViewを作る。
参考

https://qiita.com/que9/items/59cc988bfd92d0acea07

https://qiita.com/snichi/items/822b1f015458c503be5a

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2612874/61b9362d-e507-34c3-4931-00c3fef471d6.png)

図のように既読、削除機能付きのネットワークPagingを作ろうとしたとき、RemoteMediatorを使った網羅的な解説が見当たらなかったので、いろいろと探し回って得た知見を書いておこうと思います。
特に、日本語、javaの最近のandroid技術紹介ページが少なくなっているので参考いただければと思います。

#### 1.RemoteMediatorの設定

基本は、上記`AP

元記事を表示

NCMB Kotlin SDKを使ってTodoアプリを作る(その2 タスクデータの保存)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。前回は[画面の仕様とSDKの初期化について解説しました](https://qiita.com/goofmint/items/8b0b566ad213a6215d94)ので、今回はタスクデータの保存について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## ナビゲーションの振り分け

今回は以下のようなナビゲーション

元記事を表示

NCMB Kotlin SDKを使ってTodoアプリを作る(その1 アプリの仕様とNCMBの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## ベースについて

今回はKotlin + Jetpack Composeの組み合わせになっています。プロジェクトを作る際には Empty Compose Activity を選択してください。

## Composeについて

元記事を表示

NCMB Kotlin SDKを使って日報アプリを作る(その3 データの取得と一覧表示)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使って日報アプリを作ってみます。[前回はログインとデータの保存について解説しました](https://qiita.com/goofmint/items/ba8d8176b518af5273b1)ので、今回は保存したデータの取得と一覧表示について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_DailyReport](https://github.com/NCMBMania/Kotlin_DailyReport)にアップロードしてあります。

## 日報データの取得

日報データの表示は `ListScreen` にて行います

元記事を表示

NCMB Kotlin SDKを使って日報アプリを作る(その2 ログインとデータの保存)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使って日報アプリを作ってみます。[前回は画面の仕様とSDKの初期化について解説しました](https://qiita.com/goofmint/items/5c0178e691dccdd42ade)ので、今回はログインとデータの保存について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_DailyReport](https://github.com/NCMBMania/Kotlin_DailyReport)にアップロードしてあります。

## ナビゲーションの振り分け

今回は認証前提とし、認証していない場合はLoginSc

元記事を表示

NCMB Kotlin SDKを使って日報アプリを作る(その1 アプリの仕様とNCMBの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使って日報アプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_DailyReport](https://github.com/NCMBMania/Kotlin_DailyReport)にアップロードしてあります。

## ベースについて

今回はKotlin + Jetpack Composeの組み合わせになっています。プロジェクトを作る際には Empty Compose Activity を選択してください。

![ScreenShot_ 2022-04-12 17.

元記事を表示

unity Android でステータスバーの高さを取得する方法

![Screenshot_20220414-002120 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2123950/31cef996-a292-b221-7fd2-2b4968326813.png)

unityでAndroidにビルドする際、コンテンツが隠れないようにするため、ステータスバー(通知とか充電の部分)の高さを取得したいことがあります。
明確な記事がなかったので、その方法を記載しておきます。

# コード

“`.cs
#if !UNITY_EDITOR && UNITY_ANDROID
using (var unityPlayer = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”))
{
using (var activity = unityPlayer.GetStatic(“currentActivity”))
{
using (var

元記事を表示

NCMB Kotlin SDKを使ってカメラメモアプリを作る(その3 データとファイルの表示)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってカメラメモアプリを作ってみます。[前回はデータを保存する処理について解説しました](https://qiita.com/goofmint/items/dc335c55e6dd5c981c9a)ので、今回はその保存したデータの表示について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Camera_Memo: Kotlin SDKを使ったカメラメモアプリです](https://github.com/NCMBMania/Kotlin_Camera_Memo)にアップロードしてあります。

## 一覧画面について

![Sc

元記事を表示

NCMB Kotlin SDKを使ってカメラメモアプリを作る(その2 ファイルアップロードとデータ保存)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってカメラメモアプリを作ってみます。[前回は画面の仕様とSDKの初期化について解説しました](https://qiita.com/goofmint/items/59f4c23d3245aae1388d)ので、今回はデータを保存する処理について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Camera_Memo: Kotlin SDKを使ったカメラメモアプリです](https://github.com/NCMBMania/Kotlin_Camera_Memo)にアップロードしてあります。

## ナビゲーションバーの読み込

元記事を表示

NCMB Kotlin SDKを使ってカメラメモアプリを作る(その1 アプリの仕様とNCMBの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってカメラメモアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Camera_Memo: Kotlin SDKを使ったカメラメモアプリです](https://github.com/NCMBMania/Kotlin_Camera_Memo)にアップロードしてあります。

## ベースについて

今回はKotlin + Jetpack Composeの組み合わせになっています。プロジェクトを作る際には Empty Compose Activity を選択してください。

元記事を表示

【Android】サービスの概要とサンプルコード

今回はバックグラウンドで処理を実行できるサービスについての説明とサンプルコードをご紹介したいと思います。

## 環境
Android Studio:2020.3.1 Patch 4
kotlin:1.5.31
targetSdkVersion:31
minSdkVersion:27

## サービスとは
サービスとは Activity が終了した状態でもバックグラウンドで処理を継続して実行することができるアプリコンポーネントです。
Activity と異なり UI(ユーザーインターフェース)は持ちません。
用途としてはバックグラウンドでのサーバーとの通信、ファイル入出力、音楽の再生などが挙げられます。

## サービスの種類
サービスには次の3種類があります。

#### バックグラウンドサービス
通常のサービスです。
Activityが終了した後も何らかの処理を継続的に行うことができます。
アプリが終了したときは処理を停止します。

#### フォアグラウンドサービス
ユーザーが存在を認識できるサービスです。
Activity が終了した後だけでなくアプリが終了した後も動作し続けま

元記事を表示

Android6.0 ApacheHTTPClientからURLConnectionへの置き換え

*自分が失敗したならあと10人は失敗しているだろう(ゴキブリ理論)*
タイトル対応中にmultipartで詰まった、ということで失敗備忘録です。
# multipartでテキストと画像データをPost
### 以下を参考に実装
https://qiita.com/informationsea/items/778d9525c3aaded73577
### 問題発生
サーバーへテキストと画像を送信できた。がしかし、テキスト内の日本語が文字化けしている。
1.日本語以外(英字/数字)は文字化けなし。
2.画像は壊れることなく送信できている。
### 原因
`DataOutputStream`への書き込みを直接`writeBytes`で実装しているため、
`AndroidOS`標準の文字コード(UTF-8以外のなにか(未調査))でエンコードされていた。
### 対応
`writeBytes`は使用せず、一度StringBuilderであつめてからByte変換するようにした。
“` java:RestUtility.java
// 以下内容は参考元より多少の改変をしています
final Str

元記事を表示

Unity 2021 で Assets/Plugins/Android/res フォルダが使えなくなった際の対応

# 環境
– macOS(Apple Silicon)
– Unity 2021.3.0f1

# 事象
– 通知用アイコンやアプリ名のローカライズファイルを `Assets/Plugins/Android/res` に配置していたら Unity 2021で Android ビルドできなくなった

# 対応方法
– AARファイルではなく、「Android ライブラリプロジェクト」 なるものを作成して対応しました
– https://docs.unity3d.com/ja/2022.1/Manual/AndroidAARPlugins.html の「AAR プラグイン」じゃなくて下部の方
– AARファイルを zip コマンドや Android Studioから生成するという方法を複数の先人の方々が書いてくださっていたのですが、何かが至らなかったのか自分の環境だと上手く動きませんでした?

# 手順
– `Assets/Plugins/Android` 直下に `CustomAndroidResource.androidlib` (フォルダ名は何でも大丈夫ですが、 `.andr

元記事を表示

Android EditTextで大文字英数字のみ入力可能とする

# はじめに
EditTextにて大文字の英字と数字のみ入力可能としたかったので、android:inputTypeで良いものがないかを探していました。
`textEmailAddress` `textUri`等は日本語も入力できてしまうのでダメでした。

結論、色々試したところ`textVisiblePassword`を使うとIMEから日本語がなくなったためこれを使用しました。
また、大文字を強制したいため`textCapCharacters`も追加し、android:digitsの指定も行いました。

IMEを開いた時点で大文字入力モードとなっており、小文字は入力できません。
# コード

“`xml
【メモ】Kotlinのクラスと継承

## はじめに
改めて継承などについて学んだので、かなりコンパクトにまとめました。
※間違っている部分があれば指摘していただけますと幸いです。

## 用語の概要

– クラス階層
– クラスが親と子の階層構造で構成されている配置のこと
– 階層図は通常親が子の上に表示するように描かれる
– 子・サブクラス
– 階層構造で他のクラスの下にある全てのクラス
– 親・スーパークラス・基底クラス
– 1つ以上の子クラスを持つ全てのクラス
– ルート・トップレベルクラス
– クラス階層の最上位(またはルート)にあるクラス
– 継承
– 子クラスが親クラスの全てのプロパティとメソッドを含む(継承する)ことを意味する
– これによりコードの共有や再利用が可能になる

## 抽象クラスとは?

– 完全に実装されていないため、インスタンス化出来ないクラスのこと
– スケッチのようなもの
– スケッチ(抽象クラス)を使用して、実際のオブジェクトインスタンスをビルドするための設計図(クラス)を作成する
– 宣言は`abstract`で始める

元記事を表示

Unidirectinal data flow をまとめる

# 前書き

jetpack composeには、「状態」をうまく扱う仕組みが整っている。この仕組みを構築している思想に単方向データフロー(Unidirectinal data flow)がある。ドキュメントの[状態ホイスティングのところ](https://developer.android.com/jetpack/compose/state)にもさっくり書いてある。
PureなUnidirectinal data flow を知りたくなったので(そんなものがあるのかも含め)、以下参考に超シンプルに実装した。

[Unidirectional data flow on Android using Kotlin: The blog post](https://proandroiddev.com/unidirectional-data-flow-on-android-the-blog-post-part-1-cadcf88c72f5)
(part1 ~ part3)

# Unidirectinal data flow

Unidirectional data flowとはざっくりいう

元記事を表示

工場勤務だった私がAndroidエンジニアになるために参考にした教材

# 初めに
今回は工場勤務だった私が、半年の勉強期間でAndroidエンジニア目指した際に、使った本を記事にします
今、Androidエンジニアを目指していたり、これからの選択肢にAndroidエンジニアという道がある人の参考になれば幸いです。

# 勉強の際に使った教材
まずは、Androidプログラミングの基礎を学ぶためにこの本を選びました。
(Androidエンジニアの先輩にオススメして頂きました)
初心者からAndroidプログラミングを学ぶ上でまず必要だったものが、
**言語を覚えること** です。
Androidアプリ制作に必要なソフトである Android StudioをPCに入れ
「いざ!アプリ作ってやるぞー!」と立ち上げてみても何がなんだかさっぱりわかりません。
また、言語を覚えてもコードの書き方がわからない なんてこともありました。

ですので、以下のふたつの本を主な資料として勉強しました

https://www.amazon.co.jp/%E4%BD%9C%E3%82%8C%E3%81%B0%E3%82%8F%E3%81%8B%E3%82%8B-Androi

元記事を表示

【Android】WebViewで表示されるIframe動画をフルスクリーンで表示する方法

# 概要

WebViewでYouTube動画をフルスクリーンで表示する方法をまとめる

# アプリに必要な権限をリクエストする

“`xml:AndroidManifest.xml




“`

“`ts:src/main/java/com/example/online_sekkyaku_tablet/MainActivity.kt

class MainActivity : AppCompatActivity() {

元記事を表示

M1環境でFlutterアプリを動かすまで

# はじめに
Mac M1環境でFlutterアプリを動かすまでの流れを書き留めたものです。
2022年4月現在の情報です。動かそうとしたらUIが変わってたりすることがあるかもしれません。

# この記事のゴール
– AndroidStudioを使用して、Androidエミュレーター上でFlutterアプリを起動させる
– 今回はXCodeはインストールしなくて大丈夫です。
– FlutterSDKに[fvm](https://fvm.app/)を使用する
– [asdf](https://github.com/asdf-vm/asdf)という手もありますが、fvmを使うことにします。

# 大まかな流れ
– Android Studioをインストール・初期設定をする
– [fvm](https://fvm.app/)をインストールする
– Flutterアプリを作る
– Android Studioでアプリ動かす

# Android Studioをインストール・初期設定をする
Android Studioをインストールした上で、Flutter向けに初期設定をしていき

元記事を表示

OTHERカテゴリの最新記事