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

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

いい感じにステータスバーの色をアクションバーの色と合わせる方法(Android)

## はじめに

Androidでは、アクションバーの色を濃くしてステータスバーの色にセットしているアプリが多く見られます。

|Nintendo Switch Online|Trello|Instagram|
|:–|:–|:–|
|![EVm70iSUcAEwsn6.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/81d261b6-6dfe-985e-4439-b83ba0e7e4f7.jpeg)|![EVm71buU4AA5jP-.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/78bf2ca3-9e9f-8deb-cba6-94a7fb974ecb.jpeg)|![EVm711fVAAIQdP3.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/61f22788-212b-837e-4

元記事を表示

【Android】初心者がJavaでタイマーアプリを作ってみた

ゴールデンウィークで暇な時間ができたので、JavaとAndroidについて勉強してアプリを作ってみました。
作ったのはタイマーアプリです。すごい簡単なものですが、JavaとAndroidを1から勉強したのでなかなか大変でした。
自分で入力した時間をカウントしてくれるというものですが、秒数でしか指定できません。
微妙な出来ですがとりあえず備忘録としておきます。

– 仕様
– 時間を自分で設定できる
– STARTボタンでカウント開始
– STOPボタンでカウントストップ
– カウント終了をバイブレーションで通知

– 環境
– windows10
– androidstudio3.6.3
– Java8

– ファイル
– MainActivity.java
– activity_main.xml

以下、コードです。

“`java:MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Count

元記事を表示

眺めて覚える C# Xamarin Forms(12) カメラ制御

#Xamarinを使ってスマートフォンカメラを制御します。
##空のプロジェクトを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/3b95bcd3-0913-1b33-aa92-b5c53426f22c.png)

##モバイルアプリを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/b5a27fb1-beee-2eeb-0dd6-125be138bcf6.png)

##プロジェクト名を指定して作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/e6487bb4-6e84-5033-e966-57f9157345d8.png)

##空白を選択してOK

![image.png](https://qiita-image-s

元記事を表示

おうち時間にWEBエンジニアがFlutter触ってみた(環境構築)

#はじめに
おはようございます。こんにちは。こんばんは。
今回は **#おうち時間** 家にいても何もすることがないのでFlutterでアプリ作って遊んじゃおう。と思いはじめました。
始める前に環境構築していきましょう。

#Flutterとは
Flutter は、Googleによって開発されたフリーかつオープンソースのモバイルアプリケーションフレームワークである。
FlutterはAndroidやiOS向けのアプリケーションの開発に利用されている。

#今の環境

– macOS: 10.15.4
– Android studio: 3.6.3
– Xcode: 11.4.1

#環境構築
[https://flutter.dev/](https://flutter.dev/)にアクセスして**Get Started**をクリックして下さい。
Flutter_-_Beautiful_native_apps_in_record_time.pngfindViewByIdの速度検証

# はじめに
最近Android開発を触り始めました。
findViewByIdを使用する事でviewを取得できますが、調べてみると繰り返し処理の中でfindViewByIdを何回も繰り返す事は処理速度的にあまりよくないとのことだったので検証してみました。

# なぜ処理速度的にあまりよくない?
findViewByIdはviewの階層の上から順に検索していくため、階層が深いほど処理時間がかかる。

“`activity_main.xml

PythonサーバからAndroidにpush通知する

# 記事の趣旨

[前の記事](https://qiita.com/nk5jp/items/7b7c1e70bde457041bd3)でとりあえずpush通知のひな形は作れたと思うので,今度はその通知をFirebaseコンソールではなく,自分のサーバを起点として発出してみようという記事.

サーバはAWS上に立てたCentOS7を使用する.使用言語は何でも良いと思うがとりあえずPython3.7を選択.Pythonおよびpipは既にインストールされている前提とする.

## 1. 通知メッセージの送信手順

通知だけでなく,そこで送った情報をトリガとしてクライアント側に色々やらせたいところだが,まずはその辺りは抜きにして,シンプルに通知だけを送ることを目指す.

### 1.1 Firebase Admin SDKの追加

Firebase Admin SDKとは,サーバとFirebaseとの対話を仲介してくれるツールという理解で良いと思う.今回は使用言語としてPythonを選択しているので,Firebase Admin Python SDKをインストールすることになる.これを[こちら

Flutter+Android4.4(Kitkat)でクラッシュする件の対応策

# 現象

Android4.4(Kitkat)の端末にFlutterアプリをビルドしてインストールしたところ、splash後にクラッシュする。

# 環境など

|ツールなど|バージョンなど|
|:–|:–|
| MacBook Air Early2015|macOS Mojave 10.14.5|
|Android Studio |3.6.1|
|Java |1.8.0_131|
|Flutter|1.12.13+hotfix.5|
|Dart |2.7.0|
|Xcode |10.2|

# クラッシュログ

debug起動した際のクラッシュログです

“`console
E/flutter (10422): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.SecurityException: uid 10290 does not have android.permission.UPDATE_DEVICE_STATS.
E/flutter (10422):

元記事を表示

ArrowsM03(Android)の通知(電話、Lineなど)をiPhone(iOS)へ通知する方法

####作成経緯
スマホ2台持ち(ArrowsM03、iPhone11)でスマートウォッチ購入検討。
安価なスマートウォッチは2台のペアリングができない?
「PebbleTime」ならAndroidとiPhoneの同時接続する手順を見つけたが安くない。
ならばArrowsM03の通知をiPhone11へ通知。
その通知をiPhone11とペアリングしたスマートウォッチで受信。
####懸念事項
IFTTTの通知をスマートウォッチで受信できるか!
ここ大事ですが… 事前検証ができない^^;
####閑話休題 作成方法
![i01.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145508/19862afc-50ca-9c51-d266-ae942ef027cc.png)
![i02.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145508/6aa92b07-b6a2-e87c-805d-4b946f466406.png)

元記事を表示

Kotlin でも MediaPipe の MultiHandTracking を動かしたい

Kotlin で MediaPipe の MultiHandTracking を利用しているサンプルが無さそうだったので作ってみました。
プログラムは [GitHub](https://github.com/machidyo/MediaPipeHandTracking) に上げてあるので、よかったら参考にしてください。

こんな感じで動きます。
![mutli_hand_tracking_sample.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/65813178-202d-5b69-802b-d7ef0f78b593.gif)
# 作ったと言いながら
元々は[こちら](https://github.com/google/mediapipe/blob/master/LICENSE)の Java のコードを Kotlin に移植したものになります。Kotlin をある程度知っている人なら特に苦労することなく移植できると思います。(自分は素人に毛が生えたようなものなので小一時間ほどは浪費しまし

元記事を表示

【Kotlin】ViewPager vs ViewPager2

最近 `ViewPager` を使う機会があったので調べたことを備忘録として記事にします。
AndroidXに移行すると `ViewPager2` というViewPagerの改良版が使えるので2つについて書いていきます。

公式のドキュメントはこちら↓↓
[ViewPager](https://developer.android.com/reference/androidx/viewpager/widget/ViewPager?hl=en)
[ViewPager2](https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2?hl=en)

実装方法だけ知りたいよという方はこちらの記事が参考になるかと思います。
[Kotlinでアプリを作ってみる(TabLayout,ViewPager,Fragment,FragmentPagerAdapter)](https://qiita.com/nanamama/items/93ebd9c6a2732cb49777)
[ViewPager2 + Tab

元記事を表示

FlutterアプリをCodemagicでCDしてみた(Google Playストア)

FlutterアプリをGooglePlayストアコンソールに登録しました。
まだクローズドアルファ版ですが、公開してからやはりちょこちょこと修正したい箇所が発生して直しています。

しばらく、手動でリリースをチクチク作成していたのですが、ふと気付きました。

CodemagicでCD出来るじゃないか!

ということで、CDする場合の手順をまとめました。

# CDってなに?

CD = Continuous Delivery = 継続的デリバリー

つまりリリース作業を自動化しましょうってことです。

CIは、継続的インテグレーションで、これはテストまでの開発プロセスを自動化しましょうってことでした。

リリースは怖いからいくつもチェック表を見ながら人が作業して・・・
というのがほとんどだと思いますが、チェックしても人の作業にミスは付き物。だったら自動化すれば良いじゃ無い?

ということで、そっちを自動化するのが、CDの方です。

Codemagicへは、すでにtagトリガーなどで動くワークフローがあるものとします。
([こちらの記事](https://qiita.com/kasa_l

元記事を表示

[Kotlin]Firebase Cloud Messagingの実装

# はじめに
– プッシュ通知の実装

# 画面
Firebase ConsoleのCloud Messaging

コンソール上で各項目を設定してプッシュ通知を送信できます。

スクリーンショット 2020-05-05 14.10.11.png

今回は “テスト メッセージを送信” にて単一端末に対してプッシュ通知を送信します。
スクリーンショット 2020-05-05 14.10.39.png

Activityは何もない画面

元記事を表示

AndroidからXMLデータ形式のWeb APIを使う

# 概要

近年ではWeb APIのデータ形式といえばほぼJSONが使われていますが、最近XMLを使う機会があったので、そのAndroid実装についてメモを残しておきます。

# 要件

今回、実装に当たって以下のような要件で考えていました。

* Androidで動かす
* Kotlinで実装する
* Retrofit2から利用する (Converter.Factoryが必要)
* Converterのコードとか書きたくない

つまるところ、最近のよくある実装と同じ書き方で楽に実装したかったということです。

# ライブラリ

XMLシリアライザの有名所としては[SimpleXML](http://simple.sourceforge.net/home.php)があり、Webを調べるとよく名前が挙がります([GitHub](https://github.com/ngallagher/simplexml))。[Converterもある](https://github.com/square/retrofit/tree/master/retrofit-converters/simplexm

元記事を表示

React Native BLE Major/Minor取得

# はじめに
前回の記事(https://qiita.com/yokobonbon/items/f17bac71e9ba02a713ac)
でReact NativeでBLEペリフェラルのスキャンを実現しました。今回はそこから、iBeaconのMajor/Minorデータ取得します。

# Manufacture SpecificとiBeacon
以下のページが参考になります。
https://fabo.gitbooks.io/bledocs/content/nordic/beaconadvdata.html

iBeaconはUUID + Major(16ビット) + Minor(16ビット)で一意な端末を識別しますが、その情報は、BLE Advertised PacketのManufacture Specificデータの中に含まれます。Majro番号は25,26バイト目に格納され、Minor番号は26,27バイト目に格納されます。

Manufacture SpecificデータはBleManagerDiscoverPeripheralにおいて、advertisingの中のmanu

元記事を表示

Flutterでストアに提出できるrelease buildを一発で作るシェルスクリプト

タイトルの通り。本当はfastlaneとか使うか迷ったけどまずはこれで当分なんとかできそう。

1, 以下の内容shファイルをプロジェクトルートに作る。

“`shell

#!/bin/bash

echo ‘Build Android Release Resource’
flutter build appbundle –target-platform android-arm,android-arm64,android-x64

echo ”
echo ‘Build iOS Release Resource’
flutter build ios –release

ARCHIVE_PATH=”$PWD/build/ios/Runner.xcarchive”
IPA_PATH=”$PWD/build/ios/Runner.ipa”
xcodebuild -quiet -workspace ios/Runner.xcworkspace -scheme Runner -sdk iphoneos -configuration Release archive -archivePath

元記事を表示

眺めて覚える C# Xamarin Forms(11) ListView Programmatically Ⅱ

##今回は、ListViewにイメージを表示する方法です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/f402733b-42f6-6776-06e4-9d3cfebfa041.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/ccd1bffb-a14e-0331-e9c8-1c80bcd40f46.png)このイメージをListViewに表示します。**train.png**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/902c253c-b332-42b4-e400-056a106d321a.png)
###Resources/drawableの配下にドラッグします。
#ListViewの行データを保存するクラスを作成します。

“`

元記事を表示

Flutter アップデート(for macOS)

久々にFlutterを起動しようとしたときにアップデートをしたい場合のメモです。

# Flutter アップデート方法

doctor を実行する

“`
$ flutter doctor
“`

実行するとアップデートの通知やIDEのバージョン互換のエラーとか教えてくれます。

“`
╔════════════════════════════════════════════════════════════════════════════╗
║ A new version of Flutter is available! ║
║ ║
║ To update to the latest version, run “flutter upgrade”. ║
╚═════════════════════════

元記事を表示

Delphi10 でTwilio apiを叩いて発信+ボイスメッセージ

#はじめに
ほぼ前回の記事の使い回しですが、 Twilio のapiを使って発信を行い
音声合成によるボイスメッセージを送ってみました。
全く同じソースでWindows、Android共に動作します。

#画面作成
以下の画面イメージの様に必要なコンポーネントを配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625152/bdbc6f05-5d91-ebaf-69a5-49d3c9a86d4a.png)

#ソースリスト
“`Pascal
unit rest1;

interface

uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, REST.Types,
FMX.Controls.Presentation, FMX.

元記事を表示

Androidへのpush通知を試してみる

# 記事の趣旨

自端末のandroidにpush通知を送るまでの勉強.一応前提は以下.

– クライアントはAndroid 10,使用言語はKotlin
– IDEはAndroid Studioの3.4.2を使用
– 通知機能の実装に関する知識および経験は一切なし
– Googleアカウントは持っているが,Firebaseを使ったことはない

## 1. 前提知識:Firebase Cloud Messaging(FCM)

Androidへのメッセージ通知にはこれを用いるとのこと.公式ページは[こちら](https://firebase.google.com/docs/cloud-messaging/?hl=ja).

### 1.1 アーキテクチャ

[こちら](https://firebase.google.com/docs/cloud-messaging/fcm-architecture?hl=ja)に書いてある(なぜかこのページだけ英語).流れとしては以下らしい.

1. サーバ上で所定のプロトコルでメッセージを作成し,FCM backendにリクエストを送付する.
2.

元記事を表示

FlutterでGoogleMapとPersistentBottomsheetを実装した

### 実際の画面
![googlemap_with_persistentbottomsheet.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526878/536fdc79-0b29-f912-70d4-2abff93bb1b9.gif)

### 準備
– GoogleMapAPIを利用可能な状態にする。(android/ios)
– google_maps_flutterのReadmeにしたがってセッティングをする。

### 利用ライブラリ
– google_maps_flutter: ^0.5.27
– https://pub.dev/packages/google_maps_flutter
– sliding_up_panel: ^1.0.2
– https://pub.dev/packages/sliding_up_panel

### 実装

https://github.com/kiriko-rs/day3_point_in_map

GoogleMapのコードに関

元記事を表示

OTHERカテゴリの最新記事