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

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

Firebaseで流しそうめん

これは[Firebase #2 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/firebase_2)の20日目の記事です。

# はじめに
Firebase Realtime Databaseでスマホを連結して、スマホの中で流しそうめんします。
流れてくるそうめんは、箸デバイス(おそらく世界初)でとれます。
箸デバイスとモードの背景は、[@krohigewagma](https://qiita.com/krohigewagma)さんに作ってもらいました。

![流しそうめん展示.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543183/174f6b1a-7884-28c4-af7e-868da30939cc.png)

流しそうめんを作ろうと思ったのは、ダライアスが好きで、今ならスマホで作れるだろうと試作を始めたら、いつの間にか流しそうめんを作ってました。

# 概要
– 1台のそうめんを流す端末と、複数台のそうめんが流れる端

元記事を表示

DatePickerDialog と TimePickerDialog を使って日時選択をできるようにする

時間選択を実装するのに便利な DatePickerDialog と TimePickerDialog に出会ったので備忘録を残そうと思います。

# DatePickerDialog と TimePickerDialog とは
実態としては AlertDialog の setView に カスタムのレイアウトを追加しているものです。
DatePickerDialog であれば DatePicker を、TimePickerDialog であれば TimePicker を追加しています。

さらに PositiveButton と NegativeButton はデフォで実装されているので、 show してあげるだけで簡単に時間選択用のダイアログを表示することができます。

参考イメージ
DatePickerDialog
![TimePickerSample.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236467/0793c375-1d6c-52d8-4069-9537e6557084.png)

T

元記事を表示

AOSP をビルドして海外版 Xperia XZ にインストールして気が付いた話。

# tl;dr
AOSP をビルドして海外版 Xperia XZ にインストールしたければ、[Sony の Open Devices](https://developer.sony.com/develop/open-devices/) と [Google 公式](https://source.android.com/) は必ず読むべき。

以下、一問一答形式でお送りします。

# なぜ AOSP をビルドするのか?

__そこに AOSP と Xperia XZ があるから__

という人もいるでしょうが、思う存分 root がとりたい人や Android をハックしたい人が主にやりたくなるようです。

# なぜ Xperia XZ か?

__比較的英語の情報が集めやすいから__

の一言につきます。
Project Treble より少し前の端末で、中古でお値段が比較的手ごろになってきたからのようです。
メルカリ等で時々お宝がでます。要チェック!

# なぜ海外版か?

__そうでなければ Unlock できないから__

同じ機種でも国内版はほぼアンロックできません。
対象機種

元記事を表示

はじめて Android のハンズオンに参加する前の準備

## はじめに
はじめて Android のハンズオンに参加する方向けに、Android の開発環境構築手順をまとめました。
ハンズオンの事前準備の参考資料として活用して頂ければ幸いです。

**環境構築にはトータルで数 GB のダウンロードが必要なため、ハンズオン会場ではなく事前に環境構築を済ませておくことをお奨めします。**
(過去何度か、ダウンロードで待ちぼうけになるハンズオン参加者がいらっしゃいました…)

## Android Studio の インストール
次の URL から必要に応じた Android Studio をダウンロードします。
### 安定版のダウンロード
通常はこちらで大丈夫かと思います。
https://developer.android.com/studio/
### Preview 版のダウンロード
Preview 版の Android Studio でしか実行できない機能を使う場合は、下記 URL からダウンロードします。
https://developer.android.com/studio/preview

もし、指定のバージョンが表示されない

元記事を表示

Wikipedia 読み上げ Android アプリを Jsoup + TextToSpeech で作った話

Android 開発初心者がアプリ開発をしてみた体験記です。なお、作成物はストア公開はしてないです

# やったこと
– Kotlin で Activity 三つのアプリ作成
– Jsoup を利用したウェブページのロード、DOM 操作
– TextToSpeech を利用した読み上げ機能

ソースコードはこちら: https://github.com/negito6/WikipediaSpeech-Android

# 動機と機能
Android の読み上げ機能を使ってウェブページ全体を読み上げようとすると、読み上げにはちょっと邪魔な文字列が沢山あります。特に Wikipedia でいうと、メニューにある各種リンクのテキストや、細かい数字が載った表などです。
また、(端末によってなのか知らないのですが) Chrome 上で「全て選択」をすると選択範囲が変更できないため、読み上げアプリにコピペする文字列として長い文章を選択しづらいです。

そこで、Wikipedia のページの文字列のうち、読んでほしいところだけを読み上げてくれるアプリを自作することに。

# 自分の Android 

元記事を表示

Androidをfastlaneで配信しようとして沼にハマった

## 要点
Androidでfastlane使って配信しようとして上手くいかず、沼にハマったけど、
実際はコマンドによるビルドで失敗していた話。

`JDK 8`を使わないとダメだよという話。
(筆者は`jdk-8u231-macosx-x64.dmg`をインストールして解決)

## 経緯
環境構築で、AndroidアプリをfastlaneによってbetaからDLできるような作りになっていた。

fastlane入れる。

fastlaneコマンドを叩く

はい!エラー!

“`:fastlane_error
$ bundle exec fastlane staging
[✔] ?
[14:31:08]: —————————————-
[14:31:08]: — Step: Verifying fastlane version —
[14:31:08]: —————————————-
[14:31:08]: Your fastlane version 2.137.0 m

元記事を表示

Flutterで作ったアプリをfastlane+App Distributionで配信する(Android編)

[iOS編](https://qiita.com/renoinn/items/e082d43dc4973b0c0ba7)の続き。AndroidもローカルからApp Distributionに配信できるようにする。

#1.環境を分けてビルド
Androidの方はめちゃくちゃ簡単で、この記事を参考にgradleで設定すれば問題なくできる。flavorはiOSの側と合わせておく。
https://medium.com/flutter-community/flutter-ready-to-go-e59873f9d7de

#2.fastlaneのインストール
[iOS編](https://qiita.com/renoinn/items/e082d43dc4973b0c0ba7)でインストールしているのでスキップ。

#3.Fastfileを作る
flavorを分けたら、それに合わせてFlutterでビルドする。App DistributionではAppBundleに対応していないので、apkで出力する。
テストする端末に合わせて32bit版と64bit版両方欲しかったので、オプションに`–

元記事を表示

Canvas: trying to draw too largeで落ちる

こんなエラーが出て落ちる

java.lang.RuntimeException: Canvas: trying to draw too large(******bytes) bitmap.

drawableに大きい画像があると出るそうですが、なかった。

代わりに、AndroidManifest.xmlの内に

android:hardwareAccelerated=”false”

を入れたら直りました。

元記事を表示

AndroidでスイッチUIの実装をいくつか比較検討してみた

# つくりたかった物

![スクリーンショット 2019-12-19 15.36.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14359/beade60c-e337-758a-933f-5fd684609654.png)

デザイナーさんからZeplinでいただいていたイメージ
これをどうやってつくるかプロトタイプを作成しながら比較検討しました。

# onDrawでCanvasに書いていく

![f5c76e3c-219d-4e0e-8d7d-0eb8c6adf31a-960x184r.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14359/2e93493c-85f5-eb48-d0e2-51960a25f6ee.png)

## 概要

AndroidのViewをカスタムする時にonDrawというメソッドの中で、
Canvasに独自で丸やテキストを書いたりする事でUIを再現する。

内部でホバーがどこに表

元記事を表示

Dialogflow の Java client library は Android で動作するのか?(DetectIntent編)

# はじめに

Android で Dialogflow を使いたい!というのはよくある話だと思う。
さて、作ってみよう!とまずは SDK が無いか調べてみる。

https://cloud.google.com/dialogflow/docs/reference/libraries/java
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315833/fbabdbf4-b903-9935-2976-c5f7f77b0256.png)

おっと、Android はサポートしていないだって。
みんなどうやって開発してるんだろ?と思って調べてみると、[api.ai](https://github.com/dialogflow/dialogflow-android-client) なるものを発見!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315833/df609301-15d5-1b60

元記事を表示

[UE4] Android開発でお馴染みの4点タップで表示されるウィンドウ内のConsole Commandのリストをカスタムしよう!

#はじめに
![Screenshot_20191219-172016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363889/b381e54d-b9fb-5d38-db15-f3c89df3679c.png)
![Screenshot_20191219-172019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363889/00f66f29-bb2b-3b5f-abc8-f6f696677cc6.png)
モバイル端末の場合、4本の指で画面を同時にタップするとConsole Commandを入力するためのConsole Windowが表示されます。更にAndroidの場合は以下のConsole Commandのリストから選択し実行することが可能です。

– stat FPS
– stat Anim
– stat OpenGLRHI
– stat VulkanRHI
– stat DumpEvents
– stat

元記事を表示

androidアプリのdebugビルド署名をリリース署名に変更すると、色々便利だ

##はじめに
androidアプリのdebugビルド署名、普通はリリースビルド署名と違いますね。

まあリリースビルド署名のキーストアは重要なので、利用制限したほうがいいんですが、debugビルド署名をリリースビルド署名に変更すると、開発が色々楽になります。

リリース版にdebug版を上書きインストールしたりできますからね。

##やりかた

“`
signingConfigs {
//DEBUG版をリリースビルド署名したいときに、これを有効にする
debug {
storeFile=file(project.properties.storeFile)
storePassword=project.properties.storePassword
keyAlias=project.properties.keyAlias
keyPassword=project.properties.keyPassword
}
}
“`

こんなんを追

元記事を表示

【ぶっちゃけAndroidアプリ開発】Android Studioを初期インストールした時にやる事

これは2019年12月に書いた記事です。
ものすごく久しぶりにAndroidアプリ開発をする事になったのですが、のっぴきならない理由により、Macbook ProにAndroid Studioを初期インストールして使用再開する事になりました。
という事で、最新Android Studioをインストールして、過去に作成したプロジェクトを使えるようにするまでの過程を備忘録としてまとめておきたいと思います。
簡単に言うと、Android Studioは日々進化しているので、SDKや設定について過去からの差分を埋めてあげれば良いです。
##1.Android Studioインストール
###(1)ダウンロード
・App Storeからはダウンロードできない。
・Android Developersのサイトからダウンロード。
https://developer.android.com/studio?hl=ja
as01.png【AOSP】Androidが文鎮化しそうな時に工場出荷時状態に戻す方法

ビルドしたAndroidOSを実機に入れようとして、謎のエラーを吐いて完全に詰んだ時などに役立ちます。
工場出荷時状態に戻すので、当然ですがデータは全て消えます。

#事前準備
###fastbootモードに入る
– 実機をPCに接続します
– fastbootモードに入るために次のコマンドを打ちます

“`
$ adb reboot bootloader
“`
adbコマンドが使えない方はググるか、こちらの記事を参照してください
– [【AOSP】ビルドしたAndroidOSを実機に入れる](https://qiita.com/yamakentoc/items/564108cd5ad207193f0e)

###ブートローダーをアンロックする
fastbootモードで次のコマンドを叩いて、ブートローダーをアンロックします

“`
$ fastboot flashing unlock
“`
– 音量ボタン押して`Do not unlock the bootloader`を`Unlock the bootloader`に変更し、電源ボタンを押します
– `Device state

元記事を表示

【AOSP】ビルドしたAndroidOSを実機に入れる

この記事は[FUN Advent Calendar 2019](https://adventar.org/calendars/4058)の19日目の記事です。
未来大生なら誰もが触っているAndrooidOSについてです。

AndroidOSをビルドして、実機で動かす方法について説明します。
エミュレータで動かす方法については[@natmarkさんの記事](https://qiita.com/natmark/items/09802c7f16733cd77f8e)が一番わかりやすいです。

※こちらの方法で端末が文鎮化しても一切責任は取りません
文鎮化した場合はこちらの記事を参考に直してみてください
– [【AOSP】Androidが文鎮化しそうな時に工場出荷時状態に戻す方法](https://qiita.com/yamakentoc/items/044275de35570bf6669d)

#環境
ビルドするためには、64ビットで250GBの空き容量が必要です。
自分はこんな感じの環境でやりました。

– OS: Ubuntu18.04
– RAM: 8GB
– CPU: Corei

元記事を表示

BlankAndroidTV向けアプリをReactNativeで起動するまで

[Ateam Lifestyle Advent Calendar 2019](https://qiita.com/advent-calendar/2019/ateam-lifestyle)の19日目は
株式会社エイチームライフスタイル 自動車事業部 の @mziyut が担当します :santa:

最近購入したテレビがAndroidTVをベースにしたものだったのもあり、
0.55からReactNativeでAndroidTV向けアプリの開発を行えるようになっていたので試してみました。
ちなみに、2019/12/16時点の最新バージョンは、v0.61.5でした。

## ReactNativeとは :thinking:
簡単に言うと「Facebookが作成したReactをベースにネイティブアプリフレームワーク」です。

## AndroidTVとは :thinking:
簡単に言うと、Googleが提供する、スマートテレビ向けプラットフォームです。

## 今回用いる環境
“`sh
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.

元記事を表示

ARCore入門チュートリアル(Unity)

こんにちはJUNOと申します。

最近本屋でAR開発に関する本を探していますがまだ数は少ないようです。

そこで今回、AR初心者向けに
AR開発環境(Unity)の導入方法とAndroidにおけるチュートリアルアプリを紹介します。

参考元:[Google公式ドキュメント](https://developers.google.com/ar/develop/unity/quickstart-android)

#私の環境
・Unity
・エディタ
  VisualStudio2019(今回のチュートリアルでは使用しません)
・開発PC
  MacBookPro(恐らくWindowsでも同じように動作する)
・Android端末
  HUAWEI P20 LITE(Android v9)

#要件
###ハードウェア
・[ARCore対応端末](https://developers.google.com/ar/discover/supported-devices)を確認してください。
・デバイスと開発PCがUSBケーブルで接続できるもの
###ソフトウェア
それぞれ後ほどダウンロードしてい

元記事を表示

Jatpack Composeについて

元々はネイティブアプリのエンジニアでiOS/Androidアプリを作ってたんですが、今は本業ではサーバーサイドエンジニアをしていてGo言語とかでAPI作ってます。

ただ、個人でアプリを作ったりはしてるので最近流行りのJetpack Compseをまとめてみようと思います。

## Jetpack Composeとは?
Jetpack Composeは2019年のGoogle I/OのDeveloper Keynoteで発表された技術で、FlutterやiOSのSwift UIのように宣言的にアプリのUIを構築できるツールキットです。

最近、FluterとかSwiftUIとかもそうですがViewをコード化するのが流行っているらしい。

## サンプルを動かしてみる
### Android Studio 4.0 Previewをダウンロードする。
まずはAndroidStudioのPreview版である4.0をインストールしてください。
本家のサイトから簡単にダウンロードできます。ここで余談ですが、AS4.0の起動画面カッコイイですね。

ス</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Android</div>
<div class='tag-cloud-link'>JetpackCompose</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/toshihirooya/items/82a6d6c54a3e61933ff0'>元記事を表示</a></div>
<h3 id=Android View Bind Library 比較

AndroidにおいてViewをBindする方法はいくつかあります。
今回は、その手法の紹介および比較をしたいと思います。

この比較の話はGoogle I/O 2019で紹介されていたものです。

その話を各手法を具体的に紹介しつつ、実際にどういったところに良し悪しがあるのかを説明したいと思います。

各サンプルコードは一部抜粋したものになっていますのでご了承ください。
実際に動くコードはGitHubに上げていますのでそちらをご参照ください。

https://github.com/sadashi-ota/AndroidViewBindSample

前提の環境は以下の通りです

– Android Studio 3.6 Beta 5
– Kotlin 1.3.50
– その他ライブラリについては各種Branchに上がってる`app/build.gradle`をご参照ください

# findViewById

入門書にも乗ってる一番基本的な方法で、ActivityやViewにある`findView

元記事を表示

Jetpack Composeでサンプルアプリを作ってみる

# Jetpack Composeとは
AndroidのUIは基本的にはXMLで作成していきますが、`Jetpack Compose`はGoogle I/O 2019で発表された宣言型のUIツールキットです。今は、まだプレアルファ版ですが2020年を目標にベータ版が公開される予定です。

# 作成するサンプルアプリ
今回は、Qiitaの記事を一覧表示するサンプルアプリを作成していきたいと思います。
※サンプルアプリの案は入社当時にお世話になったKotlinスタートブックにあったものを参考にしました)

作成するサンプルアプリの画面は以下のようになっています。

# 環境
Android Studio4.0 Canary6
targetSdkVersion 29

# プロジェクト作成
1. `Start a

元記事を表示

OTHERカテゴリの最新記事