- 1. 【Flutter】Providerで最低限のDIを行ってテスタブルなコードにリファクタリングする
- 2. Sesame3にAPIがまだないのでAndroidでAPIサーバーを構築する
- 3. 【Xiaomi Redmi 9T】USBデバッグモードにする方法
- 4. Flutterのインストール~Androidエミュレータ表示まで(Windows10)
- 5. Android &Kotlin:アプリを開いた時にロゴが一瞬出てくるやつ(スプラッシュ画面)を実装する
- 6. Noxをandroid emulatorとして使う手順
- 7. DroidKaigi2020 Lite
- 8. 【続】2020年版RecyclerViewの使い方 〜リストのアイテムに複数のレイアウトを使う〜
- 9. AndroidStudio Debug署名を共有する方法
- 10. 【Androidアプリ開発】初心者からの独学でのおすすめ勉強法
- 11. AndroidでLocalDateを使おうとしてハマった
- 12. Android Studioを使ってみる【作成中 タイトルも見合ったものにする】
- 13. Android9 プリインストールデバイスに AOSP11 をインストールしてみた
- 14. UnityIAPでAndroidのReceipt情報などを持ってくるときの注意点
- 15. 【Android】Spock ADBが便利だったのでご紹介
- 16. AndroidStudioでstrings.xmlを開かずにstringのresourcesを定義する
- 17. [Flutter] flutter hooks で簡単にPageViewのアニメーションを作成する [Instagram UI トレース]
- 18. AndroidのBillingLibrary2.1.0未満はjcenterにしかない
- 19. NavigationDrawer(サイドメニュー)を実装する
- 20. RecyclerViewにDataBindingを導入してみた
【Flutter】Providerで最低限のDIを行ってテスタブルなコードにリファクタリングする
[前回の記事](https://qiita.com/tokkun5552/items/ede8460bef4892f48e37)の最後に書きましたが、テストを行う際はclass同士の依存関係が密になっていると、思うようにテストを行うことが出来ません。
これは、ビジネスロジックを記載している部分にDBのインスタンスやFirebaseのインスタンスを持たせてしまうと、初期化処理などが行えないためです。(※シミュレータなどを使って回避することもできるようです)
そこで、今回は前回と同じ[こちら](https://github.com/tokku5552/TODOAppSample-Flutter/tree/v1.1)のサンプルアプリをリファクタリングして、テスタブルなコードに書き換えてみました。### やったこと
– FlutterでのProviderを用いたTodoアプリをリファクタリング
– Providerを使ってDIする
– test用のrepositoryを自作する最終的なコードは[こちら](https://github.com/tokku5552/TODOAppSampl
Sesame3にAPIがまだないのでAndroidでAPIサーバーを構築する
Sesame3使ってますか?
Sesame miniに比べるとめちゃくちゃ高速化して最高です。
けどAPIがまだ用意されてないためDIY好きなかたには物足りないですよね。
3月にはAPIの発表があるらしいですが私は待ちきれないためどうにかしてAPIを用意しました。
今回はご家庭にあるいらなくなったAndroid端末を利用して無理くりAPIサーバーを構築する方法をご紹介します。(2000円ほどで中古で買えるAndroid5以降の端末)
APIサーバーになるSesameBridgeというAndroidアプリを作りました。まずは動いてる動画を
Sesame3の本番稼働開始!
めちゃはや爆速で皆が求めてたこれだよこれがここに。
Jermingさんがゲキ速と言ってたのは伊達じゃない。
子供達も玄関で待たなくなって喜びそう? pic.twitter.com/BJQ0Lx0ASm&m
【Xiaomi Redmi 9T】USBデバッグモードにする方法
# はじめに
[Xiaomi Redmi 9T](https://amzn.to/3pjIc2s)を買いました。Android Studioに接続して早速開発に活用しようと思います。
少し他機種とは変わっているので手順を残しておきます。# 手順
## 設定アプリを起動するあらかじめホーム画面にある設定アプリを起動します。
![Screenshot_2021-02-14-21-06-02-462_com.miui.home.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42735/8b79ee5a-3420-df05-548c-f39aed5076d4.jpeg)## デバイス情報を選択する
デバイス情報を選択します。
## MI
Flutterのインストール~Androidエミュレータ表示まで(Windows10)
#Flutter本体のインストール
##①Flutterのホームページからダウンロードする
・[Flutter公式](https://flutter.dev/docs/get-started/install) にアクセスする。
![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1109597/cd79f147-df71-04dc-7e40-ad206464f3ff.jpeg)
・「Windows」を押してページに飛び、ダウンロードボタンを押す
![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1109597/0c08c2ad-9765-5015-b38d-29cc86b3d897.jpeg)
##②zipを解凍し、Cドライブに保存する
・ダウンロードしたzipを解凍すると「flutter_windows_〇.〇〇.〇-stable」というフォルダができる。
その直下に「flutter」フォルダがあるのを確認する
Android &Kotlin:アプリを開いた時にロゴが一瞬出てくるやつ(スプラッシュ画面)を実装する
#記事の内容
Androidアプリのスプラッシュ画面をKotlinで実装していきます。
そもそもスプラッシュ画面って何?という方もいらっしゃると思いますが、スプラッシュ画面とは例えばあなたのスマホでツイッターのアプリをタップすると、タイムラインが表示されるまでの間ツイッターのロゴがしばらく表示されたりしませんか?あんな感じでアプリが起動するまでの時間をいい感じにごまかす画面がスプラッシュ画面と言われています。#実装手順
・activity_splash.xmlの構成
・SplashActivity.kt実装
・SplashActivityをManifestに追加#activity_splash.xmlの構成
`activity_splash.xml`では、スプラッシュ画面として表示したい画像やロゴを指定します。まず、表示したい画像を`res -> drawable`に名前をつけて保存してください。
私は`splash_image`という名前で保存しました。保存した画像を画面いっぱいに表示します。
コードは以下の通りです。“`activity_splash.xml
Noxをandroid emulatorとして使う手順
– https://jp.bignox.com/
– Noxはandroid 7を利用## インストール
“`bash
➜ ~ brew install noxappplayer
“`## 初回起動できない
![ 2021-02-14 at 14.30.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66521/d5c4ff75-2eb6-c3a8-39fb-6520b6be66c7.png)
`Open Anyway` ボタン押す
## 初回起動時に99%で止まる
![ 2021-02-14 at 14.32.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66521/cc674488-9390-3819-7e42-fef47163910c.png)
– 裏側で動かすvirtualboxの連携がうまくいってない
### virtualbox起動
– noxが動かしてるVMを
DroidKaigi2020 Lite
本記事では、2020年8月にオンライン開催された、DroidKaigi2020 Liteの以下セッションについて学んだことを記載します。
一部、動画の画面キャプチャを使用させて頂いております。1.アプリのアップデート浸透率を上げろ!〜in-app updatesを実践投入して見えてきたもの〜
2.自動生成でさくさく実装するユニットテスト
3.Jetpack時代のFragment再入門
4.Androidで音声合成(TTS)をフル活用するための知識と実践事例
5.Scadeを使って「Swift」で始めるAndroidアプリ開発# 1.アプリのアップデート浸透率を上げろ!〜in-app updatesを実践投入して見えてきたもの〜
### アプリの更新方法に以下がある。
(1)Google Play ストアで自動更新されるように設定する。
※「アプリのダウンロード設定」のデフォルト設定は「Wi-Fi経由のみ」
自動更新をきらい、設定しない人もいる。(2)アプリ内からの更新
※バージョンをチェックして、Google Play Storeに飛ばす方法もある。###
【続】2020年版RecyclerViewの使い方 〜リストのアイテムに複数のレイアウトを使う〜
# tl;dr
* [2020年版RecyclerViewの使い方 〜 RecyclerView + ListAdapter + DataBinding + LiveData + ViewModel](https://qiita.com/que9/items/52725c3caf33f2a9b44e) で紹介しなかった、リストのアイテムに複数のレイアウトを使う場合を紹介
* ViewHolderの抽象クラス化が鍵
* `getItemViewType` のoverrideを忘れるな
* ソースコード
* 今回のサンプルのソースコード:https://github.com/quwac/how-to-use-recyclerview-2020/tree/multiple_view_type
* 前回のソースコードとの差分表示:https://github.com/quwac/how-to-use-recyclerview-2020/compare/main..multiple_view_type# はじめに
[2020年版RecyclerViewの使い方 〜 Rec
AndroidStudio Debug署名を共有する方法
# 背景
社内開発の場合、デバッグ用端末をチームで使いまわしてデバッグ等行う事が多い。その際、他人のインストールしたデバッグアプリをアップデートインストールしようとすると、署名が違うと怒られる。いちいちクリーンしてからインストール。これが結構面倒だったので対応した。要は署名を共通化すればいい。# build.gradle 設定
“`
android {
…略…signingConfigs {
debug {
storeFile file(“debug.keystore”)
}
}
}
“`
debug.keystoreはapp直下においてgit管理させれば良い。# 余談
デフォルトのdebug.keystoreは以下に格納されており、PCごとに違う。
個人でやってた頃は、こちらのファイルをコピペすることによって、共通化させていた。* Win : `C:\Users\
\.android\`
* Mac : `~/.android/`
【Androidアプリ開発】初心者からの独学でのおすすめ勉強法
# はじめに
私は、現在大学院修士1回生で、研究をしながら趣味で楽しくサービス開発をしてきました。その中でここ1年半くらいの間は、特にAndroidの開発をメインに行ってきました。その際には基本的には独学で技術を学んできました。そこで、思い返してみると反省していることや、非常にやってよかったことなどが多くあると感じました。
それを共有することで、__今からAndroidの分野に興味があるけど、どうやって勉強していいのかわからないという人__にとってためになる記事になればいいなと考えています。ちなみに、この記事ではKotlinやJavaでのネイティブアプリ開発についての話になります。## 始めたてのころ
初めてまずやることのおすすめとしては、動画教材での学習です。よくありがちなのが、最初に大きい本を買って、訳もわからずに挫折してしまったり、なんか分かった気になったけど実際に作るイメージが湧かずあまり意味が無かったと感じてしまうことがあると思います。なので、この段階では実際に動くものを動画というイメージしやすい形で、講師の人と一緒に手を動かしてコードを書くというのが一番良いと思ってい
AndroidでLocalDateを使おうとしてハマった
AndroidでLocalDateを使いたくて[Java 8+ API の desugar のサポート](https://developer.android.com/studio/write/java8-support#library-desugaring)に従って以下の設定を入れた。
“`
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}dependencies {
coreLibraryDesugaring ‘com.android.tools:desugar_jdk_libs:1.1.1’
}
“`そして、ビルドして、実行すると……**クラッシュ!**
なんでかな〜と思ってググっていたら、
https://issuetracker.google.com/issues/157681341
> Could y
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] flutter hooks で簡単にPageViewのアニメーションを作成する [Instagram 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
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた