Android関連のことを調べてみた2020年04月12日

Android関連のことを調べてみた2020年04月12日

【Flutter】キーボード外タップで、キーボードを閉じる

## キーボードを閉じるには?

主に以下の2つの方法があります。
今回は、1の方法を紹介いたします。

1. キーボード外の画面タップでキーボードを閉じる
2. キーボード上に閉じるボタンを配置する

## キーボード外の画面タップでキーボードを閉じる

キーボードを閉じる処理は以下のコードです。

“`Dart
FocusScope.of(context).unfocus()
“`

画面タップ時に上記の処理を発火させるには、`GestureDetector`を使用して、以下のように記載いたします。

“`Dart
GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: HomePage(),
),
“`

だいたいこんな感じです

“`Dart
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@ove

元記事を表示

RecyclerViewとCardViewを使ってリスト表示(Kotlin)

# 概要
今年から社会人になり、Androidエンジニアとして働かせていただくことになりました。Android開発の経験は全くなく、会社の先輩方に丁寧に教えてもらったことを忘れないうちにまとめていきたいと思います。今回はTodoアプリのようなものを作りたいと思い、そのためにRecyclerViewを使い実装していきます。

# 目標
[TodoMVC](http://todomvc.com/examples/kotlin-react/#?route=any)のようなTodoアプリを目標に作っていきます。今回は以下の画像の様に任意のリストを表示させてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289190/cc913e75-b539-459f-1447-5be8f51a2b95.png)

# 環境
– Android Studio 3.6.2
– Kotlin 1.3.71

# 作成手順
## 前準備
RecyclerViewとCardViewを使うために**build.g

元記事を表示

[Flutter]Android端末の戻るボタンを無効にする

# 対応方法
`WillPopScope` で囲い `onWillPop` で falseを返す

“` dart
WillPopScope(
onWillPop: () async => false,
child: Scaffold(
body: _buildBody()
),
);
“`

元記事を表示

【Android】 MaterialAlertDialogで色々実装する

MaterialDialogに関してこういうレイアウトを作りたいと思った時に
どうしたらいいのか忘れることがあったのでレシピブック的な感じでまとめてみました.

## Dialogの導入
### 依存の追加
まずは作成したプロジェクトの`build.gradle`にMaterialDesignの依存を追加します.

“`build.gradle
dependencies {
// …
implementation ‘com.google.android.material:material:
// …
}
“`

``には現在のバージョンを記載します.
執筆時点(4月10日)では安定版が`1.1.0`となります.
最新版についてはGithubの[リリースページ]([Releases · material-components/material-components-android · GitHub](https://github.com/material-components/material-components-android/

元記事を表示

【AndroidStudio】TextClock使用時にデザインビューが表示されない件について

# 概要
先日、AndroidStudioの最新版(3.6.2)をインストールしたのですが、前環境で作成していたアプリのデザインビューが表示されなくなってしまいました。
エラーを確認してみると、「Render problem」と示されています。

いろいろ調べたところ、原因はTextClockの使用にあるみたいです。
stackOverflowの情報ですが、これはAndroidStudioのバグだと思われます。

英語のソースがあるのでわざわざ書くことでもないと思いましたが、私がそれで時間を食ってしまったので、共有させてください。
また、初投稿ですので至らぬ点がございましたらご指導のほどよろしくお願いいたします。
<参考文献>
“TextClock render problem in layout preview”
https://stackoverflow.com/questions/60565227/textclock-render-problem-in-layout-preview

# 解決策
これは根本的な解決ではなく、あくまでも対処であります。
[stackOverflow

元記事を表示

[Android] Firebase Cloud Firestore を使ってデータを追加・削除・取得する

# はじめに

Firebase の Cloud Firestore を使ったことがありませんでした。今更な感じですがどんなものか知るために Cloud Firestore を使ってデータの追加・削除・取得をやってみたいと思います。

“`
——————————————————————————————-
◆ Cloud Firestore とは? ◆
——————————————————————————————-
Firebase の Cloud Firestore は クラウドホスト型の NoSQLデータベース です。
Cloud Firestore は iOS アプリや Android アプリおよびWebアプリから SDK を介して直接アクセスできます。
———————————————

元記事を表示

AndroidのPCミラーリング

はじめに
===
Scrcpyを使用して、Android端末の画面を簡単にPCにミラーリングする方法を記載していきます。

環境
===
OS:Windows 10
Android:エミュレータ(Android 8.1)
Scrcpy:1.12.1

Scrcpyとは
===
以下で開発されているオープンソースのミラーリングツールとなっています。
https://github.com/Genymobile/scrcpy/
・ミラーリング
・PC上でのAndroid端末操作
・Android画面の録画
などができるようです。

