- 1. AndroidStudio 3.6.3を日本語化する
- 2. 【入門】AndroidStudio Hello Worldをエミュレータ上に表示させる
- 3. Kotlin, LiveData, coroutine なんかを使って初めてのAndroidアプリを作る(13)Firebase Cloud Firestore使ってみた編
- 4. AndroidStudio 3.6.3 インストール
- 5. Layout Validation を使いこなせ
- 6. KotlinでFragmentを使う(失敗)
- 7. AndroidStudioで様々なボタンの動作を確認
- 8. Android Studioへの画像リソースの追加が劇的に楽になってたので紹介します
- 9. THETAプラグインでTensorFlow Liteのセグメンテーションをかける
- 10. 楽天モバイルで自社回線かパートナー(KDDI)回線のどちらに接続しているか判定する
- 11. 【Flutter】Flutter製アプリをリリースしてみた、あとARとかも使ってみた話
- 12. [Navigation] Single Activity構成時のアナリティクスのスクリーン計測Tips
- 13. recyclerViewにステータスバー分のパディングを入れる
- 14. Android App Bundleをコマンドラインで署名して生成する方法
- 15. ローカライズファイルをAndroidとiOSで共通管理する
- 16. Androidアプリが非SDKインターフェースを使用していないか調べる方法
- 17. AndroidStudioで可変リスト表示を作る(前編)
- 18. 【Kotlin】AndroidxのPreferenceFragmentCompatを使ってみる
- 19. Android Emulatorで撮影したスクリーンショットの保存先変更
- 20. Roomでデータベースに値を保存
AndroidStudio 3.6.3を日本語化する
#はじめに
Android Studioを日本語化するところまで確認したいと思います。#環境と前提条件
– windows10
– Android Studio 3.6.3(64bit)Android Studioがインストールされていることが前提です。
インストール方法は[こちら](https://qiita.com/kepin/items/cccb27d5ba4857d46bb2)を参考にしてみてください。#プラグインをダウンロードする
[こちら](https://mergedoc.osdn.jp/)からプラグインをダウンロードします。
リンクを開いたら、 Pleiades プラグイン・ダウンロードのwindowsボタンを押下します。
あと、7-zipで解凍云々と書かれていますね。公式に従い、インストールしていない場合は7-zipもインストールします。後ほど使います。
![2020-05-28 (34).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/645318/dfcd4194-b
【入門】AndroidStudio Hello Worldをエミュレータ上に表示させる
#はじめに
AndroidStudioでプロジェクトをビルドして、HelloWorldをエミュレータ上に表示されるところまで確認したいと思います。AndroidStudioインストール後の動作確認として試してみます。#環境と前提条件
– windows10(64bit)
– AndroidStudio 3.6.3
– AndroidStudio 日本語化済み
– API 29(Android 10.0)インストール方法は[こちら](https://qiita.com/kepin/items/cccb27d5ba4857d46bb2)
日本語化は[こちら](https://qiita.com/kepin/items/213562dafea8c96e4fdf)
を参考にしてみてください。#プロジェクト作成
まずはプロジェクトを作成します。はじめに、AndroidStudioを起動します。
下記のようなウィンドウが開いたら新規AndroidStudioプロジェクトの開始を押下します。
![2020-05-29 (23).png](https://qiita-image-sto
Kotlin, LiveData, coroutine なんかを使って初めてのAndroidアプリを作る(13)Firebase Cloud Firestore使ってみた編
[Firebaseの導入(Analytics/Crashlytics)](https://qiita.com/kasa_le/items/560775076c3b2f00fcf7)、[Firebaseでのユーザー認証](https://qiita.com/kasa_le/items/0ec2b993cd52041f393c)とやってきて、ようやくFirebaseのCloud Firestoreへの保存をやります。
# 今回の目標
Firebase Cloud Firestoreに簡単なデータを保存し、取得できる。
また、ユーザー認証と組み合わせてセキュリティルールを設定する。# Firebase Cloud Firestore概要
https://firebase.google.com/docs/firestore?hl=ja
Cloudと付いているとおり、クラウドへの保存です。まあつまりサーバーにデータがありますよってことです。
で、SQLiteのようなRDBではなく、NoSQLと言われています。データ保存が出来るFirebaseの似たようなサービスに、Realtime
AndroidStudio 3.6.3 インストール
#はじめに
AndroidStudio 3.6.3をインストールするところまで確認したいと思います。#環境と前提条件
– windows10(64bit)
– メモリ:8GB当初はメモリ4GBでAndroidStudioをいじっていましたが、エミュレーター起動時に厳しさを感じたのでメモリを増設して8GBにしました。故に、メモリは8GB以上がよろしいかと思います。
#AndroidStudioをダウンロードする
[こちら](https://developer.android.com/studio/install?hl=ja)のページを参考に進めていきます。上記リンクを開いたら、赤枠のリンクを押下します。
![2020-05-29 (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/645318/0696ba26-df1a-31ab-9ff7-436f960e6679.png)赤枠に対象のバージョンと対象OSが記載されています。今回はこちらで問題ありません。
そのまま、DOWNLOAD
Layout Validation を使いこなせ
## Layout Validation とは
[Android Studio 4.0](https://developer.android.com/studio/releases/#4-0-0) から使えるようになった、様々な画面サイズやデバイスの構成におけるレイアウトを同時にプレビューするためのツールです。画面サイズだけでなく、Dark Theme や色覚多様性、多言語、テキストサイズの変更までも確認することができます。
## 使い方
Android Studio 4.0 以降でレイアウトのファイルを開くと IDE に `Layout Validation` のボタンが表示されます。
![layout-validation-tab.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126298/0f17855e-ee3b-41b9-286e-ceab35f14c5e.png)### 様々な画面サイズの確認
左上のドロップダウンより `Pixel Devices` を選択することで様々
KotlinでFragmentを使う(失敗)
#KotlinでFragmentを使う
KotlinでFragmentを使ってみます。失敗っていうのは結果だけで途中の段階は重要な部分もあります。##前準備
Gsonを使いますのでbuild.gradle(app)に“`build.gradle(app)
dependencies {
省略
implementation ‘com.google.code.gson:gson:2.8.6’
}
“`gsonを追加します。 2.8.6の部分はバージョン番号です。
“`strings.xml
FragmentSample
保存
読込
String型
AndroidStudioで様々なボタンの動作を確認
#AndroidStudioでボタンの動作を確認します
ボタンのクリックイベント、ボタンのチェック状態を確認するサンプルを作ってみます。“`strings.xml
ButtonSample
うどん
そば
油揚げ
天ぷら
精算
お支払い
“`うどん、そば屋さんで精算するアプリです。
“`activity_main.xml
Android Studioへの画像リソースの追加が劇的に楽になってたので紹介します
## これまでのやり方
これ僕だけなのかもしれないのですが、今までは下記のようなサイズ別の画像を
![Screen Shot 2020-05-29 at 9.54.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51328/321ff4aa-5a84-974b-5d4d-e559d72e8608.png)
下記のリソースフォルダへ一つ一つコピペしておりました。
![Screen Shot 2020-05-29 at 9.54.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51328/b027868c-496f-7557-2cd0-6a3c62794773.png)
これが地味に面倒で、コピー対象には`ldpi`がなかったり、`v24`などがあったり、ちゃんと間違いのないコピペができたかを毎度チェックしていました。今回のように一つのリソースならまだしも、大きめの改修でリソースの数が多いと、この作業だけで結構気力を
THETAプラグインでTensorFlow Liteのセグメンテーションをかける
#はじめに
リコーの[Yuuki_S](https://qiita.com/Yuuki_S)です。
弊社では[RICOH THETA](https://theta360.com/ja/)という全周囲360度撮れるカメラを出しています。
RICOH THETA VやTHETA Z1は、OSにAndroidを採用しており、Androidアプリを作る感覚でTHETAをカスタマイズすることもでき、そのカスタマイズ機能を「プラグイン」と呼んでいます。(詳細は本記事の末尾を参照)。
***
上述の通りTHETAは、カメラでありながらAndroid端末でもあるため、単体で撮影し機械学習の処理をかけて出力することが可能です。以前、@KA-2さんが[THETAプラグインで連続フレームにTensorFlow Liteの物体認識をかける](https://qiita.com/KA-2/items/8c150975a998b0ad0f16)記事を掲載しましたが、今回はセマンティックセグメンテーションを実施する方法を記載しようと思います。
本記事を参考にすることで、セグメンテーション結果をライブプレビュー
楽天モバイルで自社回線かパートナー(KDDI)回線のどちらに接続しているか判定する
# 前置き
筆者はデジモノガジェットが好きなので、楽天モバイルのRakuten UN-LIMITを契約しています。
ご存知の方も多いと思いますが、楽天モバイルは後発のキャリアですので自社の回線のエリアが狭く、パートナー(KDDI)回線でエリアを補強しています。
自社回線は容量無制限でパートナー(KDDI)回線は5GBという制限があるので、リアルタイムでどちらの回線に接続しているか把握できれば便利だと思い調査しました。# 構成
| 名前 | バージョン |
| ————- | —————- |
| macOS | Catalina 10.15.4 |
| AndroidStudio | 3.6.3 |
| Kotlin | 1.3.72 |
| AVD(API) | 使用しません |
| 実機 | SH-RM11 |# 判定ロジック
世間では電波の周波数(バンド)を取得して判断していることが多いと思います。|
【Flutter】Flutter製アプリをリリースしてみた、あとARとかも使ってみた話
## アプリ概要
ゴルフの[オリンピックゲーム](https://www.clunk.jp/golf-olympic-rules#1)の計算やボールとピンまでの距離のAR測定,1−18までの乱数を生成することができる、ゴルフ幹事向けのアプリです。
[App Store はこちら](https://apps.apple.com/jp/app/engolf/id1507668448?l=en)
[Google Play Store はこちら](https://play.google.com/store/apps/details?id=com.tetsukick.engolf)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261934/67933117-6fcb-fd17-a67e-2c6f9c547368.png)
[Navigation] Single Activity構成時のアナリティクスのスクリーン計測Tips
Navigationコンポーネントを使い、アプリをSingle Activity構成にした際のアナリティクス([Firebase Analytics](https://firebase.google.com/docs/analytics))のTipsを紹介します。
# 存在感の強い `MainActivity`
アナリティクスを使う場合、Activityは自動で計測されるため、特に意識せずとも画面遷移がトラッキングされ便利です。
https://firebase.google.com/docs/analytics/screenviewsしかしながら、自動計測はActivityのみのため、Navigationコンポーネントを使ったSingle Activity構成の場合に、そのままだと **存在感の強いMainActivity** が出来上がってしまいます。
recyclerViewにステータスバー分のパディングを入れる###最初に
このページはステータスバーを透過させた際にステータスバーのメニューと
リストの内容が被ってしまうことがあるため備忘録として記させていただきます
##実装方法“`MainFragment.kt
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
presenter.onViewCreated()
recyclerView.requestApplyInsets()
recyclerView.setOnApplyWindowInsetsListener{v, insets ->
v.setPadding(0,insets.systemWindowInsetTop,0,0)
return@setOnApplyWindowInsetsListener insets
}Android App Bundleをコマンドラインで署名して生成する方法
## はじめに
初めてAndroidアプリのリリースビルドを行ったのですが、いくつかつまづいたところがあったので、体系的にまとめることにします。
Android Studioで行うとかんたんだと公式ドキュメントに記載されていますが、今後CD環境を構築することを考慮し、コマンドラインでビルドすることにしました。
## 「Android App Bundle」とは?
拡張子が( `.aab` )であることもあり、本記事では「AAB」と略します。
アプリのコードとリソースをモジュールにまとめる署名付きのバイナリファイルです。
AABをPlay Consoleにアップロードすることで、ユーザーに提供するさまざまなAPKを自動で生成します。Android Studio 3.2 以降で使えます。
## AABのメリット
従来のAPK形式と比べ、以下のメリットがあります。
メリットは他にもあります。詳細は公式ドキュメントをご参照ください。
https://developer.android.com/platform/technology/app-bundle?hl=ja###
ローカライズファイルをAndroidとiOSで共通管理する
## はじめに
AndroidとiOSでサービスを展開している場合、同じ文言を使っている。
プラットフォームごとに管理することで文言の誤字が発生しやすく、コストも上がる。
ローカライズファイルを効率よく管理する方法を考えました## 前提条件
– AndroidとiOSで共通のリソースを扱う
– 差分を追いやすいこと## githubを使って管理
– オリジナルデータとなる文言とkeyはjsonにして管理
– githubを使うことで差分を追いやすくなる
– CIを使うことで自動化できる## ローカライズファイルを更新するツール
– JSONからローカライズファイルを生成するのを簡単にするためにツールを作成した
– [t-osawa-009/JSONToString](https://github.com/t-osawa-009/JSONToString)### 使い方
1.オリジナルデータとなるJSONファイルを追加“`json
[
{
“key”: “hoge”,
“key_android”: “hoge”,
“key
Androidアプリが非SDKインターフェースを使用していないか調べる方法
分かりやすい方法としては、対象のOSをエミュレーターで起動しアプリのすべての操作を実施して以下のようなログが表示されていないか確認する方法がある。
この方法であれば発生箇所がある程度予測できるし、非SDKを使用してはならないなどの要件にも対応しやすい。“`
Accessing hidden field Landroid/os/Message;->flags:I (light greylist, JNI)
“`参考
https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces#test-for-non-sdk
AndroidStudioで可変リスト表示を作る(前編)
#AndroidStudioで可変リスト表示を作る(前編)
リスト表示を作ってみましょう|Android|アンドロイド|
|:—|:—|
|Java|ジャバ|
|Kotlin|コトリン|こういうリスト表示を作ってみます。
表示が固定ではなくボタンを押すと追加されるように作ります。画面表示に使用する文字列を登録してしまいます。
“`strings.xml
QiitaHelloSample
追加
削除
追加する値
“`ListViewと追加ボタン、削除ボタンを並べたいのでレイアウトを工夫します。
activity_main.xmlに元からあるTextView
【Kotlin】AndroidxのPreferenceFragmentCompatを使ってみる
##はじめに
今回も例によって初学者向けの内容になっているかと思います。私自身が初学者である為、理解の浅い所や間違いなどあるかも知れません。都度ご指摘頂けると嬉しいです。さて、Androidには昔からアプリの設定画面を簡単に作る仕組みがあります。ググれば記事は沢山見つかるのですが情報が古くなっているものも多かったので、Androidxライブラリでの実装をKotlinで書いてみようと思います。
##準備
Androidxライブラリを使うため、build.gradle(appのほう)のdependencies内に記述が必要です。“`kotlin:build.gradle(Module.app)
dependencies{implementation ‘androidx.preference:preference:1.1.1’//これを追加
}
“`##構成
先に必要なファイルを挙げておきます。
-SettingActivity.kt
-activity_setting.xml
-SettingFragment.kt
-preference.xml##
Android Emulatorで撮影したスクリーンショットの保存先変更
#はじめに
Android Studio付属のエミュレータでスクリーンショットをたくさん撮る必要があったときに、
いちいちデスクトップに保存されてしまうのをなんとかしたい!と思い調べたことの備忘録です。
#環境
Android Studio 3.6(RC1)
Android Emulator 27.3.10
#方法
エミュレーター画面の横に表示されるパネルの最下部にある[詳細]ボタンを押すと表示されるメニューから、
[Screenshot save location]の項目で変更できます。
![C855A9C6-0034-43B8-8B12-670C268F1F8E.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631351/e05279c5-debe-0cb3-4cab-cc8950ab582f.png)
Roomでデータベースに値を保存
# はじめに
[前回](https://qiita.com/karass/items/4f2e33446eb0253859ef)は、入力した値をリスト表示するところまで行いましいた。今回は、そのデータをデータベースに保存するようにします。# 目標
Roomを追加するだけなので、今回はレイアウトの変更はありません。
アプリを閉じて、再起動したときにデータが保持されてるかを確認してください。# 環境
– Android Studio 3.6.3
– Kotlin 1.3.72# 作成手順
## Gradle“`build.gradle
apply plugin: ‘kotlin-kapt’
…
dependencies {
…
implementation “androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0”def room_version = “2.2.5”
implementation “androidx.room:room-runtime:$room_version”