- 1. 【Android】新しいGooglePlayConsoleでアプリを任意のタイミングで手動公開する方法
- 2. Redmi Note 9SにAPKがインストールできない
- 3. iOS/Androidアプリのセキュリティ関連の参考リンク
- 4. 中華アクションカメラのWiFi遠隔操作機能の中身を知る(しなさい)
- 5. 【超初心者向け】Android入門 LinearLayout編
- 6. 【Android/Java】超シンプルなOptionMenuの作成(API非実装)
- 7. 【Android】【OpenCV】OCRの前処理のための画像処理(二値化・角度補正)
- 8. [memo]ActivityResultContractでActivity間通信を行う
- 9. #19 Kotlin Koans Conventions/Invoke 解説
- 10. #18 Kotlin Koans Conventions/Destructuring declarations 解説
- 11. Flutter系の記事のまとめ
- 12. #17 Kotlin Koans Conventions/Operators overloading 解説
- 13. #16 Kotlin Koans Conventions/For loop 解説
- 14. Ionic+Angular 環境構築からアプリビルドまで
- 15. AndroidにおけるJSR-310実装
- 16. Error: Activity class [Activity名 ] does not exist.解決法
- 17. CloudFirestoreの簡単な使い方(Android)
- 18. Firebase赤ちゃんがKotlinでPUSH通知を送信するまで
- 19. 【超初心者向け】Android入門 EditText編
- 20. MutableLiveData は双方向データバインディングにも使える
【Android】新しいGooglePlayConsoleでアプリを任意のタイミングで手動公開する方法
#はじめに
現時点でまだ従来のバージョンを使用している方には、以下の注意文が表示されていると思いますが
2020/11/01から、GooglePlayConsoleが新しいバージョンへと変更されます。![注意.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106030/55a2fdc9-c8bb-8a20-4985-b4573ea0f6ba.png)
タイトルの通り、アプリを手動公開する方法を記載しておきます。
※従来のバージョンでの手動公開方法は[**こちら**](https://support.google.com/googleplay/android-developer/answer/9543912?hl=ja)##手順
1.対象のアプリを選んでいる状態で、画面の左側の**[公開の概要]**を選択。2.**[管理対象の公開ステータス]** -> **[管理]**を選択。
![1.png](https://qiita-image-store.s3.ap-northeast-1.ama
Redmi Note 9SにAPKがインストールできない
## はじめに
XiaomiのAndroid端末 `Redmi Note 9S` を入手したので開発に使ってみようと思ったところ
APKのインストールができない現象に遭遇しました。色々と調べたら解決方法がわかったのでメモっておきます。## Android Studioからデバッグ実行すると…
このようなエラーが出て、APKがインストールされません。![スクリーンショット 2020-10-21 17.48.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102273/30bf02cb-a4ee-76bb-d818-8c2a270b123b.png)
USBからのAPKインストールが無効になっているようです :thinking:
ADBコマンドでインストールしても同じ結果です 😥
“`
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_USER_RE
iOS/Androidアプリのセキュリティ関連の参考リンク
ちょっとしたきっかけがあって、iOS/Androidアプリのセキュリティに関して情報を収集する必要がありました。
せっかくなので私が出会った良記事をシェアしたいと思います。
## [OWASP Mobile Top 10](https://owasp.org/www-project-mobile-top-10/)
– OWASPは「Open Web Application Security Project」の略で、「オワスプ」と読むようです。
– ソフトウェアのセキュリティ環境や、セキュリティを高めるための技術を共有・普及することを目的として活動しているボランティア組織だそうです。
– Webアプリの[OWASP Top 10](https://owasp.org/www-project-top-ten/)が有名ですが、OWASP Mobile Top 10はそのモバイルアプリ版です。
– ソフトウェアを開発する上で、セキュリティとして警戒をしなければいけない項目のTOP10をレポートしています。
– 何しろ有名どころなので、まずはこれを押さえる必要があると思います。顧客や上席に
中華アクションカメラのWiFi遠隔操作機能の中身を知る(しなさい)
#前置き
お酒飲みながらだらだら書いた。いつかちゃんとまとめる。
###背景
単刀直入に言うとカメラの録画と他の測定装置の記録を同期して行いたいという事情が出てきた!要するに、何らかの実験等で計測開始時に「測定器の操作もして…録画ボタンも一緒に押して…」だと手順が多すぎて時間が勿体ないしミスしやすいので、ボタン一発で時系列をそろえて動画と一緒に計測値も記録できる仕組みが必要というわけである。
###昨今多機能高品質になった廉価版アクションカメラ
GoProのような高級品を~~買えない~~荒い使い方できないし、ある程度の品質で目的を達成できれば十分というユーザーは一定数存在する。最近は4K画質や60FPSの動画に対応した機種も1万円以内で購入できるようになった。ここで特筆すべきはWiFi接続によりスマートフォンから録画ボタンの操作や、ファインダー越しの映像を確認できる機種が登場してきたことである。従来のようにカメラの筐体に触れることなく遠隔で操作できるようになったことで、危険が及ぶ場所や人の存在が介入することのない自然な環境においての録画が安価で可能となった。調べてみても、案外中華ア
【超初心者向け】Android入門 LinearLayout編
#はじめに
今回はLinearLayoutについて解説していきたいと思います。
前回まではTextViewやButton、EditTextなどパーツについての説明をしてきましたが、今回のLinearLayoutはその複数パーツを表示するためのものになります。前回まではTextViewなどのコードをコピペして貼り付けるだけで表示できましたが、今回のLinearLayoutを学ぶと思うままにパーツを設定できて自分好みのUIが出来るようになるでしょう!
# 記事の対象
– Androidアプリ開発初心者
– 前回の記事を読んだ方
– Androidをこよなく愛する方#LinearLayoutとは
はじめに書きましたが前回までのパーツとは違い、今回のLinearLayoutとはパーツを並べていくためのViewになります。
パーツを並べるためのViewはいくつかあります。– LinearLayout
– RelativeLayout
– FrameLayout
– ConstraintLayout
– etc…今回はその中でも最も多く使うLinearLayoutについての解
【Android/Java】超シンプルなOptionMenuの作成(API非実装)
## はじめに
Android開発歴1週間の超ビギナーです。
アウトプットとして簡単なOptionMenuを作成してみました。
これを実装するだけでも、かなり時間かかったので同じビギナーの方の参考になれば幸いです。
※記載量を省略すべく、stringsファイルは使用しておりません。## アプリの概要
画面右上に設置した保存ボタンを押すと、表示されているメッセージが変更するという超シンプルなアプリ
## 各ファイルのコード
### オプションメニューの表示レイアウト設定
【Android】【OpenCV】OCRの前処理のための画像処理(二値化・角度補正)
# はじめに
Androidネイティブアプリで、カード状のものを写真で撮影してOCRを実行したかったのですが、
OCRの前処理として角度補正などの画像処理を行う必要がありました。画像処理といえばOpenCV、ということで情報を探してみると、ちょうどやりたいこととぴったりな記事を発見しました。
[OpenCVを使って免許証を角度補正(射影変換)する-二値化の閾値も自動で決定-](https://qiita.com/nrnrk/items/7aecba89ffb02f0b8d12)こちらの記事はPythonで書かれていたので、Android(Kotlin)向けに書き換えてみました。
※ PythonもOpenCVもほぼ初心者のため、誤りがあったらすみません。# 環境
– Android Studio 3.6.2
– Kotlin 1.3.61
– OpenCV 4.5.0Android StudioにOpenCVを導入する手順については、以下の記事を参考にさせていただきました。
[Android StudioでOpenCVを使う](https://qiita.com/ti
[memo]ActivityResultContractでActivity間通信を行う
#準備
“`build.gradle(app)
implementation(“androidx.activity:activity-ktx:1.2.0-alpha06”)
implementation(“androidx.fragment:fragment-ktx:1.3.0-alpha06”)
“`#結果を受けとるActivity or Fragment側
“`xxx.kt
private val launcher: ActivityResultLauncher= registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) {
if (it.resultCode == Activity.RESULT_OK) {
doSomething()
}
}
“`
※公式ドキュメントではprepareCallとあるが、ライブラリバージョンアップ時にregist
#19 Kotlin Koans Conventions/Invoke 解説
#1 はじめに
Kotlin公式リファレンスのKotlin Koans/Invokeの解説記事です。
Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。
ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**一度各自で挑戦してから、お目通し頂ければと思います:fist:
#2 Invoke関数
[Invoke関数](https://kotlinlang.org/docs/reference/operator-overloading.html#invoke)は、関数の呼び出しが通常の呼び出しより簡易になるという特徴を持ち、**()**だけで参照することができます。
つまり、
通常の関数呼び出しならば`a.invoke()`のようになるところが、
`a()`で呼び出すことができます。
ただし、本文のほうにも注意喚起がありますが、
あまり使いすぎるとコードの可読性が低下してしまうので注意が必要です。
#3 Conventions/Invokeの解説
[Kotlin Koans Conve
#18 Kotlin Koans Conventions/Destructuring declarations 解説
#1 はじめに
Kotlin公式リファレンスのKotlin Koans/Destructuring declarationsの解説記事です。
Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。
ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**一度各自で挑戦してから、お目通し頂ければと思います:fist:
#2 Destructuring Declarations
[Destructuring Declarations](https://kotlinlang.org/docs/reference/multi-declarations.html)
Destructuring Declarationsとは、複数の変数を同時に宣言できる仕組みです。
以下では、`name`と`age`という2つの変数が同時に宣言されています。
“`
val (name, age) = person
“`各要素は別々に利用することが可能です。
“`
println(name)
println(age
Flutter系の記事のまとめ
# まとめ
* 自分のFlutter関連の記事を整理しました
* 自分が一番の読者なのでw## Bitfinexアプリ系
実際のアプリを通して1通りの機能を整理
* [Flutter/DartでBitfinexのレンディングアプリを作る(Part1 インストールと画面作成/画面遷移)](https://qiita.com/kazutxt/items/e4f3bbb4d8b301f4141c)
* [Flutter/DartでBitfinexのレンディングアプリを作る(Part2 stateful/データの永続化)]
(https://qiita.com/kazutxt/items/c114bb6f6bf6969cfa58)
* [Flutterの”Widget of the Week”がめっちゃ勉強になったので、まとめてみた](https://qiita.com/kazutxt/items/10355961ee2fa3a65023)
* [Flutter/DartでBitfinexのレンディングアプリを作る(Part3 グラフ描画/ファイル分割/設計書/アイコン)](
#17 Kotlin Koans Conventions/Operators overloading 解説
#1 はじめに
Kotlin公式リファレンスのKotlin Koans/Operators overloadingの解説記事です。
Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。
ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**一度各自で挑戦してから、お目通し頂ければと思います:fist:
#2 plus()関数/times()関数
いずれの関数も**operator修飾子**がついており、
`a + b` が`a.plus(b)`
`a * b` が`a.times(b)`
を表現します。
([Operator overloading](https://kotlinlang.org/docs/reference/operator-overloading.html))
#3 Conventions/Operators overloadingの解説
[Kotlin Koans Conventions/Operators overloading](https://play.ko
#16 Kotlin Koans Conventions/For loop 解説
#1 はじめに
Kotlin公式リファレンスのKotlin Koans/For loopの解説記事です。
Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。
ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**一度各自で挑戦してから、お目通し頂ければと思います:fist:
#2-1 for構文
[for loop](https://kotlinlang.org/docs/reference/control-flow.html#for-loops)
forを用いることで繰り返し処理を記述することができます。forを用いた構文にはいくつか種類があります。
“`
(例1)
for(i in 1..10){
print(i)
}実行結果は、12345678910
—
(例2)
val collecion = listOf(1, 2, 3)
for (i in collection) {
print(i)
}実行結果は、123
“`
(例1)の構文は“`
for
Ionic+Angular 環境構築からアプリビルドまで
## 環境
– macOS v10.15.5
– npm v6.13.4
– Ionic v6.10.1
– Xcode v12.0.1
– Android Studio v4.0.1## Ionic環境構築
Nodeを以下からインストールします
https://nodejs.org/ja/Ionic CLIをインストールします
“`
% sudo npm install ionic -g
“`
## Ionic+Angularプロジェクトを作成
以下コマンドでIonic+Angularプロジェクトを作成します“`
% ionic start –type=angular
“`以下のように聞かれるので`? Project name:`の後に任意のプロジェクト名を入力します
“`
Every great app needs a name! ?Please enter the full name of your app. You can change this at any time. To
bypass this prompt next time, su
AndroidにおけるJSR-310実装
ちょっとツイッターに流れてきた情報を見て気になったので改めて調べてみました。
[https://twitter.com/red_fat_daruma/status/1268177028915716102:embed]
## TL;DL
– ThreeTenABPでJSR-310を利用する場合は環境によらず同じtz databaseを参照する(はず
– desugaringでJSR-310を利用する場合は実行環境により異なるtz databaseを参照する(はず## java.util.Date と JSR-310
java.util.Dateが使い勝手が悪いことは良く知られており、Java SE 8ではjava.util.Dateを置き換える`Date and Time API`が追加された。このAPIはJSR-310として標準化されており、インターフェースがデベロッパーフレンドリーであるだけでなくインスタンスがイミュータブル、スレッドセーフといった機能的な優位性を持つ。[1]## AndroidでのJSR-310実装方法の変遷
前述の通りJSR-310はJava SE
Error: Activity class [Activity名 ] does not exist.解決法
#実機ビルドでエラー発生!
とにかく早くこのエラーを解決したい方の為にまず試して欲しいキーワードを書いておきますので、それをコピペしてググってみてください。簡単に試せる方法からご紹介します。
**1.GoogolePlayStoreのPlayプロテクトを外す**
**2.Clean ProjectをしてAndroidStudioを再起動する**
**3.adb uninstall [パッケージ名] というコマンドを試す**以下は私のエラー遭遇振り返りです。
バグ修正を反映させるため、実機にあったアプリをアンインストールしていざデバッグ起動しようとしたら突然の拒絶。
“`
Error: Activity class [Activity名 ] does not exist.
“`え…?Activityあるよ…?え…?(パニック)
色々と試しましたが最終的に解決に至った方法は…
**GoogolePlayStoreのPlayプロテクトを外す**
信じられないくらい簡単な解決法。
これでもう安心かと思いきや、また同じエラーに遭遇。
GoogolePlaySto
CloudFirestoreの簡単な使い方(Android)
##はじめに
CloudFirestoreのAndroidでの基本的な使い方をメモ。
(導入から簡単なデータの送信受信など。)
使用言語はJava、開発環境はAndroidStudioを使用しています。
初投稿なので見にくい点が多々あると思いますがご了承を。
##Firestoreについて
FirestoreはNoSQLデータベースです。
ファイル構造は画像の通りです。
コレクション内にドキュメントが入っていてその中のデータを使います。
ドキュメント内にサブコレクションを作成することも可能です。
![structure-data.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686889/4a5dbf95-be00-ebfc-36e7-4f1fb87593b2.png)##プロジェクトの作成、準備
[Firebase](https://console.firebase.google.com/u/2/)のホームページからプロジェクトを作成をクリックし、プロジェクトの追加をクリック好きな名前を設定しアナ
Firebase赤ちゃんがKotlinでPUSH通知を送信するまで
はじめまして。プロ赤ちゃんです。
この記事では、FirebaseのFも理解できていない赤ちゃんが三日三晩苦しんだ末にFirebase赤ちゃんからFirebase幼稚園に入園するまでのサクセスストーリーを書いていきます。
よろしくおねがいします# Firebase赤ちゃんの誕生(サイトアクセス~ログインまで)
[Firebaseのサイト](https://console.firebase.google.com/)にアクセスし、押してくれと言わんばかりの「使ってみる」ボタンを押します。
Googleアカウントのログイン画面が出てくるのでログインするかアカウントを作るかして先に進みます。
そうしたら↓の画面が出てきました!Firebase赤ちゃんの誕生です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294935/424de5a6-b5f3-7f4c-d1ed-8b2359a44f3d.png)次はプロジェクトを作成します。
# Firebase乳児期(プロジェクト作成まで)
【超初心者向け】Android入門 EditText編
# はじめに
前回はButtonを解説したので、今回はEditTextについて解説していきたいと思います。# 記事の対象
– Androidアプリ開発を始めたばかりの人
– 前回の記事を読んだ方# EditText
EditTextとは、入力可能なテキストフィールドです。# 1. EditTextを配置していく
“`xml:activity_main.xml
MutableLiveData は双方向データバインディングにも使える
[データバインディング](https://developer.android.com/topic/libraries/data-binding?hl=ja)を利用して EditText に入力した内容を ViewModel に通知する処理を実装していました。
“`xml
“`“`kotlin:FormViewModel.kt
class FormViewModel : ViewModel() {
var userName = ObservableField()
}
“`上記の実装だと、`FormViewModel`から`userName`を変更すると View に反映されますが、逆に画面