Scrcpyの使い方
===
1.Scrcpyをダウンロード
以下からダウンロードしてください。
[scrcpy-win64-v1.12.1.zip](https://github.com/Genymobile/scrcpy/releases/download/v1.12.1/scrcpy-win64-v1.12.1.zip)

2.zipファイルを適当な場所に解凍
3.Android端末で開発者モード > USBデバッグをON
4.2で解凍したファイル内のscr

元記事を表示

BottomSheetの実装

はじめに
====
BottomSheetを実装をまとめます。

BottomSheetとは
====
Android Support Library 23.2で追加されていたようです。
https://android-developers.googleblog.com/2016/02/android-support-library-232.html

下から出てくるやつで、Google MapやSpotifyなんかで見かけます。

nreal light DevKitでコントローラが反応しない場合の対応方法

# 開発者キットがやっと届いたぞい
公式で受付開始直後に注文していたのですが、3rd batchまで回され、コロナの影響もあったりなかったり?でやっと本日届きました。
レンズセットだから遅くなったのかもしれないです
![pict.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150289/1951e295-9831-df14-d9e7-7f01bf57f59e.png)

# 早速起動する
こういうのは説明書を読むよりさっさと電源入れますよね

1. 四角いのにある細長いボタンを長押し
2. グラスをかけて、USB-Cケーブルを四角いのに挿す
3. グラスの視界の向こうに3つの項目と、その下に英語の操作説明が表示される(きれい!)
3. 丸いのを外して、裏側(赤い面)にあるスライドスイッチをONにする
4. 丸いのの表側にあるライトが点滅する
5.

そして何も反応しない。。。。。。

# コントローラを手動でペアリングする
というわけで、ここからが本題です。
この丸いの(コントローラ)は、四角いの(

元記事を表示

macOSで Android向けの OpenCVと OpenCV Contribをビルドする

## 環境変数

環境変数 ANDROID_SDK, ANDROID_NDK, ANDROID_NDK_HOMEをセットする。

“` zsh:.zshrc
export ANDROID_SDK=/Applications/adt-bundle-mac-x86_64/sdk
export ANDROID_NDK=/Applications/adt-bundle-mac-x86_64/sdk/ndk/21.0.6113669
export ANDROID_NDK_HOME=$ANDROID_NDK
“`

## ビルド
あとは以下の手順で git cloneしてビルド。時間はそれなりにかかる。

“`
mkdir ~/X
cd ~/X

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

cd opencv/platforms/android

元記事を表示

眺めて覚える C# Xamarin Hello World

###iPhoneの電池が持たなくなった。携帯電話の寿命は、大体3年ぐらいだ。
####はたして5万円以上の値打ちがあるのかが疑問である。
####そこでAndroidにすることにした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/3c2d1962-4aa2-b1d0-8da6-6eb42a31e2bb.png)

### さくさく動くし、電池も3日もつ!
### 値段も5万円から2万円適正価格だ!
前から気になっていたXamarinを使ってC#でプログラムしてみた。

1.Visual studio 2019のインストールについては、色々な記事があるので参考にしてほしい。
私の買ったディバイスは、UMIDIGI Xだ。まず、メーカサイトからディバイスドライバーを[**ダウンロード**](https://www.hardreset.info/devices/umidigi/umidigi-x/faq/drivers/)してWindows 10にinstall しよう。
!

元記事を表示

Fused Location ProviderでKotlin FlowとLiveDataを再入門してみた

# 前書き

CodeLabの[Building a Kotlin extensions library](https://codelabs.developers.google.com/codelabs/building-kotlin-extensions-library/index.html)をやってみました。

名前からしてライブラリの作り方のベストプラクティスじゃないかと思って、勉強しようと思ったら拡張関数の内容でした。
でも拡張関数よりも、中で使ってるFlowのほうがすごかったです。

勉強したいものと違いましたが、改めてFlowの凄さを再認識できたので記事にして記録を残そうと思いました。

# このCodeLabの内容は?

このCodeLabはリアルタイムで地理情報を表示するアプリを作っています。

数秒ごとにLoc

元記事を表示

失われたAndroid Device Monitor

# 課題
– unity(などのAndroid Studioを直接触らない開発環境)で、Android実機のデバッグログのチェックに、Device Monitorを利用していました。
– Android Studio 3.2以降に更新したら、Device Monitorが使えなくなりました。

# 対処
– Android Studioに統合されている”Logcat”を使います。
– メニュー View > Tool Windows > Logcat
– ツールバーでも切り替えられます。
– ログのフィルタリングも可能です。
– スクリーンショットや動画も撮れます。

# 公式ドキュメント
[Android Device Monitor](https://developer.android.com/studio/profile/monitor?hl=ja)
> Android Device Monitor は、Android Studio 3.1 でサポートが終了し、Android Studio 3.2 からは削除されています。Android Device Monit

元記事を表示

kotlinだとView情報の保存・リストアがParcelizeを使えるので簡単

`BaseSavedState` は `Parcelable` なので、 `@Parcelize` を使えば簡単に保存処理が書けます。以下は、 `num` というパラメータを保存する例です。

“`kotlin
override fun onSaveInstanceState(): Parcelable? {
return SavedState(
super.onSaveInstanceState(),
this.num
)
}

override fun onRestoreInstanceState(state: Parcelable?) {
val savedState = state as? SavedState
super.onRestoreInstanceState(savedState?.superState)
savedState ?: return
this.num = savedSta

元記事を表示

FragmentでBackボタンの処理をする

# どんな内容
FragmentでBackボタンの処理を変更する処理の書き方がネットで見つけたものがことごとくうまくいかなかったので、上手くいった方法のメモです。
androidx.activityのバージョンが関係してそうなので、今回のバージョンは

“`
androidx.appcompat:appcompat:1.1.0
“`

です。

# 参考にしたけどうまくいかなかっもの
@tarumzu さんの[「AndroidXでのバックキー制御」について、onBackPressedDispatcherの使い方や注意点補足](https://qiita.com/tarumzu/items/d6b18447ad24b5b5bfa2)を読んで、これで出来そうって思ったんですが、ちょっとうまくいかなかったです。

ダメだったのが、

“`kotlin
addCallback(this, object : OnBackPressedCallback {
override fun handleOnBackPressed(): Boolean {
~~ 略 ~~

元記事を表示

appcompat v1.0.0 と v1.1.0 の Activity の違い

## 最初に
サポートライブラリの後任となる AndroidX ライブラリですが、
マイナーバージョンが上がると内部的なクラス関係がけっこう変更されています。

標準ライブラリと言っても良い AndroidX ですが [1.1.0](https://developer.android.com/jetpack/androidx/releases/appcompat) では以下のアップデートが行われました。

**1.0.0 以降の重要な変更**
![2020-04-07_18h25_33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486398/c23f2e56-66b7-a213-8f11-cbae3e200cb0.png)

## 2項目の AppCompatActivity について

この中の AppCompatActivity についてピックアップします。

“`
AppCompatActivity が Fragment 1.1.0 を介して、
Activity 1.0.0 の Compo

元記事を表示

[Android] 母艦からコマンドラインでパッケージを管理する

最近パッケージの管理方法が変わったみたいなのでまとめてみた。

# 事前準備(端末のシェルへのアクセス

## `adb`のインストール

Arch Linuxなら`android-tools`をインストールする。

“`shell
$ sudo pacman -S android-tools
“`

## 端末を開発者モードにする

例えば[こちら](https://qiita.com/knakamigawa/items/5b8bd2793920b517bf25)を参照

## 母艦からシェルにアクセスする

[公式ドキュメント](https://developer.android.com/studio/command-line/adb?hl=JA)を参照。
AndroidデバイスをUSBでコンピュータに接続し以下のコマンドを実行する。
途中で端末に「リモートアクセスを許可しますか?」と表示されるためOKを押す必要がある。

“`shell
$ adb devices
$ # 接続されている端末のシリアル番号が表示される
$ adb -s シリアル番号 shell
“`

元記事を表示

Androidxへの移行

はじめに
===
Android Support LibraryからAndroid xへ移行手順を書いていきたいと思います。
手順は簡単ですし、[Developerサイト](https://developer.android.com/jetpack/androidx/migrate?hl=ja)見れば一発で分かりますが画像メインでいきます。

環境
===
OS:Windows 10
Android Studio:3.5(統合は3.2以上だそうです)

移行前
===
赤のアンダーライン引いてるところがSupport Libraryです。
androidx.png

手順
===
[Refactor] > [Migrate to AndroidX…]
androidx</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Android</div>
<div class='tag-cloud-link'>SupportLibrary</div>
<div class='tag-cloud-link'>AndroidX</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/kurramkurram/items/1ef7ca56662358ba151c'>元記事を表示</a></div>
<h3 id=mDNSでAndroidからRaspberryPiを探す

##Raspberry Pi

### avahi-daemonの設定

avahi-daemonのインストール(入っていなければ)

“`
sudo apt-get install avahi-daemon
“`

設定変更

“`
sudo vi /etc/avahi/avahi-daemon.conf
“`

noになっているとAndroid側で探索が出来なかった

“`avahi-daemon.conf
[publish]
publish-workstation=yes
“`

avahi-daemon.service再起動

“`bash
sudo systemctl restart avahi-daemon.service
“`

### host名確認

“`bash
cat /etc/hostname

“`

## Android

これをみた方が早いとは思う(参考)
https://developer.android.com/training/connect-devices-wirelessly/nsd.html

許可取り

元記事を表示

OTHERカテゴリの最新記事