- 1. 使用したクーポンコードを指定したエンドポイントにポストバックする
- 2. [Android][iOS]Crashlytics導入メモ
- 3. 今更Build Testable Apps for Androidを見て驚いたところメモ
- 4. YoutubePlayerSupportFragmentがandroid11でinitializeに失敗するエラー(Service Missing)の対処法
- 5. 【Flutter】Firebase環境構築(iOS/Android)
- 6. ADBでよく使うコマンド一覧
- 7. [Unity + Android + Windows] Android SDK 29を入れようとしたらsdkmanagerに怒られた
- 8. 【Android】NavigationViewを使わないで、スライドするメニューをつくる
- 9. MacでAndroidをビルドする際に参考にしたサイト
- 10. docomo らくらくホン F-02J 物理ボタンのキーコード一覧
- 11. 【Lv1】イベントとリスナ【Android/Kotlin】
- 12. 無料VPNアプリのすゝめ
- 13. WorkManager
- 14. [Android][NDK]ndk-buildについて
- 15. Android カスタムView
- 16. 2020年になってNexus 6Pに古いAndroidバージョンのFactory Imageを焼こうとしたら妙に苦戦したのでメモを残す
- 17. 【Android】Navigation Safe Args でリソースファイルに指定された値をデフォルト値として渡したい
- 18. Jetpack Compose 湯婆婆!!
- 19. WebViewをSwipeRefreshLayoutやViewPager等に配置し、NestedScrollできるようにする方法
- 20. DataStoreのProtoBufの定義をdata classに書けると嬉しい
使用したクーポンコードを指定したエンドポイントにポストバックする
広告の成果計測等のために、使用されたクーポンコード等の情報を含めて計測システムのエンドポイントへポストバックする必要がある際の成果通知の仕方です。
今回はHttpURLConnectionを利用しました。
# security configの設定とmanifestの設定
設定するポストバック先のURLがhttps://〜であればこの設定は不要です。
Android 9(Pie)では暗号化されていない通信はできない、つまりhttp://ではじまるURLへの通信はデフォルトでは不可能です。
※設定するURLがhttps://で始まればこの手順は必要ありません。
## security config設定app/xmlディレクトリに以下のファイルを作成します。
“`network_security_config.xml
[Android][iOS]Crashlytics導入メモ
# 1. Androidメモ
## build.gradle(app)への設定の注意
“`
Execution failed for task
‘:app:uploadCrashlyticsMappingFileRelease’.
> Expected file collection to contain exactly one file, however, it contains no files.
“`
とかいうエラーが出た時の原因と対処**前提**
build.gradleで「minify true」を設定している場合、ビルド時に難読化が適用され、mapping.txtが作成される。
「minify false」の場合、ビルド時に難読化されず、mapping.txtは作成されない。**原因と対処**
「minify false」かつ「mappingFileUploadEnabled true」を設定すると、ビルド時にmapping.txtが作成されていなくても、FirebaseSDKはmapping.txtをFirebaseにアップロードしようとして、上記のエラーが発
今更Build Testable Apps for Androidを見て驚いたところメモ
# 概要
去年のIOで少し古い動画なのですが、すごくいい動画なので、見てみてください。
**特に驚いたポイントを太字にしています。**
かなり端折っているのでおかしいなって思ったら動画の方を確認してください。解釈が違いそうっていう所があればコメントか修正リクエストをください :bow:# テストにおいて、キーとなるアトリビュートはスコープ
スコープは一つのメソッドでテストがアプリケーションのどのぐらいカバーしているのか、または複数の機能、複数の画面にまたがることはできる。
**スコープはテストの他の2つのアトリビュートに影響を与える。**
→ スピード
ミリ秒単位で終わるものもあれば何分もかかるものもある。
→ **Fidelity(忠実さ)**
テストケースのシミュレートが、どのぐらい本当の世界のシナリオに近いか。スコープを広げれば広げるほど、テストのFidelityは上がる。しかし、逆にスピードを遅くする。一つのテストではすべてにおいて一番いいものはできない。テストのバランスを見るに
YoutubePlayerSupportFragmentがandroid11でinitializeに失敗するエラー(Service Missing)の対処法
##背景
android11の端末でのみYoutubePlayerSupportFragmentを利用して動画を再生したがinitializeの時にエラー(Service Missing)を返却して再生できなくなった。
コード上でerror表示はあったがビルドは通るしandroid10までの端末では問題なく再生できたので調査を行った。##対処法
以前投稿した[android11でTextToSpeechが動作しない時の対処法](https://qiita.com/iKimishima/items/466a54bedf6deb87986b)とほぼ同じ方法で動作するようになった。
マニフェストのqueriesに以下のように追加すると動作するようになります。“`AndroidManifest.xml
・・・
・・・
【Flutter】Firebase環境構築(iOS/Android)
##参考文献
– [Flutter アプリに Firebase を追加する](https://firebase.google.com/docs/flutter/setup?hl=ja)
– [cloud_firestore 0.13.6 ](https://pub.dev/packages/cloud_firestore/versions/0.13.6)
– [firebase_core 0.5.2](https://pub.dev/packages/firebase_core/install)
– [64K を超えるメソッドを使用するアプリ向けに multidex を有効化する](https://developer.android.com/studio/build/multidex)
– [【Flutter実践】Firebase環境構築と、Firestoreのデータを取得してアプリで表示](https://www.youtube.com/watch?v=IiEsyHiIwxc)#iOS編
###1. Firebaseプロジェクト作成
[![Image from Gy
ADBでよく使うコマンド一覧
## はじめに
ADBでよく使うコマンドを紹介します。
## 「ADB」とは?
「Android Debug Bridge」の略で、Android端末とやりとりするための多用途なコマンドです。
アプリのインストールやアンインストール、クラッシュログの出力など、さまざまな操作が行えます。## 環境
– Android Studio:4.0
– adb:1.0.41## ADBのパスを通す
ADBを使うには、Android Studioをインストールし、パスを通す必要があります。
以下の記事をご参考に行ってください。
[Android SDK Platform-Toolsのパスを通す方法 – Qiita](https://qiita.com/uhooi/items/a3dcc15f7e15ae11d1d6)## ADBでよく使うコマンド
### グローバルオプション
|オプション|説明|
|:–|:–|
|`-s {シリアル}`|対象シリアルの端末を使う|`-s` オプションを使うと、対象にしたい端末を確実に指定できます。
後述する `adb devic
[Unity + Android + Windows] Android SDK 29を入れようとしたらsdkmanagerに怒られた
2020年11月2日からAndroidアプリのアップデートをする際に**targetSDKバージョン29以上が必須**になったらしい
# sdkmanagerでAndroid SDK 29を入れてみる
この記事を参考にAndroid SDK 29を入れようとしてみた
しかし、sdkmanagerさんに以下のエラーで怒られます
“`
C:\Program Files\Unity\Hub\Editor\2019.4.10f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin>sdkmanager.bat “platforms;android-29”
Exception in thread “main” java.lang.NoClassDefFoundError: javax/xml/bind/annota
【Android】NavigationViewを使わないで、スライドするメニューをつくる
スライドするメニューは`DialogFragment`で作成しました。
Activityの上に、DialogFragmentが被さるイメージです。# アニメーションの作成
## 左から右へスライドするアニメーション(res/anim/slide_in.xml)“`xml
“`
## 右から左へスライドするアニメーショ
MacでAndroidをビルドする際に参考にしたサイト
macでunityをビルドしてAndroid実機でテストする方法
https://note.com/pes88/n/n2141cffd2f8fUnityでAndroidにビルドする(Mac)
Unity2018インストールからAndroidビルドするまでの手順
https://qiita.com/taroyan/items/2ff7f6aadd640221bde5
※このサイトが一番参考になったAndroid Studioは結局使ってない。どこかで使うシーンが出てくるんだろうが、テスト用にAndroidのスマホにビルドしたアプリを入れるだけなら必要なかったので、案外楽チンだった
docomo らくらくホン F-02J 物理ボタンのキーコード一覧
# 前書き
## 環境
|データ|値|
|:–|:–|
|メーカー|Fujitsu (docomo)|
|機種|F-02J|
|Androidバージョン|5.1.1|
|ビルド番号|V28R066A|## 調べ方
Android API の`onKeyDown`メソッド引数`keyCode`を参照# 実測値
## ダイヤルパッド
|表示キー|キーコード|
|:–|:–|
|1|8|
|2|9|
|3|10|
|4|11|
|5|12|
|6|13|
|7|14|
|8|15|
|9|16|
|*|17|
|0|7|
|#|18|## ワンタッチダイアル
|表示キー|キーコード|備考|
|:–|:–|:–|
|1|96|外部アプリケーションのポインタ切り替えにも利用(無効化不可)|
|2|97|
|3|98|## 方向・サブメニューキー
|表示キー|キーコード|備考|
|:–|:–|:–|
|↑|19|
|↓|20|
|←|21|
|→|22|
|決定|23|
|メニュー|131|Androidの機能に割り当てられている可能性あり(詳細不明)|
|電話
【Lv1】イベントとリスナ【Android/Kotlin】
#環境
macOS Catalina version10.15.7
Android Studio 4.1.1
kotlin 1.4.10
実機: Pixel 4a (5G)####コード
https://github.com/Ru-1218/CheckEnvironmentalProperty/blob/main/app/src/main/java/com/example/ru_1218/checkenvironmentalproperty/MainActivity.kt##参考文献:
・基礎&応用力をしっかり育成!Androidアプリ開発の教科書 Kotlin対応 なんちゃって開発者にならないための実践ハンズオン
WINGSプロジェクト 齊藤 新三著 山田 祥寛 (監修)#イベントとリスナって?
| 用語| 意味|
|:———–|————:|
| イベント |ユーザー画面から受け取る何らかの操作のこと |
| イベントハンドラ | イベントを受け取って行う処理のこと |
| リスナ | イベント
無料VPNアプリのすゝめ
#1.はじめに
今回は端的に無料VPNアプリについて書きたいと思います。
VPNには様々な以下のような用途があります。
・国を偽装したいとき
別に悪い意味ではなく、国によって見れるコンテンツが制限されているのを見れるようにするための偽装
・ネットワーク監視、制限から逃れたいとき
家庭、職場によって、ネットワーク監視、制限がついていたり、中国やロシアなどは国自体でネットワーク監視、制限がついているため、それから逃れるため。
・フリーWiFiなど安全が保証されないところでのプライバシー保護
これは二番目にあげたこととほぼ同じですが、フリーWiFiは第三者に監視される可能性があるため。これ以外にも用途があるとは思いますが、メジャーなパッと思いつく用途はこんな感じです。
PCでは筑波大学がやっている無料VPNがあるため、それが一番に来ると思うのですが、スマホでは色々なVPNがあるため、どれが一番いいVPNアプリかを知りたかったので、今回は15種類ほどのアプリを速度、金額の観点から検証したので、そこで一番良かったアプリを紹介します。
#2.Proxy Master
僕が一番良いと思うアプリは
WorkManager
# 1. WorkManagerとは?
紹介する内容は**[Andorid Jetpack](https://developer.android.com/jetpack/)**というライブラリーのバックグラウンドを担当する**WorkManager**です。**WorkManager**を初お題にした理由はちょうど苦戦中で記録として残しておきたいからです。**WorkManaager**についてはGoogleが提供している[サンプル](https://github.com/googlecodelabs/android-workmanager)と[CodeLab]([サンプル](https://github.com/googlecodelabs/android-workmanager))を参考にしてください。
作成中ではWorkManagerのバージョンは`1.0.0-alpha05`で、まだアルファバーションなのでAPIや内部動作は今後変わる可能性があるかもしれません。
WorkManagerは既存にBackground作業のために使っていたライブラリーを端末のAPIレベルや環
[Android][NDK]ndk-buildについて
業務で調べたことを自分自身の理解を含めるために文書にする。
AndroidのNDKでビルドする主な方法は以下の3つ。
- ndk-build
- CMake
- スタンドアロン・ツールチェーン
今主流なのはCMakeだが、取り組んでいる業務で使用するのがndk-buildなため、ndk-buildについてまとめる。
ndk-buildスクリプトは、GNU Makeを利用したビルドシステムだ。ndk-buildスクリプトは、以下のコマンドを実行することと同等。
$ make -f /path/to/NDK/build/core/build-local.mk <パラメータ>
ndk-buildスクリプトは、以下のように呼び出す。
$ cd /path/to/project $ /path/to/NDK/ndk-build
Android.mk
Android カスタムView
Android カスタムViewを作成する際は、下記コンストラクタを記述すること
AttributeSet attrsが必要“`
MyView.javapublic class MyView extends View {
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}@Override
protected void onDraw(Canvas canvas) {}
}
“`“`
activity_main.xml
2020年になってNexus 6Pに古いAndroidバージョンのFactory Imageを焼こうとしたら妙に苦戦したのでメモを残す # 経緯
– Unity 2018.4.27f1+特定SoC+Android 8.0未満でsubmeshのBlendShapeが正常に動かない問題が出た
– 動かないならまだいいが、おかしな値が入って画が崩れる(泣)
– SoCは今のところ Snapdragon 430, 617, 810が該当してそう
– Unity 2018.2.20f1では出てなかった
– 原因はわかっていない
– 本件はバグに関連して、Snapdragon 810搭載のNexus 6PをAndroid 8.0未満にすべく、古いイメージを焼こうとした
– 妙に苦戦したのでメモを残しておく# 手順
## 1. Factory Imageのzipをダウンロードする
Factory Images for Nexus and Pixel Devices
https://developers.google.com/android/images## 2. 手順通りだとエラーになる
“`
archive does not contain ‘boot.sig’
fastboot: error: Couldn’t par
【Android】Navigation Safe Args でリソースファイルに指定された値をデフォルト値として渡したい
最近、Android Jetpack の[Navigation](https://developer.android.com/guide/navigation/navigation-getting-started)を使っているのですが、Fragment 間の画面遷移が簡単に実現できて便利だなと感じています。
ですが、ハマりポイントもありましたので備忘録として残しておきます。# Safe Args でリソースファイルに指定された値をデフォルト値として渡したい
[Safe Args](https://developer.android.com/guide/navigation/navigation-pass-data#Safe-args)とは、ナビゲーションやデータの受け渡しをする際、型の安全性を保証してくれる仕組みです。
`strings.xml`に定義した文字列をデフォルト値として渡したいとします。“`xml:strings.xml
テストメッセージ
“`フラグメントなどのレイアウト、ナビゲーション グラ
Jetpack Compose 湯婆婆!!
湯婆婆ネタが流行っているなーと眺めていたら、Jetpack Compose 版がないじゃないかと思ったので、作ってみました。
(Jetpack Compose 湯婆婆!!って飛んでいきそうな勢いがあって好きです。作中でも時々飛んでいましたっけ?)元ネタ:[Javaで湯婆婆を実装してみる](https://qiita.com/Nemesis/items/c7192a7c510788d2cba2)
—
## そもそも Jetpack Composeって?
> Jetpack Compose は、Android のネイティブ UI を構築するための最新のツールキットです。
細かい説明は[こちら](https://developer.android.com/jetpack/compose?hl=ja)をどうぞ
## 開発環境
– Jetpack Compose は `Android Studio 4.2 Preview版`で開発できます。
– まだアルファ版ですので、本格的な開発には向かないですが、今回のような**ネタ開発**にはちょうど良いお題:point_up:##
WebViewをSwipeRefreshLayoutやViewPager等に配置し、NestedScrollできるようにする方法
# SwipeRefreshLayoutでPull to Refresh
Pull to Refreshを実装する場合はSwipeRefreshLayoutで囲むだけだとちょっと問題が起こります。
“`xml
DataStoreのProtoBufの定義をdata classに書けると嬉しい
# はじめに
[CodeLabs](https://codelabs.developers.google.com/?cat=android) にDataStoreの[プラクティス](https://developer.android.com/codelabs/android-proto-datastore)があります。それによると、ProtoBufの定義は[Proto language](https://developers.google.com/protocol-buffers/docs/overview)で書く必要があり、
またその.protoファイルは `app/src/main/proto` に配置する必要がありました。
更にenumを使う場合はその定義自体も.protoに書いてJava / Kotlinのコードから消すことで2重管理を回避していました。ここで気になったのは以下の点です。
– DataStoreに関する一部のコードだけProto language で書く必要がありなんか美しくない
– Android Studioのプロジェクトツリーで表示タイプをAnd