- 1. LiveData Builderを使ってコードをスッキリさせる
- 2. Shibuya.apk#38 参加メモ
- 3. Delphi タッチアニメーションを無効化する
- 4. React NativeのAndroidビルドでapp:mergeReleaseResources FAILED(Error: Duplicate resources)
- 5. MaterialButtonToggleGroupを使ってみる
- 6. [Android]Room を使ったサンプルと解説
- 7. Androidアプリにプライバシーポリシーを置くときの構成
- 8. React Nativeでコードの変更が反映されない時(Android)
- 9. クリーンアーキテクチャーをざっと理解できる短いコードを書いた
- 10. [kotlin]RecyclerViewの中身をGridLayout + CardViewにして表示する
- 11. iOS, Androidアプリの価格変更(キャンペーン)の仕方
- 12. GatsbyJSとNetlifyでiOS/AndroidアプリのLPを勢いで作ってみた
- 13. 【Kotlin備忘】他のActivityへBitmapの受け渡し
- 14. 【Firebase】failed: DatabaseError: Permission denied
- 15. UnityでAndroidビルドエラーUnityEditor.BuildPlayerWindow+BuildMethodExceptionが出た時のライブラリ競合解決が辛過ぎて泣いた
- 16. Android Studio 3.5でjava.lang.ClassNotFoundException
- 17. Android で OpenCL の Image2D を使って画像変換する
- 18. Android アプリのビルド時に GC overhead limit exceeded が出たときに確認すること
- 19. スマホアプリ開発者のための2019年動向まとめ
- 20. Google Play Console のリリース管理について整理しよう
LiveData Builderを使ってコードをスッキリさせる
# はじめに
LiveData Builderを勉強したのでメモ代わりに投稿します。# LiveData Builderとは?
`androidx.lifecycle:lifecycle-livedata-ktx`に含まれる拡張機能で、`liveData` 関数内でsuspend関数を呼び出し、LiveDataに値を直接反映させることができます。[Android Developers](https://developer.android.com/topic/libraries/architecture/coroutines)内に解説があります。
また、[こちら](https://codelabs.developers.google.com/codelabs/advanced-kotlin-coroutines/index.html)に公式のコードラボがあります。
# リポジトリ
例によってGitHubからリポジトリ情報を取得するサンプルを[こちら](https://github.com/nanaten/Try_LiveData_Builder)に上げてあります。# L
Shibuya.apk#38 参加メモ
# はじめに
2020/1/17(金)の [shibuya.apk #38 – report from KotlinConf 2019](https://shibuya-apk.connpass.com/event/159535/) に参加してきました。
slackにメモを残しても忘れてしまうので、どんな発表があったのか、
どんな資料が紹介されていたのかまとめました。
(自分用のメモです)# Java Bytecode Vertical Tasting
### punchdrunkerさん
途中参加だったので、話の概要を掴めず…> JavaのLTSがついていないのはすぐにサポートが切れる。今の本命バージョンは11
このあたりが要点?かも。
あと、“`
innerクラスからフィールドにアクセスすんな
“`コンパイラで余計なクラスが増えるかららしい。
# KotlinConf Overviewと2021年のアプリ開発トレンド
### mhidakaさん
“`
・春にはKotlin1.4が出るが、Updateはちょっと大変らしい。
・今後、宣言的UIは流行する
Delphi タッチアニメーションを無効化する
#はじめに
Delphiでモバイル開発をしていると、コントロールをタッチした際に波紋のようなアニメーションが発生することに気がつきます。
ユーザーが操作可能なオブジェクトであることが分かりやすい一方、微妙にダサいというか・・頼んでないというか・・そういう気分になることもありますね!
![touchAnimation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33684/3f1ea9c7-35c2-22c7-6bec-cb41b2871e34.png)(意外と撮るのに苦労するスクリーンショット)しかしながら、無効化の方法については、ドキュメントを見つけることができませんでした。
なので、この記事は「方法が正しいかは解らないけどこれで無効化できたよ!」という内容になります。Delphi 10.3 CommunityEditionで確認しています。
※iOSについては手元に環境が無いため、確認できていません。##やり方
TButtonを例に説明します。– マルチデバイスアプリケーションのプ
React NativeのAndroidビルドでapp:mergeReleaseResources FAILED(Error: Duplicate resources)
## 下記の記事の補足
https://qiita.com/sekitaka_1214/items/2c9c3a698727d8bde659## やること
1. `android/app/src/main/res/drawable-*`のフォルダを削除
2. `raw`フォルダ内のキャッシュみたいなファイルを削除
3. `cd android && ./gradlew assembleRelease`を実行2に関しては、必要なファイルが含まれている場合もあるので、一旦全部削除して3を行い、not foundになったファイルだけをgitで元に戻す必要があるようです。
MaterialButtonToggleGroupを使ってみる
## まえおき
とあるアプリ開発で「定休日」の入力フォームを作っていたときのこと。
![Rectangle.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74571/d87e8be8-3bad-af24-ec27-59e2704fbd9d.png)
こういうフォームを作る必要があった。一昔前だったら「そんなiOSっぽいフォームはAndroidの世界にはありませんよー?」だったんだけど、
今はもうMaterial Designのガイドにも存在している。
調べてみると、Android用のコンポーネントもあるようだ。
https://material.io/develop/a
[Android]Room を使ったサンプルと解説
# はじめに
とりあえずこれに従えばできるみたいなサンプルを作ろうと思います。
サンプルは次の手順で作成していきたいと思います。0. Room をセットアップする
1. Entity(User) を定義する
2. Dao(UserDao) を定義する
3. RoomDatabase(AppDatabase) クラスを定義する| 役割 | クラス名 | 役割 |
| —– | ——- | ——- |
| Entity | User | データベースのテーブルを表すクラス |
| Data Access Objects | UserDao | データベースにアクセスするメソッドを定義するクラス |
| RoomDatabase | AppDatabase | Daoを生成するためのRoomDatabaseを継承した抽象クラス |![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/79387/9a63c3bf-1db3-d8e2-1685-b15a1ac9d36f
Androidアプリにプライバシーポリシーを置くときの構成
ここ最近は、Androidアプリにプライバシーポリシーを盛り込むことが当たり前になってきています。
以前にも、Googleのポリシー違反の取り締まりが厳しくなり、GooglePlayから大量のAndroidアプリがリジェクトされる事態もありました。その時は、ブログに適当にプライバシーポリシーのページを作って、リンクを貼ることで難を逃れました。(いいのか、それで・・・)
しばらく放置していましたが、そろそろ改善しようといろいろ考えて、自分なりに考えてみましたので、まとめます。
### これまでの構成
![old.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113289/8d945487-e2fd-e184-0a16-3f3418577957.png)
– ブラウザを起動して、プライバシーポリシーのページを表示
> **改善したいこと**
>
> – 通信が出来ない時は表示できない
> – ブログにページを作ったのでイケてない### 改善した構成
![new.png](https:
React Nativeでコードの変更が反映されない時(Android)
## コードを変えても反映されない問題(RN)
React Nativeでしばらく触っていなかったプロジェクトやアップグレードを行なった際に、コードを変えても変更がデバイス上で反映されないことがある。以下のコマンドで解決した。
“`bash
react-native bundle –platform android –dev false –entry-file index.js –bundle-output android/app/src/main/assets/index.android.bundle –assets-dest android/app/src/main/res/# ↑を叩いたらいつも通り起動
react-native run-android
# or npx react-native run-android
“`参考:
https://stackoverflow.com/questions/48304116/react-native-run-android-do-not-updating-modified-code
クリーンアーキテクチャーをざっと理解できる短いコードを書いた
クリーンアーキテクチャーは沢山インターフェースやクラスが登場し、その関係をざっと把握するのが難しいです。
そこですべての要素が入ったなるべく短いコードを書いてみました。XCodeのPlaygroundなので、そのまま実行できます。[githubのリポジトリはこちらです。](https://github.com/TokyoYoshida/CleanArchitecturePlayground)なお、今回はざっと理解することを優先するため、クリーンアーキテクチャーについての詳しい説明は割愛します。参考記事をご覧ください。このコードは、Uncle Bobの書いた[Clean Architecture 達人に学ぶソフトウェアの構造と設計](https://booklog.jp/item/1/4048930656)と、次の記事を参考に書いています。
参考記事:
実装クリーンアーキテクチャ: https://qiita.com/nrslib/items/a5f902c4defc83bd46b8
Laravelで実践クリーンアーキテクチャ: https://qiita.com/nrslib/i
[kotlin]RecyclerViewの中身をGridLayout + CardViewにして表示する
#今回やること
RecyclerViewでgridLayout、tableLayoutっぽく表示する。あとcardViewを使ってUIを手っ取り早く、それっぽくする
これ↓
#RecyclerViewの配置
レイアウトファイルにRecyclerViewを配置する“`xml:activity_main.xml
iOS, Androidアプリの価格変更(キャンペーン)の仕方 # はじめに
以前アプリをリリース([iOS, Mac, Androidのアプリをリリースしてみた
](https://qiita.com/am10/items/41d94d5175dbf63fc706))したのですが、複数の方から100円も払えるかクソが!!といわれました:sob:まだ機能が思ってる完成形には達していないし、やっぱだれかがダウンロードしてくれないとおもしろくないししばらくは無料にすることにしました!!
たまにみるキャンペーンみたいなので期間限定無料をやりたいと思い調べていたのですがやり方があんま出てこなかったので備忘録として書きます。
# iOS, Mac版
iOSとMacアプリについてです。やり方はめっちゃ簡単。(だからあんま調べてもでてこないのかも)1. 下記ページを開きます
App Store Connect -> マイ App -> 対象アプリ -> App Store -> 価格および配信状況
2. 価格表の「価格変更を計画」をクリック
3. 価格、開始日、終了日を選択
GatsbyJSとNetlifyでiOS/AndroidアプリのLPを勢いで作ってみた
## 経緯
2020年1月にiOSアプリをリリースして、もともとAndroidのアプリがあったので
これは今ならLP作れるのでは… :sparkles:
という浅い考えと、何か新しい方法で試してみたいという欲求から今回は
GatsbyJSとNetlifyを使ってLPを作る事にしました。2020年初のアプリリリースしました?
神社巡ったり好きな方は良ければ使って見てください。iOSアプリです。m(_ _)mhttps://t.co/qv2C9dDhu1— slowhand (@wes_ja0927) January 17, 2020
【Kotlin備忘】他のActivityへBitmapの受け渡し
photoはbitmap
```kotlin:受け渡し側
val intent = Intent(this, XXXXActivity::class.java)
intent.putExtra("data",photo)
startActivity(intent)
``````kotlin:受け取り側
val intent = getIntent()
val photo = intent.getParcelableExtra("data")
```bitmapがデカすぎる場合、URIを利用した方がいいらしいけど
【Firebase】failed: DatabaseError: Permission denied
Firebase RealtimeDatabase使っている時、パーミッションがの設定値が初期値だとエラーが出る
```
failed: DatabaseError: Permission denied
```ここのreadとwriteをtrueにしてあげれば通るようになる
UnityでAndroidビルドエラーUnityEditor.BuildPlayerWindow+BuildMethodExceptionが出た時のライブラリ競合解決が辛過ぎて泣いた
# 概要
Unityでスマホゲーム作っててiOS向けのリリースがひと段落したのでAndroid向けビルドしたらめっちゃエラー出て泣いた。
つら…
# 環境
- OS:Windows 10
- Unity:2019.1.0f2Macでも同様のエラー出たので、OS依存のエラーではないことは検証済み。
# エラー内容を確認する
ビルド失敗時に表示されるUnity Editorのダイアログには、何もメッセージが表示されず無事死亡。
Android Studio 3.5でjava.lang.ClassNotFoundExceptionapplicationのbuld.gradleに追加したら解消された
```
android {
defaultConfig {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Android で OpenCL の Image2D を使って画像変換する
[Android で OpenCL を試す](https://qiita.com/ohwada/items/66c5dacb56bab80c3d52)
の続きです### OpenCL の Image2D
OpenCL では,基本的な1次元の配列の他に,
画像の2次元のデータを取り扱う Image2D というデータ型が用意されている。- [OpenCLメモ (その6) - imageの使用](https://rigaya34589.blog.fc2.com/blog-entry-871.html)
- [OpenCL の Image2D メモリを使ってみる](http://codeit.blog.fc2.com/blog-entry-10.html)
- [OpenCL Image2D Variables](http://www.cmsoft.com.br/opencl-tutorial/opencl-image2d-variables/)
- [OpenCL : Image2D Class Reference](https://github.khronos.org/Op
Android アプリのビルド時に GC overhead limit exceeded が出たときに確認すること
# 概要
macOS を Mojave から Catalina へアップデート後、 Android アプリをビルドすると```
GC overhead limit exceeded
```というエラーが出るようになってしまいました。。。?
原因を突き止めたので書き残しておきます。
# 原因(ぼくの環境の場合)
いきなり結論を。
Android Studio の Memory Settings が初期化されていたせいでした…
* Android Studio - Preferences
![スクリーンショット 2020-01-17 20.19.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34926/496b582a-9acd-ce2d-fd71-706a3a4517a7.png)赤枠の項目が 空白 になっていました。
こちらを設定したら無事ビルドできるようになりました! ?
# 他に確認したこと
「GC overhead limit exceeded」 で調べるといろ
スマホアプリ開発者のための2019年動向まとめ
# はじめに
2019年は新元号「令和」のスタートやラグビーワールドカップなどなんとなくめでたい年でした。年始まで忙しかったので2020年の1月中旬ですが2019年のスマホアプリ業界をこっそりまとめます。
個人的には2019年はAndroidアプリを中心にネイティブアプリ開発保守をしていました。
スマホアプリ開発に携わっていない人もこの記事を見れば2019年のいろいろが分かるかも。
振り返り用に「ふむふむ」「へー」程度に見ていただければ幸いです。【前年】
[スマホアプリ開発者のための2018年動向まとめ](https://qiita.com/keidroid/items/88ee170f8bc697d4f7e9)
[Unityでスマホアプリ(特にプラグイン)を開発している人のための2017年対応まとめ](https://qiita.com/keidroid/items/5d942afa4ec69f97bd3d)
[Unityでスマホアプリ(特にプラグイン)を開発している人のための2016年対応まとめ](https://qiita.com/keidroid/items/76ff2
Google Play Console のリリース管理について整理しよう
- Android アプリのリリースには Google Play Console を使いますが、リリースには複数のバージョンに分けて段階的にリリースして行くことができます。
- 本記事では Google Play Console の段階リリースについて整理しようと思います。# 対象となる方
- Android アプリ開発者で今後アプリリリースしようと思っている方。# Doc
- [公式Help](https://support.google.com/googleplay/android-developer#topic=3450769)# リリース管理ってなに?
- Google Play Store のリリースを段階的に行うための方法
- 公式に、『製品版としてアプリをリリースする前に、テストすることをおすすめします。』と記載
- いきなりリリース:zap:的なのりはやめておこう## 段階的って?
リリース管理の段階として、以下の段階が用意されています。- 内部テスト版
- クローズドテスト版
- オープンテスト版
- 製品版# 各リリース段階の整理