- 1. Android Studioを使ってみる【作成中 タイトルも見合ったものにする】
- 2. Android9 プリインストールデバイスに AOSP11 をインストールしてみた
- 3. UnityIAPでAndroidのReceipt情報などを持ってくるときの注意点
- 4. 【Android】Spock ADBが便利だったのでご紹介
- 5. AndroidStudioでstrings.xmlを開かずにstringのresourcesを定義する
- 6. [Flutter]Instagramのstoryの移動UIのトレース
- 7. AndroidのBillingLibrary2.1.0未満はjcenterにしかない
- 8. NavigationDrawer(サイドメニュー)を実装する
- 9. RecyclerViewにDataBindingを導入してみた
- 10. 【Flutter】iOS/Android/WebでFirebase Firestoreを使えるようにする。
- 11. Androidアプリの広告出稿後の効果まとめ
- 12. Emulator: emulator: ERROR: unknown skin nameと言われたときの対処法
- 13. [Android] Kotlin の sealed class でステートマシン
- 14. JSONパースするのにKotshiを使ってみた
- 15. MaterialDatePickerで未来日を選択できないようにする
- 16. 2021/1 Google Play | AppStore 対応期日カレンダー
- 17. No Code開発ツールが使っているクロスプラットフォームフレームワーク
- 18. 卒論の代わりにflutter✖️firebaseでスマホアプリを作ってみたので振り返る。
- 19. 【Android/Java】初学者のためのRecyclerViewアプリ
- 20. 【Flutter】iOS/Android/WebでGoogleMapを表示する
Android Studioを使ってみる【作成中 タイトルも見合ったものにする】
#目標
Device File Explorerで端末のフォルダ構成を把握できること#インストール
– 下記からAndroid Studioをダウンロードする
[Download Android Studio and SDK tools ](https://developer.android.com/studio)– 下記に従ってインストールする
~~[Android Studio をインストールする手順(Windows)](https://akira-watson.com/android/adt-windows.html)~~
[Android Studio超入門――ダウンロード、インストール(Macもあり)、使い方を総まとめ](https://www.atmarkit.co.jp/ait/articles/1709/04/news015.html)
※HAXMはインストールしない#SDKマネージャーインストール
## SDK Platform
– Android7.0と7.1.1をインストール
~~※実機は7.1.2なので不安あり~~– Show Package
Android9 プリインストールデバイスに AOSP11 をインストールしてみた
VANKYO S30というAndroidタブレットにAOSP11(の、有志ビルド)をインストールしてみました。
何点か引っかかるところが合ったのでどなたかの参考になれば幸いです。※ root化、ROM焼きは brick(文鎮)化する恐れのある操作でメーカ保証対象外です。この記事を読んで何かなさる際はご自身が何をしようとしているか十分に理解されてから実施されることをオススメします。筆者は何ら責任を負いません。
> このガイドは adb, fastboot の基本的な導入方法や使用方法は全て端折ってあります。
このあたりの記事をお探しの方は他を当たった方が良さそうです。 adb, fastboot は基本的にどんなデバイスでも同様です。## 何はともあれ bootloader oem unlock
ひとまず、 bootloader を unlockせねば始まりません。
VANKYO S30は unisoc bootloader なのでこのガイドに従います。
https://forum.hovatek.com/thread-32287.html基本的にこの指示通りやれば良いの
UnityIAPでAndroidのReceipt情報などを持ってくるときの注意点
# tl; dr
“`cs
public static void ProcessReceipt(Product item)
{
var receipt = Jsonをデシリアライズする処理(item.receipt);var payload = Jsonをデシリアライズする処理(receipt.String(“Payload”));
// json Google によって提供される文字列にエンコードされた JSON
// signature Google によって提供される JSON パラメーターの署名
var json = payload.String(“json”);
var sig = payload.String(“signature”);
“`# 言いたいこと
諸悪の根源: https://docs.unity3d.com/ja/current/Manual/UnityIAPPurchaseReceipts.html`Product` の `receipt` には JSON 文字列が入ってくるが、
【Android】Spock ADBが便利だったのでご紹介
Android Studio(IntelliJ IDEA)のプラグイン「Spock ADB」がAndroid開発において便利だったのでご紹介したいと思います。
https://plugins.jetbrains.com/plugin/11591-spock-adb
# インストール
インストールに関しては、一般的なプラグインと同様にAndroid StudioのPluginsから検索してインストールできます。
インストールが完了すると、サイドバーに「Spock ADB」の項目が追加され、Viewが表示されます。
AndroidStudioでstrings.xmlを開かずにstringのresourcesを定義する
AndroidStudioでstringを定義するとき、これまではstrings.xmlを開いて定義していたのですが、**Extract string resource**という機能を使うことで、**layoutファイルの中だけでstringリソースを定義できる**んですね。
やり方は簡単で、以下の手順でできます。手順にするとステップ数がありますが、実際は速攻でできます。gifもご覧ください。
1. レイアウトファイルの `android:text=”hogehoge”`の箇所にカーソルを当てる
2. 表示されたダイアログの**Extract string resource**を選択する
3. `Resource Name`の箇所にはstringのリソース名(例:`hoge_label`)を、`Resource value`のところにはstringの値((例:`hogehoge`))を入れる
4. 対象stringファイルのディレクトリなどを選択
5. OKを選択
6. レイアウトファイルで`android:text=”hogehoge”` が `android:text=”@st
[Flutter]Instagramのstoryの移動UIのトレース
#はじめに
初投稿となります。お手柔らかにお願いします。今回は、タイトルの通り、インスタでストーリーを移動するときの、四角い箱を回すようなUIをFlutterで作成していきたいと思います。
この記事が皆さんのお役に立てると嬉しいです。#パッケージ
今回の自分が使用したパッケージは以下の通りです。“`yaml:pubspec.yaml
dependencies:
flutter_hooks: ^0.15.0
hooks_riverpod: ^0.12.1
flutter:
sdk: flutter
“`状態管理用に[riverpod](https://pub.dev/packages/riverpod)を入れています。
また、コードを簡単に書くために[flutter_hooks](https://pub.dev/packages/flutter_hooks)も入れています。ただ、hooksを使ったことがない人でも、ドキュメントを読めばStatefulWidgetに置き換えることができると思います。
# 完成図
今回の完成図はこちらです。
AndroidのBillingLibrary2.1.0未満はjcenterにしかない
先日、mavenリポジトリの一つである[jcenterが停止するアナウンス](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/)がされましたよね。
現時点でのjcenterの停止日は2022/02/01となっていますが、当初は2021/05/01とアナウンスがあり、焦った方も多いのではないでしょうか。
ということで、ずっと放置してた個人プロジェクトのbuild.gradleから試しに`jcenter()`を削除し`mavenCentral()`に置き換えたところ、エラーの中に以下を発見
“`
Could not find com.android.billingclient:billing:1.0.
Searched in the following locations:
– https://dl.google.com/dl/android/maven2/com/android/billingclient/billing/1.0/billing-
NavigationDrawer(サイドメニュー)を実装する
# はじめに
KotlinでNavigationDrawerを実装する方法を忘れないために、メモがてら書いています。
コードを簡潔にするため、バインディングは使用していません。# 環境
– Android Studio 4.1.1
– kotlin 1.4.10# 事前準備
### 1. 画面の作成
各画面はフラグメントで実装するため、MainActivity以外に今回は– **HomeFragment**
– **ProfileFragment**
– **SettingsFragment**を用意する。
### 2. Navigation Graphの作成
画面遷移を管理するNavigationファイルを作成する。
**res -> New -> Android Resource File**![スクリーンショット 2021-02-09 15.13.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663839/70b215a8-6d80-d6ab-02f4-fd6be3
RecyclerViewにDataBindingを導入してみた
## はじめに
前回作成したRecyclerViewにDataBindingを導入してみた。
前回記事https://qiita.com/kilalabu/items/da1aae6d73177fec9e98## デモアプリ
![recyclerview.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670405/8e1d05fa-ba7c-260e-bf03-70e20b242f00.gif)
## コード実装
### Layout
“`xml:recyclerview_cell_item.xml
【Flutter】iOS/Android/WebでFirebase Firestoreを使えるようにする。 # はじめに
昨年後半よりFlutter入門して社内用アプリを作っています。
今回はFirebaseのFirestoreを使えるようにします。# 更新履歴
2021.2.11 初回投稿# 環境
– macOS Big Sur(11.2)
– Flutter (Channel beta, 1.26.0-17.2.pre, on macOS 11.2 20D64 darwin-x64,
locale ja-JP)
– Android toolchain – develop for Android devices (Android SDK version 30.0.3)
– Xcode – develop for iOS and macOS
– Chrome – develop for the web
– Android Studio (version 4.1)
– VS Code (version 1.53.1)# 参考にしたサイト
– [Cloud Firestore を使ってみる | Firebase](https://firebase.googl
Androidアプリの広告出稿後の効果まとめ
#はじめに
2019年に趣味で作ったAndroidアプリを公開しましたがさっぱりインストールされないので2020年5月から広告を出稿しました。
半年ちょっと経過したのでその効果と気づいたポイントをまとめます。なお複数アプリを公開していますが出稿しているアプリは1本のみです。
ツール系のアプリです。#目次
– (補足)単語の説明
– 出稿した広告の内容
– インストール数
– CV率やクリック単価など
– 気づいたポイント
– CVが増えたタイミング
– CVが減ったタイミング
– CVに特に影響なかったもの
– ストアの掲載順位
– (余談)収益について
– まとめ#(補足)単語の説明
いきなり補足ですが、記事内で用いている単語の説明をしておきます。
分かる方は読み飛ばして大丈夫です。| 単語 | 意味 |
|:—————–|:——————|
| クリック率 | 広告を見た人の内、どのくらい人がクリックしたかの割合です。
Emulator: emulator: ERROR: unknown skin nameと言われたときの対処法
# 現象
エミュレーターを起動しようとしたらこのような`EvengLogウィンドウ`にメッセージが表示され、エミュレーターが起動しませんでした。“`console
Emulator: emulator: ERROR: unknown skin name ‘pixel_2’
“`# 解決方法
一度AVDManagerで該当のエミュレータを編集(Edit)し、そのまま何も変えずに保存すると、あら不思議起動するようになります。
# その他
CatalinaにMacOSを今更ながらアップデートしたのですが、HDD直下のフォルダにはアクセス不可になったようで、開発環境が全てアウトになってしまいましたorz
恐らく上記のエラーも、パスを色々変えた影響かなあ・・・?
しかしCatalinaに上げたらビルドがむちゃくちゃ遅くなった気が・・・:fearful:
現場からは以上です。
[Android] Kotlin の sealed class でステートマシン
“`kotlin
class MainFragment : Fragment(R.layout.main_fragment) {override fun onResume() {
super.onResume()lifecycleScope.launch {
// 命令を与える例
MainFragmentState.currentState.onHoge(this@MainFragment)// 現在のステータスを確認する例
when {
MainFragmentState.currentState.isIdle() -> {}
MainFragmentState.currentState.isState1() -> {}
MainFragmentState.currentState.isState2() -> {}
JSONパースするのにKotshiを使ってみた
##何故今回Kotshiを使うのか
KotlinでJsonパースするのにGSONを以外のライブラリを検索してみると
JacksonとMoshiを見つけました。
その上で[ベンチマーク](https://www.ericdecanini.com/2020/10/13/benchmarking-gson-vs-jackson-vs-moshi-2020/)を見るとJackson or Moshiが良さそうでした。
さらにMoshiについて調べているとMoshiよりも早い(らしい?)Kotshiを見つけたため
JackSonと同じぐらいのMoshiよりも早いならより良いだろうとKotshiを使うことにしました。##環境
Android Studio 4.1.1
kotlin 1.4.21
kotshi 2.2.3
moshi 1.9.3##Gradleを使って必要なものを準備
gradle(:app)に以下を追加plugins {
(略)
// 以下追記
id ‘kotlin-kapt’
}andr
MaterialDatePickerで未来日を選択できないようにする
## やりたい事
MaterialDatePickerで日付を選択するとき、デフォルトでは過去/未来含めて全ての日付が選択できる。ここで、「未来日は選択させたくない」という要件が出てきたとき、選択日に制限を加える必要がある。
## 解決方法
`DateValidator`で制限を作成して、MaterialDatePickerの`CalendarConstraints`にセットする。
“`kotlin
MaterialDatePicker.Builder.datePicker().apply {
// 未来を選択させない制限
val dateValidatorMax = DateValidatorPointBackward.before(Date().time)// 開始日を制限したいなら DateValidatorPointForward を使う
// val dateValidatorMin = DateValidatorPointForward.from
2021/1 Google Play | AppStore 対応期日カレンダー
![eyecatch_2101StoreCalendar-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/218415/2380f173-a80f-ac3c-e52c-fef2a22c9ffa.png)
※ 本稿は [Tech Inside Drecom](https://tech.drecom.co.jp/?_src=qiita) に掲載された記事、「[2021/1 Google Play | AppStore 対応期日カレンダー](https://tech.drecom.co.jp/googleplay-appstore-calendar-202101/?_src=qiita)」の Qiita 出張版です。
—
こんにちは、SRE部クライアントグループの Smith です。
SRE というとサーバ・インフラのイメージがありますが、なぜクライアント?っていう部分は別の機会にお話したいと思います。本稿では SRE部として収集し、社内共有している`対応期日のある Google Play
No Code開発ツールが使っているクロスプラットフォームフレームワーク
No Code開発ツールにはiOS/Androidアプリを出力できるものがある。
なんらかのクロスプラットフォーム技術が使われていると思われ、興味を持ったのでざっくり調べてみた。## 調査結果
8個のサービスについて調査したところ、– React Nativeが、2サービス(Adalo/Thunkable)で使われている
– Flutter、Capacitor、Cordovaを使っているサービスは探した範囲では見当たらなかった。## 調査結果詳細
ざっくり調べたので、すぐに分からなかったところは?を入れてある。|サービス名|Webアプリ|iOSアプリ|Androidアプリ|iOS/Androidアプリフレームワーク|
|:–|:–|:–|:–|:–|:–|
|[Glide](https://www.glideapps.com/)|o| x |x| -|
|[Adalo](https://www.adalo.com/)| o |o| o |React Native (根拠 https://developers.adalo.com/docs/workflow/c
卒論の代わりにflutter✖️firebaseでスマホアプリを作ってみたので振り返る。
今回は自分がスマホアプリを作った話を記事にしたいと思います。
# 作ろうと思った背景
自分は文系大学生なのですが、ゼミに入っておらずその関係で卒論を書かなくても卒業ができます。~~**(イージー大学生)**~~
2021年3月に卒業予定で、夏あたりから周りの友達が「卒論やばい〜?」、「卒論どうしよう〜?」と騒ぎ始めました。「俺は楽だぜっ!!」って思いつつも、自分の大学4年間の成果ってなんだろうってモヤモヤしてました。学問自体は好きで面白かったのですが、通学に1時間半かかるのと授業がつまらなかったので行く気が起きず、効率よく単位をとることだけを考えて授業を受けていました。その代わりに1年生の終わりから興味のあったことを色々勉強して、効率(お金と時間)という観点からゼミには入らなかった次第です。(入ったんですけど、お金がかなりかかるゼミでやめました。そんな余裕のある家庭でもないので。)
色々勉強した中で一番ハマったのがプログラミングで途中だるくなったりもしましたが、独学期間2年、インターンも半年経験させて頂きました。また就活では、そんな経験も評価されて第一志望のIT企業に就職する
【Android/Java】初学者のためのRecyclerViewアプリ
## はじめに
最初触れた時は全くわからなかった初学者殺しのRecyclerView。(勝手に命名)
だが、調べているうちに、実は作成手順は決まっていて、それに則ってやれば意外と何とかなることがわかったので、デモアプリを作りながら自分なりにまとめてみた。## 今回のデモアプリ
なかなか眠れないアプリを作成。
![recyclerview.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670405/8e1d05fa-ba7c-260e-bf03-70e20b242f00.gif)
## RecyclerView抑えるべきこと
### 作成するファイル
|作成ファイル|役目|
| —- | —- |
|Activity(Fragment)のlayout|RecycleViewを載せる|
|セルのlayout|各Viewパーツの配置を決める|
|セルのModelクラス|データ構造を決める|
|Activity(Fragment)クラス|Adapterに指示する,レイアウトを調整する(Layout
【Flutter】iOS/Android/WebでGoogleMapを表示する
# はじめに
昨年後半よりFlutter入門して社内用アプリを作っていたけど、Webで地図表示したい!って思い、トライしてみた。ぶっちゃけ、パッケージのReadmeをそのままやっただけですが….
# 更新履歴
2021.2.8 初回投稿# 環境
– macOS Big Sur(11.2)
– Flutter (Channel beta, 1.26.0-17.2.pre, on macOS 11.2 20D64 darwin-x64,
locale ja-JP)
– Android toolchain – develop for Android devices (Android SDK version 30.0.3)
– Xcode – develop for iOS and macOS
– Chrome – develop for the web
– Android Studio (version 4.1)
– VS Code (version 1.53.0)# 準備
– FlutterのChannelをbetaにしておくこと
– GoogleMa