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

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

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

元記事を表示

時代は匿名SNSを求めているので作った!(というか一瞬動いた・・か)

### まえおき

[ひとり開発 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/solo-developer)の18日目!エントリの空きを突然頂戴して無理やり当日凸してます!

余談ですが作業ミスエントリ流行ってるんですかね。Advent Calender以外でも色々書かれてる気がします。
当方もまさにこの実装をギブアップしたのでドシドシ書いていこうと思います。笑
11月末から作り始めたのに途中から全く目途が立たなくなったのでどこぞのAdvent Calenderにエントリできなかったっていうのを諦めてたのに強引に滑り込ませたという経緯ですね・・

### 前回の続き

[イノベーション仮説のMVPを作ったらクソゲ―になった!](https://qiita.com/ykato/items/90e293ee6e14c5f17a80)

*バズった割にあんまキてない技術の一つとしてiBeaconがありますが、その理由の一つにBluetooth使ってないのにバッテリー勿体ないからオフってる人が多いからというのがあり

元記事を表示

ReactNative AndroidのBrige解説

## 機能
– Native Modules
出来ること
・関数の作成
・イベントの通知
・コールバック

– Native UI Components
出来ること
・Viewの作成
・Viewのイベントの通知

## Native Modules
ダイアログを表示するModuleを例にします。

**[機能]**
1, Androidのダイアログを表示する。(関数の作成)
2, ダイアログの”OK”ボタンがクリックされたらコンソールに”true”が表示される。(イベントの通知)
3, “DATE”ボタンがクリックされたら現在時刻が表示される。(コールバック)

“`java:DialogModule.java
public class DialogModule extends ReactContextBaseJavaModule {
// コンストラクター
public DialogModule(@NonNull ReactApplicationContext reactContext) {
super(reactContext);
}

元記事を表示

Android 4.4のサポートはもうやめるべきなのだ

minSdkVersionをつぶやくだけの謎なTwitterアカウントが23(Android 6)とツイートしていたのがまだ記憶に新しい。

世の中のminSdkが5.0以上がもう大多数になってきたかなと思っているが、4.4ユーザが数%まだいるからという理由でまだサポートを強いられている現場だってまだ存在している。
まぁ、5.0以上でしか使えないAPIやWebVie

元記事を表示

【KotlinConf和訳】Kotlin 1.4以降の展望

以下の和訳/要約です。
[What to Expect in Kotlin 1.4 and Beyond – Posted on December 6, 2019 by Svetlana Isakova](https://blog.jetbrains.com/kotlin/2019/12/what-to-expect-in-kotlin-1-4-and-beyond/)
Specialist定例会で輪読する目的と自分の理解目的で書き起こしました。

# Kotlin 1.4以降に期待されること

KotlinConfでのKeynoteで、Andrey氏がKotlinの進化のために現在注力している分野と、来年中にリリースされるKotlin 1.4の計画について、我々の戦略的な見解を強調しました。

以下のキーノート全体を見てください。

我々のビジョンは、Kotlinがあなたのすべての頑張りへの信頼できる伴侶となり、あなたの仕事のためのデフォルトの言語選択になることです。これを実現するために、すべての

元記事を表示

@get:XXX と @XXX の違いを教えてエロい人

UIテストを絶賛書いているところで、つまづいたことをメモ。
**注意:なぜか動いたが、結果わからん、という記事です**

## 背景

UIテストにおいてPermissionを自動で許可してくれる `GrantPermissionRule` を使う際、
Javaのサイトにお世話になっていた

“`Java
@Rule
public GrantPermissionRule permissionRule = GrantPermissionRule.grant(
Manifest.permission.CAMERA);
“`

## エラーがでる

いざKotlin変換しつつコピペしたらエラーがでた

“`kotlin
@Rule
var grantPermissionRule = GrantPermissionRule.grant(Manifest.permission.CAMERA);
“`

どうやらテスト前の初期化でつまづいている様子、、、
でもなんで??????

“`
java.lang.RuntimeException: Delega

元記事を表示

【Androidアプリ開発Tips】Widgetをクリックしてもブロードキャストされない

初めてAndroidのWidgetアプリを作る事になり、ネット上のサンプルアプリを動かそうとしたら、ウィジェットをクリックした時にブロードキャストが受け取れない(発生しない)という状況になり、ハマりました。
同じ悩みを抱える人のために取り急ぎ解決方法を記載しておきます。

結果的には、SDKバージョンの仕様変更によるものでした。
わたしのAndroid Studioは、2019年12月時点で最新バージョンを導入しています。

<前提>
・Android Studio 3.5.3
・compileSdkVersion 29
・buildToolsVersion “29.0.2”
・minSdkVersion 15
・targetSdkVersion 29

###1.サンプルコード
以下の二つを実装してみましたが、うまく行きません。
・クリックするとToast表示するアプリ
https://qiita.com/s-yamda/items/cba2c6c134303f29d4ab
・クリックするとおみくじが引けるアプリ

Androidアプリを作ろう08 ウィジェット②

元記事を表示

アプリ開発初心者が Flutter に入門して 1 か月でアプリをリリースした話

## はじめに

最近 Flutter に入門しました。無事に一つアプリをリリースすることができたのですが、ネイティブアプリの開発が全くの素人で苦労した点があったので、同じく入門する初心者の方に記録として残していこうと思います。

また、事情があり家の PC でなかなか開発が進められないため社内の PC で業務終了後に開発を進める形になりました。社内環境では Proxy にネットワーク通信が阻まれてしまうため、よくある入門の記事通りに行かないことがとにかく多くあり・・・(というかむしろここが一番苦労したと思います。)
同じく Proxy 環境での開発を余儀なくされている方の助けになれば幸いでございます。

なお、Flutter やその周辺等知識が甘い部分が多いと自負しているため誤りやアドバイス等あればコメントしていただけると幸いです。ただちに確認致します。

## リリースしたアプリの紹介

### BundleApps

こちらのアプリです ⇒ [BundleApps](https://play.google.com/store/apps/details?id=com.johnwo

元記事を表示

Firebase ML Kitでオンデバイス翻訳を使ってみる

# Firebase ML Kit
https://firebase.google.com/docs/ml-kit/?hl=ja
Googleの機械学習機能をAndroid、iOSアプリとして提供するモバイルSDK。
数ある機能の内の1つである`翻訳機能`を試してみます。

## デバイス / クラウドの両方に対応
オンデバイスAPIは実行速度が速く、オフライン環境で機能します。
クラウドAPIは、Google Cloud Platformの機械学習を利用して精度の高い処理が可能です。ただし有料。

## 翻訳機能
ML Kitのオンデバイス翻訳APIを使用すると、59の言語間でテキストを動的翻訳することができるらしいです。
Google 翻訳アプリのオフライン モードで使用されているモデルが搭載されています。

早速日本語→英語へ翻訳した動作結果です。
長文を翻訳した感を出したかったので、雑に青空文庫から著作権フリーの作品を引っ張ってきました。

`原文`
![Screenshot_20191018-022119_MLKitTranslation.jpg](https://qiita

元記事を表示

Androidアプリで端末の画像を取り込む

#はじめに
AndroidStudioのデフォルトだけで完結するアプリ作りにも飽きてきたので、OpenCVを使って画像を色々編集できるようにしてアプリの幅を広げてみる。
はじめに編集するための画像をデバイスから取り込む。

#環境
OpenCV 4.1.2
AndroidStudio 3.4.1

#画像を取り込む
[公式ドキュメント](https://developer.android.com/guide/topics/providers/document-provider?hl=ja)がこちら

まずは適当にベースとなるコードを書く。
いまだにGUIでレイアウト画面作るの慣れていないのでxmlで書いちゃう派です。

“`java:MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity ex

元記事を表示

矯正ダークでAndroid DarkThemeを簡単に導入してみよう

こんにちは![Diverse Advent Calendar 2019](https://qiita.com/advent-calendar/2019/diverse)の19日目を担当するasmzです。
現在、Diverseにてyycという老舗マッチングサービスのAndroidアプリエンジニアをやっております。

今回、ブログを書くに当たって何にしようかなーと思いましたが個人的に興味のあるAndroid10から導入されたDarkThemeについて書こうと思います!

↓だいたいこのへんに書いてあることをまとめてるかんじです。
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
https://material.io/develop/android/theming/color/
https://material.io/develop/android/theming/dark/

## ダークテーマの何が良いの?
* 電源の利用相当量が抑えられる(どのくらい差があるかは端末に依ります)
* 視力が低い

元記事を表示

android 課金レシート検証するためにリフレッシュトークン取得がやっと理解できた

# リフレッシュトークンが必須!!

##リフレッシュトークンを取得するまでの流れ

OAuth 2.0 クライアント IDに、タイプ「ウェブアプリケーション」のクライアントIDを作成する
リダイレクト先をhttp://localhost でもなんでもいいから登録しておくこと

###1.codeを取得する
#### ブラウザのアドレスに以下を記入する。

“`
https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=http://localhost&client_id=1097990115894-an30hkodeibai45l87k2l0nun6h391e5.apps.googleusercontent.com
“`

URLに以下が表示されるのでコピーしておくcode=のところ。

“`
http://localhost?code=4

元記事を表示

Pepperアプリの仕組みをあらためてまとめてみる 〜Choregraphe版とAndroid版比較〜

# はじめに
この記事は [CyberAgent Developers Advent Calendar](https://adventar.org/calendars/3981) 2019 17日目の記事です。
(少し遅れてしまった。。。)

この記事では、現在流通しているPepperの大きな2つのタイプ、

– 主にChoragrapheという開発環境を利用してアプリ開発を行うPepper(以下、Choregraphe版)
– 新しく販売されたAndroid Studio でアプリ開発を行うPepper(以下、Android版)

のアプリの仕組みを適宜比較しつつまとめています。

# 想定している読者
– Pepper のアプリ開発についてあまり知らないけどちょっと興味ある人

# なんでこの内容なのか?
なぜこの内容にしたのかを少し書いてみようと思います。
内容だけ知りたい!という方はこの章は読み飛ばしてまったく問題無しです。

具体的に何を書こうかなーと思っていたところ、そういえば社内で「Pepper ってOSは何で動いているの?」「そもそもアプリ仕組みってどんな感じ?」といっ

元記事を表示

CoordinatorLayoutとMotionLayoutで、Googleカレンダーのプロフィール画面風のUIをつくる

# はじめに
アニメーションが気持ちいいUI、気持ちいいですよね。
Android Studio 4.0(現時点ではCanary版)からMotion Editorを利用したアニメーションを作ることができるようになり、アニメーションを作りやすい状況が整備されてきていると思います。
今回は自分がよく使っている[Googleカレンダー](https://play.google.com/store/apps/details?id=com.google.android.calendar&hl=ja)のプロフィール画面の動きを再現したいと思い、CoordinatorLayoutとMotionLayoutの組み合わせで実装してみました。

# 何をつくるのか
![motion5.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20276/27e70a5e-b68b-0385-a8d0-27417fa9c40e.gif)

Googleカレンダーの予定に追加されたゲスト、のプロフィール詳細画面の動きです。
プロフィール画

元記事を表示

そのkeystore、消えるよ

# はじめに
年の暮れ師走、`ReactNative`製`Android`アプリの最新バージョンを公開すべくリリースビルドを実行した時の話。

ワイ「よっしゃ、`Android`版のリリースビルドをするで~」

ワイ「最近は`iOS`版固有のバグ取りにてんてこ舞いやったから、`Android`フォルダを触るのも久々やわ」

ワイ「久しぶりのリリースビルドだから、しっかり手順書に従わなあかんな」

**※このあたりの手順は別記事の[【ReactNative】Androidリリースビルド時のメモ(2019/10/28 追記あり)](https://qiita.com/nekoniki/items/bf9433aec8a824af849c)で詳しく触れています。**

ワイ「ふんふん、最後に`.keystore`ファイルで署名をするんやな」

“`
apksigner sign –ks app/my-release-key.keystore –ks-key-alias my-key-alias my-app.apk
“`

ワイ「・・・あれ、なんかエラー出たわ」

コンソール「`a

元記事を表示

Androidアプリ開発で国民の祝日を表示するのに試行錯誤。後編

 どうも!ヨースケです。なかなか良いタイトルが思いつきませんw簡潔にかつ具体的でなんかいい感じ(笑)のタイトルは難しいですね。ブログとかとはちょっと違う気がしますし、僕も内容もそうですがいい感じになるように精進します!

 [前編](https://qiita.com/ysk75/items/90151559e08551ed58e8)は国民の祝日の日付について説明しました。後編ではソースコードを組むにあたっての考え方(と言っても僕はこう考えましたよ。と示すものですが…)やソースコード、そしてまぁまぁの欠点があったのでそれも含めてご紹介します。
 前編でのおさらいとして祝日の曜日と備考をもう一度載せておきます。

|祝日名|日付|備考|
|:—:|:—:|:–:|
|元日|1月1日|-|
|成人の日|1月の第2月曜日|-|
|建国記念の日|2月11日|-|
|天皇誕生日|2月23日|-|
|春分の日|3月の19~22日のうち1日|西暦年を4で割った余りで日にちを決定|
|昭和の日|4月29日|-|
|憲法記念日|5月3日|-|
|みどりの日|5月4日|-|
|こどもの日|5

元記事を表示

OTHERカテゴリの最新記事