- 1. Xamarin.FormsでAndroidアプリ開発③ 開発したアプリをスマホで実行。躓きポイントは、共有ランライム!
- 2. LiveData の Unit Test(UnitTest探求記2)
- 3. [Android]AndroidX Preference Library で作れる設定をまとめる
- 4. 【Android Kotlin対応】プログラミング記号文字読み方一覧【初心者向け】
- 5. FirestoreのTimestampとDateの相互変換
- 6. Google Play In-App Review APIを簡単に使うためのライブラリを作成してみた
- 7. Xamarin.FormsでAndroidアプリ開発② サンプルアプリ作成
- 8. Xamarin.FormsでAndroidアプリ開発① Visual Studioのインストール
- 9. Androidアプリのアップロード鍵.keystoreの作成と管理について
- 10. 【Android/Kotlin】フラグメントのライフサイクルまとめ
- 11. setFragmentResultListenerを使った通知をするDialogFragmentの実装提案
- 12. スマホもPCの一員としてファイル同期したいじゃない?Ⅱ
- 13. GoFのデザインパターンまとめ
- 14. Unit Test と Instrumented Unit Test の実行(UnitTest探求記1)
- 15. モバイルブラウザのキーボードの種類は制御できない
- 16. 【Flutter】TextFieldのonSubmittedコールバックが頻繁に呼ばれる時に確認すべきこと【Android】
- 17. 【Kotlin入門】?:が出てきてなんのこっちゃ【エルビス演算子】
- 18. # HMS Core Scan SDKを使用したバーコードスキャン機能の実装
- 19. EMUIで最近のアプリ一覧の表示が消えるバグを対処する(非Root環境)
- 20. Status barを透明にする方法
Xamarin.FormsでAndroidアプリ開発③ 開発したアプリをスマホで実行。躓きポイントは、共有ランライム!
アプリ開発が終わったので、あとはAPKファイルをスマホで実行するだけ!と思っていたのですが、少し躓きました…。
今回手順を追ってしっかり説明していこうと思います。# ビルドの設定
1. まずはソリューションエクスプローラーの[ソリューション名].Androidを右クリックしてオプションを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/05e30ce0-c475-4cd2-9a25-021b17d03ebb.png)2. Androidオプションの「共有ランタイムの使用」をオフに。**ここが重要です!**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/0f3858c7-9dca-db91-ec79-2a278e2ce93d.png)これがオンになっている時は、Visual Studioインストール時に勝手にインストールしてくれた「MONO
LiveData の Unit Test(UnitTest探求記2)
Unit Test 探求記は、unit test に関してまったりと実験しつつその過程を綴ってみるというものです。
# 今回のお題
LiveData の unit test を行ってみます。# テスト対象
今回は、[Transformations#map(LiveData, Function)](https://developer.android.com/reference/kotlin/androidx/lifecycle/Transformations#map(androidx.lifecycle.LiveData,%20androidx.arch.core.util.Function)) に対して複数の [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) を受けられるようにしたメソッドを作成して、それをテスト対象とします。## ◆ TransformationsUtils
[TransformationsUtils.kt](https://githu
[Android]AndroidX Preference Library で作れる設定をまとめる
# はじめに
AndroidX Preference Library でどのような設定画面が実装できるのかまとめが欲しかったので作成しました。基本的な使い方は[こちら](https://qiita.com/kaleidot725/items/f9ce2fbbf479d2a9f2bb)にまとめていますので参考にしてみてください。
| 要素 | 説明 | 見た目 |
| ————————- | —————————————————- | ———————————————————— |
| Preference | Fragmentへの遷移や
【Android Kotlin対応】プログラミング記号文字読み方一覧【初心者向け】
##使い方
先輩が何言ってるかわからない時に新人が使います
##読み方一覧
|記号|読み方|
|:—-|:—-|
|+|プラス、プラ、プラス符号、正符号、たす|
|-|マイナス、マイナス符号、負符号、ひく|
|*|アスタリスク、スター、かけ、こめ、ほし|
|/|スラッシュ、スラ、わる|
|\\|バックスラッシュ、バック、逆斜線 ※JISコードは¥|
|%|パーセント|
|.|ピリオド、ドット、てん、小数点文字|
|,|コンマ、カンマ|
|:|コロン、ダブルドット|
|;|セミコロン、|
|’|シングルクォーテーション、一重引用符、引用符|
|”|ダブルクオーテーション、二重引用符|
|`|バッククォート、グレイヴ・アクセント|
|(|左括弧、左丸括弧、パーレン|
|)|右括弧、右丸括弧|
|{|左波括弧、左中括弧、ブレイス|
|}|右波括弧、右中括弧|
|[|左角括弧、左大括弧、ブラケット|
|]|右括弧、右大括弧|
|<|小なり| |>|大なり|
|?|はてな、クエッション、クエスチョン、疑問符|
|!|びっくりマーク、びっくり、エクスクラメーション、ノット、感嘆符|
|&|
FirestoreのTimestampとDateの相互変換
Android SDKでの話です。
特にDateからTimestampへの変換を忘れがちなので、備忘録として。– https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp
“`kotlin
// Date -> Timestampの変換
val timestamp = Timestamp(Date())// Timestamp -> Dateの変換
val date = timestamp.toDate()
“`
Google Play In-App Review APIを簡単に使うためのライブラリを作成してみた
[Google Play In-App Review API](https://developer.android.com/guide/playcore/in-app-review) によって、Androidでもアプリ内からレビューの投稿ができるようになったので、レビューUIの表示をサポートするライブラリを作成しました。
[GitHub – ReviewPromptManager](https://github.com/hitting1024/ReviewPromptManager)
## 要件
Android 5.0 以上
## 使い方
### インストール
moduleのbuild.gradleに以下の依存を追加してください。
“`gradle
implementation ‘jp.hitting.review-manager:review-manager:0.0.1’
“`### 設定
Applicationクラスにて `daysUntilPrompt` と `usesUntilPrompt` を設定してください。
– `daysUntilPrompt`
Xamarin.FormsでAndroidアプリ開発② サンプルアプリ作成
[前回](https://qiita.com/yasu006/items/1c29af89bce513245d6a)インストールしたVisual Studioでサンプルアプリを作っていきます。
# Xamarin.Formsのソリューションの立ち上げ
1. まずVisualStudioを立ち上げると以下の画面が出てきます。「新しいプロジェクトの作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/93fc27f9-bf5b-8c81-122a-d1d9b608a4d0.png)2. 色々出てきますが、モバイルアプリ(Xamarin.Forms)を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/e3f653ea-f1e8-6dbb-7719-9b35110477b4.png)3. 適当に場所と名前を設定します。
![imag
Xamarin.FormsでAndroidアプリ開発① Visual Studioのインストール
前回はAndroid Studioを使ったアプリの開発を紹介しましたが、将来的にWindowsやiOSでの開発も考えると、Xamarinでの開発がお勧めです。
まだどのようなものかあまり分かっていませんが、チャレンジしていこうと思います。# Visual Studioでのアプリ開発
Xamarinを使う開発ソフトとして、MicrosoftのVisual Studioを使います。開発言語はC#です。
MicrosoftはWindowsというイメージですが、最近はどんどんオープンソース化されてきていて、今はいろんなOSで動くアプリが開発できます。
少し歴史を紐解くと、.Net Framework : Windowsで動くアプリが動くフレームワーク
↓
.Net Core : Windowsだけでなく、Linux、Macで動くフレームワーク
↓
Xamarin : Android/iOSで動くフレームワーク
↓
(将来).Net 5 : Windows/Linux/Mac/Android/iOSすべてで動くフレームワーク
※現在プレビューは出ていますが、まだAndroidは
Androidアプリのアップロード鍵.keystoreの作成と管理について
Androidの署名ファイル(keystore)について個人的まとめ。
# keystoreとは
今回作成するkeystoreファイルはアップロード鍵と呼ばれるもの。
> アップロード鍵: Google Play アプリ署名用にアップロードする前に、App Bundle または APK への署名に使用する鍵。アップロード鍵は非公開にする必要があります。
[公式 – アプリへの署名](https://developer.android.com/studio/publish/app-signing?hl=ja:embed:cite)
非公開にしなければならないため、Androidプロジェクトディレクトリ配下に置いてあると、うっかりGitHubにプッシュしてしまったりと危険な香りがします。
そのためローカル(`/Users/user/.gradle`)に格納し、アプリのビルド時もそこから参照するように設定します。
# 環境
* Windows 10 Pro
# 手順
## /Users/user/.gradle/gradle.propertiesにパスを記述する
あら
【Android/Kotlin】フラグメントのライフサイクルまとめ
#フラグメントのライフサイクル
まず、フラグメントとは「サブアクティビティ」的なポジションである。アクティビティが成り立っている上で、フラグメントは存在している。ライフサイクルについても同じような関係にあり、アクティビティのライフサイクルが破壊されれば、フラグメントのライフサイクルも破壊されてしまう。あくまでもアクティビティあってのフラグメントである、という事が重要だ。フラグメントとアクティビティのライフサイクルを表した図が以下。
![complete_android_fragment_lifecycle (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658219/8ccf88c1-3499-98ef-28f8-fe32b01c4160.png)
参照:[lifecycle:Activty/Fragment](https://github.com/xxv/android-lifecycle)
この図は非常に分かりやすく両者のライフサイクルを理解することが出来る。今回は、この図のメインでもある
setFragmentResultListenerを使った通知をするDialogFragmentの実装提案
`androidx.fragment:fragment:1.3.0-alpha04`から新しく `setFragmentResult / setFragmentResultListener`が追加され、`setTargetFragment`がdeprecatedになりました。
おそらく多くの呼び出し元に通知を送る`DialogFragment`では、`setTargetFragment`を使ってListenerなどで実装していたのではないでしょうか。
“`従来のDialogFragment.kt
class MyDialogFragment : DialogFragment() {companion object {
private const val REQUEST_CODE = 100fun show(target: Fragment) =
newInstance().run {
setTargetFragment(target, REQUEST_CODE)
スマホもPCの一員としてファイル同期したいじゃない?Ⅱ
# おはようございます!
[前回の続きです。](https://qiita.com/ykato/items/74642f7bfd0685f97afc)
前回の
「**Syncthing**に似てる気がするけど知ってる?参考になるかもよー見てみたら??」
にスマホアプリも追従させてみたよ!って記事です。
### やたらスマホ!
要するにHTTP(S)使ってフォルダを同期してくれる君というやつです。
Syncthing以外にもNearby Shareもあるじゃーんってご指摘あるな。
でも、これ強みとしてはバイナリいっこで動くし、マルチOS対応だし、、あと今あるプロキシとか**HTTPエコシステム**に乗っかれるのがこのツールの推しポイント
# DE・KI・TA
## これは何
今まで断片的に知っていたデザインパターンを改めて勉強し直したのでそのまとめです。
## 23個のデザインパターン
### 1. 生成に関するパターン
– Abstract Factory
抽象的な部品から抽象的な製品を作成する、抽象的な工場のパターン。
ある製品の製造過程を抽象化するイメージ。
あらかじめ、工場、部品、完成品に対応する抽象クラスを作成しておき、
それらすべての抽象クラスを継承した工場、部品を使って具体的な完成品を作成する。– Builder
インスタンスの初期化をカプセル化するパターン。
Builderインスタンスは初期化したいインスタンスをフィールドに持ち、
外部からBuilderインスタンスのメソッド経由でインスタンスの初期化を行う。
比較的よく目にするパターン。– Factory Method
インスタンスの生成が外部の状態に依存していたり、
生成が外部の状態を変化させる時に便利なパターン。
Factoryクラス内で状態を管理しておき、
Factory Method経由でインスタンスを生成するようにする。– Prototype
Unit Test と Instrumented Unit Test の実行(UnitTest探求記1)
Unit Test 探求記は、unit test に関してまったりと実験しつつその過程を綴ってみるというものです。
# 今回のお題
Unit test と instrumented unit test を実行してみます。# Unit Test の実行(失敗例)
ここで言う unit test とは、src/test 以下のテストのことを指しています。わざと間違えて、テストが実行されていることを確認してみます。
[ExampleUnitTest.kt](https://github.com/beyondseeker/chrono0020/blob/e92036e2caccdd3922c26e74028e36ffdecd454e/app/src/test/java/com/objectfanatics/chrono0020/ExampleUnitTest.kt)“`kotlin:ExampleUnitTest.kt抜粋
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
// as
モバイルブラウザのキーボードの種類は制御できない
スマートフォンなどのモバイル端末のブラウザでは、input要素をフォーカスするとキーボードが出現する。
このキーボードは、「英語」「日本語 – かな」などの種類があり、日本語利用者なら切り替えながら使っているだろう。
で、input要素をフォーカスした時に出てくるこのキーボードの種類を制御したい、という要望はままあるだろう。
たとえば、英数字のみからなる何らかのシリアルコードのようなものの入力欄は、日本語ではなく英語キーボードを表示させたいだろう。
結論からいうと、**キーボードの種類は制御できない。**
もう少し正確に言うと、**日本語ではなく英語キーボードを常に表示させるようにすることはできない。**## type属性で制御できるのではないか
巷の技術系ブログなどではよく書かれている。“`html
関連する記事
OTHERカテゴリの最新記事
-
- 2024.11.14
JAVA関連のことを調べてみた
-
- 2024.11.14
iOS関連のことを調べてみた
-
- 2024.11.14
JavaScript関連のことを調べてみた
-
- 2024.11.14
Rails関連のことを調べてみた
-
- 2024.11.14
Lambda関連のことを調べてみた
-
- 2024.11.14
Python関連のことを調べてみた