Android関連のことを調べてみた2021年01月07日

Android関連のことを調べてみた2021年01月07日
目次

[Unity] Prime31(ios)でのandroidのビルドエラー

# 状況
UnityにPrime13(iOS : Etcetera Plugin)を追加した。
iosでのビルドは問題なくできたが、androidのビルド時にエラーが起きた

# エラー内容
> What went wrong:
>
> Execution failed for task ‘:launcher:processReleaseResources’.
>
> Android resource linking failed
>
> /Users/ユーザー名/Desktop/Unity/プロジェクト名/Temp/gradleOut/launcher/build/intermediates/merged_manifests/release/AndroidManifest.xml:52: AAPT: error: unexpected element found in .

# 解決法
プロジェクトファイル内の `AndroidManifest.xml` のコードを変えた

“`(変更前)Androi

元記事を表示

【Android】スイッチボタンのつまみの画像をON/OFFで変更

まず、つまみ用の画像の設定

“`thumb_switch.xml





“`

次に、背景設定

“`background_switch.xml

元記事を表示

EncryptedSharedPreferencesのところで落ちる件

ただの備忘録なのであまり本質的でないです。

# 困ったこと
昨日まで動いていた開発中のAndroidアプリが、エミュレータ上で落ちる。

#どこで落ちているか
ここ。つまりEncryptedSharedPreferencesを開くところ。

“`kotlin
@Synchronized
fun getPreferences(): SharedPreferences {
val masterKey = MasterKey.Builder(getApplication(), MasterKey.DEFAULT_MASTER_KEY_ALIAS)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
return EncryptedSharedPreferences.create(getApplication(),
“my_app”,
masterKey,

元記事を表示

Android レビューダイアログ メモ

##参考記事

レビューダイアログの表示方法
https://ameblo.jp/highcommunicate/entry-12554726670.html

main_activityが解決されないエラー
https://teratail.com/questions/248389

元記事を表示

【iOS/Android】ネイティブアプリをAPIと繋ぎ込む時に便利なツール

# iOS/AndroidでAPIをつなぐ時に便利なツールを紹介します!

## [Chrome拡張のTalend API TesterでAPIテスト – Qiita](https://qiita.com/ktr1211/items/c16cb4f99f91b998af46)
APIが正常に動いているか、これでチェックします!
この記事わかりやすくて神ですよ!

## [Text Escaping and Unescaping in JavaScript](http://0xcc.net/jsescape/)
JSONに入っているUniCode、読みたいですよね?
そんな時はこれに打ち込めば!日本語に変換してくれて便利!!!

## [JSON Schema Tool](https://jsonschema.net/login#/)
あとは最後に、これ
JSONを入れるだけでスキーマを作ってくれます!楽チンですね

# まとめ
この記事で少しでも開発が捗ったら嬉しいです!

元記事を表示

InheritedWidgetの目的と使い方【Flutter】

# まえがき

`InheritedWidget`の使い方の基本をまとめます!

Flutterを勉強していてよくわからなくなるポイントの一つがこの`InheritedWidget`だと思います。

筆者自身、これを理解するのにかなり時間がかかったので、「こういう説明があったらよかったな」と思う説明を書きます。

なお、以下では、`InheritedWidget`クラスを継承したクラスのことを単に`InheritedWidget`と呼びますね。他の`StatefulWidget`なども同様です。

## 前提知識

FlutterアプリがWidgetのツリー構造でできていることを知っていて、`StatefulWidget`と`setState`は使えるものとします。

`BuildContext`の知識も少しだけ要りますが、「Widgetツリー内での位置を表現するもの」程度の理解で十分です。

それについてはこちらをお読みください。

[Flutterのcontextの「お気持ち」を理解する](https://qiita.com/agajo/items/93d75aafe87bd

元記事を表示

文字列(リソース名)で画像を取得してImageViewに貼り付ける(kotiln)

以前書いた記事
[画像名を文字列で指定してImageViewに貼り付けるコード(android)](https://qiita.com/marienplatz/items/d6081e629fec9bed22d1)

これにLGTMしていただいていたので見てみたのですが、微妙だったので書き直します(ついでにkotlinで)
リソース名からImageViewに画像をセットするメソッドは、swiftにはあるんですがkotlinだとありそうでないです。

ちなみにswiftでは

“`swift
imageView.image = UIImage(named:”hoge.png”)
“`
こんな感じでimageViewに画像をセットできます。

同じようなものをkotlinで再現してみます。

# resourceIdを文字列から取得

“`kotlin:StringExtensions.kt
fun String.getResourceId(context: Context): Int {
return context.resources.getIdentifier(this

元記事を表示

Android アプリ開発した際の躓きポイントを纏めてみた

#概要
とあることから、Google Maps APIを使用したAndroidアプリを作成することになったので、
参考にしたリンクを備忘録のために纏めました。

#環境編
##前提
[Androidコードディング規約](https://qiita.com/Reyurnible/items/2de397b80391189af8e4)
[もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版)](https://qiita.com/Gazyu/items/dafdb74c4aadf722da92?utm_source=Qiita%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9&utm_campaign=d50d3688f4-Qiita_newsletter_440_12_09_2020&utm_medium=email&utm_term=0_e44feaa081-d50d3688f4-33582113)

##Android Studio
[Android studio の Gradleについて調べてみた](https://qii

元記事を表示

【Unity】Android実機につないでビルドが出来ない時の5つのチェックポイント

**「あれ??何で実機が表示されないんだろう?」**

UnityでAndroid実機ビルド時の話。
そんな時にチェックする5つのポイントです。

## 1.端末とPCは本当につながっているか?

当たり前ですが、PCと実機がUSBケーブルでつながっていますでしょうか?
そして、USBケーブルは故障していませんか?

## 2.開発者向けオプションがONになっているか?

Android実機の開発者向けオプションは有効化しておく必要があります。

開発者向けオプションの出し方は[開発者向けオプション 出し方](https://www.google.com/search?q=%E9%96%8B%E7%99%BA%E8%80%85%E5%90%91%E3%81%91%E3%82%AA%E3%83%97%E3%82%B7%E3%

元記事を表示

Flutter で仕事したい人のための Widget 入門

# この記事について

Flutter の入門記事の中には、初学者にもわかりやすく説明しようとするあまり実際のアプリ開発で重要になる内容まで抜け落ちてしまったり、意訳や曲解によって誤解を与えてしまう内容が含まれることもあったりします。

この記事は、Flutter で本格的にアプリ開発を進める上で僕が先に知りたかったこと、詳しい説明がほしかった部分を、過去の自分と同じような Flutter 初学者向けに説明する記事です。

本来は公式ドキュメントを読みながら学習を進められるのが理想ではありますが、Flutter のドキュメントは全て英語であること、またある程度のアプリ開発経験があることを想定した難易度になっている(ように感じる)ことから、まずは日本語の記事を頼りに学習を進める方も多いと思います。この記事は、そんな方の役に立つ内容を目指しています。

この記事では、中でも Flutter の Widget に焦点を当てて書いています。

# 本文

## Everything is a Widget

Flutter には __”Everything is a Widget”__ とい

元記事を表示

collbackFlowをFirebase Realtime Databaseに使うといい感じ

## 概要

個人AndroidアプリでFirebase Realtime Database(略してRTDB)を使っているが、`ValueEventListener`のコールバックで実装する書き方がイマイチ好きではなかった。

そこで`collbackFlow` を使うと、RTDBとの接続をキレイに分離可能かつがStateFlow化できて、スッキリ書くことができた。
また、RTDBとの相性もよくて、値が何度も更新されてもFlowでちゃんと受け取れる。

## コード: 状態管理

例として、天気を取得する機能を実装するコードを紹介する。

StateFlowで管理する状態クラス
今回は分かりやすいようにSuccess内の変数を`WeatherInfo`にしている

“`kotlin
sealed class WeatherUiState {
// 値の取得成功
data class Success(val weatherInfo: WeatherInfo) : WeatherUiState()
// 失敗
data class Error(val me

元記事を表示

【Android】 DB上に保存しているレコードをCSV形式(カンマ区切り)で保存する。

## ご挨拶
かなり久々の投稿になります。少し雑談から。急ぎの方は横の目次からジャンプしてください。
2020年は今まで生きてきた中である意味衝撃的でエキセントリックな1年でした。
皆さんも環境の変化やコロナへの不安などで、心が落ち着かない毎日を過ごされたかと思います。

自分も働く環境など、いろんなものが今までからガラッと180度変わった1年でした。
まさか、BTSにハマるなんて思いもしなかったし。(この投稿を書きながら今も聞いています。)

そんな中でもこの投稿を(ひいてはQiitaを)見に来られた方は、何かしらのシステム(アプリ)を自分の手で作り出すことに夢中になっている方かとお見受けします。

自分が嫌になることが多いこの職業ですが、「自分はできる!」と信じて頑張って欲しいです。

自分が投稿しているものは深い技術のものではなく、素人程度の技術をシンプルに応用しているものが
多いです。
まだまだ勉強中の身ですが、アプリ開発をされている方の少しでもお役に立てれば幸いです。

## 今回の目的
DB上に保存しているレコードをCSV形式(カンマ区切り)で保存して、そのデータを取り込

元記事を表示

【Android】ウィジェット(Widget)のUIテストを書く

#はじめに
エンジニアであればUNITテストやUIテストを書いていると思います。
ActivityやFragmentは参考になるespresso等のテスト記事を多く見かけます。
しかし、ウィジェット([RemoteViews](https://developer.android.com/reference/android/widget/RemoteViews))のテスト方法がネット上を検索してもあまりなかったのでメモがてら残しておきます。

#仕様
まず、ウィジェットの仕様を考えます。
テストがメインなのでシンプルな仕様にします。
・Viewはボタンとテキスト
・ボタンを押すと1づつカウントアップ
・テキストの初期表示は0
・最大は12で最大を超えると0に戻る
・3の倍数で文字色が赤になる

#ウィジェットの実装
まずはウィジェットを実装して動かしてみましょう。

ウィジェットなのでAppWidgetProviderクラスが必要です。

“`kotlin:TestAppWidgetProvider.kt
import android.appwidget.AppWidgetManage

元記事を表示

Volley に headers を付加する(Kotlin)

Kotolin で Volley を使っていて、API アクセスの際に headers に認証情報を付加したかったので、やり方メモ

“`kotlin
val queue = Volley.newRequestQueue(this)
val url = “アクセス先 URL”

val stringRequest = object: StringRequest(Request.Method.GET, url,
Response.Listener{ response ->
val toastText = response.toString()
Toast.makeText(this, toastText, Toast.LENGTH_LONG).show()
},
Response.ErrorListener{
// Error 処理
})
{
override fun getHeaders(): MutableMap {
val headers = HashMap()
headers[“A

元記事を表示

AndroidアプリでUSBシリアル通信(usb-serial-for-android)

## やったこと
市販のAndroidタブレットとシリアルインタフェースを持ったデバイス間の通信をしてみました。
通信プロトコルは、素のシリアル通信と、modbusどちらでも成功しました。

## 構成イメージ
[リンク先](https://www.ratoc-e2estore.com/blog/2012/08/usb60mi-01)の構成図とほとんど同じような構成です。
今回、シリアル通信の知識はゼロからスタートしたので、このサイトを死ぬほど見て勉強しました。
とてもわかりやすく纏まっていて助かりました。このサイトがなかったら多分実現できてません。

## ライブラリ情報
usb-serial-for-android v2.2.2(https://github.com/mik3y/usb-serial-for-android/releases)
2020/4月ぐらいの話なので、バージョン古くてごめんなさい。

## 説明したいこと
当時はライブラリの使用方法について、ReadMeに書いてある内容があまり充実していなかったので、記事を書きたいと思っていました。
今は多少充実しているので

元記事を表示

ツイッターのツイートURLのリンクがAndroidのChromeで上手く表示できなかった件

## 0.初めに

既知で当たり前なのかもしれませんが、TwitterのAPIでツイート検索したURLをAndroidのChrome上で開こうするとおかしくなったのでメモ。

私はGASで試しているときに発見しましたが、GASだけの話ではないと思われます。

おま環の可能性もありますが、一応投稿します。

## 1.事象

GASでTwitter Standard search APIで検索して生成したツイートのURLが以下の形式だとAndroidのChromeでは開けない。

[GET search/tweets | Docs | Twitter Developer](https://developer.twitter.com/en/docs/twitter-api/v1/tweets/search/api-reference/get-search-tweets)

“`
https://twitter.com/i/web/status/(ツイートID)
“`

このURLで利用したHTMLのAタグのリンクをタップすると、一瞬、ツイッターのAndrodアプリが起動しようとしますが

元記事を表示

Flutterで作ったAndroidアプリをFirebaseで配布する

## 目次
1. アプリをビルドする
1. 事前準備
2. APKのビルド
2. APKファイルをFirebaseコンソールから配布

## 参考

– https://qiita.com/kasa_le/items/d23075d817f42e869778
– https://flutter.dev/docs/deployment/android

## 事前準備

### 1. build.gradleの変更

“`
buildTypes {
debug {
resValue “string”, “app_name”, “(d)アプリ名”
applicationIdSuffix “.debug”
versionNameSuffix “-d”
}
release {
resValue “string”, “app_name”, “アプリ名”
}
}
“`

### 2. マニフェストファイル変更

“`xml
// AndroidManifest.xml

元記事を表示

【Unity】Androidアプリでバックグラウンドに移行する方法

# 初めに

Unity で実装した Android アプリの話です。
Unity 側でアプリをバックグラウンドに移動させたかっただけなのですが、調べるのに時間がかかったので記事にすることにしました。

# 動作確認環境

– Unity 2019.4.13f1

# コード

“`c#
AndroidJavaObject activity = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”).GetStatic(“currentActivity”);
activity.Call(“moveTaskToBack”, true);
activity.Dispose();
“`

# 簡単な解説

初めに、Android ネイティブの機能を使うので、`Activity` を取得します。
`Activity` を取得するには、 `AndroidJavaClass` を使用してUnityPlayerクラスを取得し、そのクラスを使って `currentActivity` を`Andr

元記事を表示

【Android】検証端末の選び方 7つのポイント

# はじめに
みんな違ってみんないい、がAndroidの長所です。
サイズ、スペック、色、形、色んな機種があって選ぶのが楽しくなるAndroid。
選択肢が豊富でどれを買おうか選ぶのが楽しくなります。
しかし、開発者としては困ってしまう問題があります。

そうです。機種依存問題です。

Pixelで動いたのに別の機種で動かない。。。なぜなのか:cry:

少しでも多くの方に自分のアプリを使ってほしい、そのためには色んな端末でテストするより他ありません。では、どんなAndroid端末でテストすればよいのでしょうか?

# まとめ
Androidの検証端末を選ぶときのポイントを7つにまとめました。

| No. | ポイント | 説明 |
|:–|:–|:–|
| 1 | 素のAndroid | Android標準の動作 |
| 2 | OSバージョン | バージョン毎に動作が変わる |
| 3 | 端末シェア | 使っている人が多い端末かどうか? |
| 4 | 形状 | スマホ、タブレット、TV、Wear、車載 |
| 5 | 画面サイズ | スマホ

元記事を表示

【Android開発】GitHubActionsでCIやってみたい時の参考になる記事まとめ【ktlintとか】

## まずは最強の記事
[Github ActionsでマルチモジュールAndroidプロジェクトのCI環境を整えよう(ビルド/Slack通知/Danger/ktlint) – Qiita](https://qiita.com/hohohoris/items/f934beb4ea0b432af488)
この記事が今のところ最高です!
この記事を読んでわからない、動かないって時にはしたの記事を読みましょう!

## Danger?なにそれ美味しいのって時に読んでね
[Danger 導入した – Qiita](https://qiita.com/takakuda/items/2c796346323c7eb9242f)
Dangerの入門記事、これを読んでから公式ドキュメントにあたるとはやいですよ!

## ktlintをプラグインで使いたい時に参考にどうぞ
[【Gradle】ビルド時にktlint(に限らずタスク類)を走らせる【Kotlin】 – Qiita](https://qiita.com/wrongwrong/items/86dfda0cdad5de57e619)
ktlint っ

元記事を表示

OTHERカテゴリの最新記事