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

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

OlympusのカメラをWEBカメラ化する方法

# はじめに
最近在宅勤務などで一眼カメラのWEBカメラ化が流行っていますね。
SIGMA fpはつなぐだけでWEBカメラになりますし、Canonは自社のカメラをWEBカメラにする[ツールを公開](https://pc.watch.impress.co.jp/docs/news/1250292.html)してます。
それ以外のカメラでも[この記事](https://mono-logue.studio/19117)の方法でWEBカメラになります。流れとしてはテザー撮影用のソフトウェアでPCにライブビュー撮影の画面を映し、それを範囲指定してキャプチャしたものを仮想カメラ出力するというものです。

ただ、私の所持するE-M10MarkⅢなどテザー撮影に対応していない機種もあります。ATEM MiniなどHDMI入力をUVC(USB Video Class)にしてくれる機器を使えばWEBカメラ化できますが、わざわざ購入するのはハードルが高いです。そこで無料で何とかする方法を見つけました。

結論から申し上げると画質が良くないのであんまり使えないです。

# 手順
全体の流れとしてテザー撮影用の

元記事を表示

[Kotlin]Firebase Remote Configの実装

# はじめに
– [公式はこちら](https://firebase.google.com/docs/remote-config/android?hl=ja)
– メンテナンスモードや強制アップデートの実装に使える

# 画面
Firebase consoleでRemoteConfigの設定

![スクリーンショット 2020-05-01 11.09.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199764/de10c774-79d8-de89-5ef7-8b4451088795.png)

FirabseConsoleのRemoteConfigで設定する値は2つの為、それぞれ表示する用のTextViewを2つ用意
スクショは実装結果です

File.jpgAndroidでPush通知を表示する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77444/4978efe3-4e2f-5820-f0f8-7d045d31d259.png)

Firebase Cloud Messaging(FCM)を使って AndroidでPush通知を実装したときのメモです。(2020/4/29時点)

#Firebase Cloud Messagingとは
Firebase Cloud Messaging(FCM)は、メッセージを無料で確実に配信するためのクロスプラットフォーム メッセージング ソリューションです。以前は Google Cloud Messaging API が使われていたようですが、現在はFCMに移行しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77444/9c9c2a8a-605d-3030-6374-74da49559b33.png)

FCMで端末にメッセージ

元記事を表示

startActivityForResult / requestPermissions が deprecated になる話

# はじめに
影響範囲が大きそうなのでまとめておきます。
※本記事は Medium にも投稿済みです。 Qiita の方が見る人が多そうなのでこちらにも投稿しました。

`androidx.fragment:fragment-ktx:1.3.0-alpha04` から、以下のメソッドが `deprecated` になります。

– startActivityForResult
– onActivityResult
– requestPermissions
– onRequestPermissionsResult

[公式ソース](https://developer.android.com/jetpack/androidx/releases/fragment#1.3.0-alpha04)

代わりに 新しく追加された Activity Result APIs を使えとのアナウンスがあります。

[Getting a result from an activity](https://developer.android.com/training/basics/intents/result)

元記事を表示

ExoPlayerで、暗号化されたHLSを任意のkeyで復号・再生するには

※この記事は[DRM](https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E8%91%97%E4%BD%9C%E6%A8%A9%E7%AE%A1%E7%90%86)が施されたHLSの復号についてではなく、[AES](https://ja.wikipedia.org/wiki/Advanced_Encryption_Standard)等で暗号化されたHLSを復号する方法について記載しています。

### HLSの暗号化の仕様

HLSストリームの暗号化に関する情報はm3u8ファイルの`#EXT-X-KEY`に記載されています。
例えば、以下のファイルでは暗号化の方法・暗号化キーのurl・[初期化ベクトル](https://ja.wikipedia.org/wiki/%E5%88%9D%E6%9C%9F%E5%8C%96%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB)の値がわかります。

“`
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURA

元記事を表示

FragmentでActionBarのTitleを設定する方法

# FragmentでActionBarのTitleを設定する方法
## すぐ忘れるのでメモ。
Navigationでもっとかっこよく出来るはずだが。。

“`
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
(activity as AppCompatActivity).supportActionBar?.title = “タイトル”
}

元記事を表示

Android – AsyncTaskの直列処理と並列処理の順番は保証されるのか??

Android開発において、AsyncTaskで直列処理と並列処理について、ほぼ同時に動いた時はどのような動きになるのか、実際に順番は保証されるのかわからなかったので、軽くコードを組んでみて確認してみましたので、メモとして残しておきたいと思います。

【参考URL】
[developer – AsyncTask](https://developer.android.com/reference/android/os/AsyncTask)
[Android – AsyncTaskの直列処理?並列処理?](https://qiita.com/marusa/items/e4c3b780f8926e6afc17)
[AsyncTaskの非同期処理はどのように実現しているのか](https://qiita.com/kazy/items/755e8d3e9e36f5730895)

#【試作1】タスク1:直列処理、タスク2:並列処理の場合
task1:execute()
task2:executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)

“`
// 1

元記事を表示

【Android】Dagger2 ~基本編

# はじめに

[前回の記事(DI(依存性の注入)とは依存性を注入するということである、、?)](https://qiita.com/iTakahiro/items/353a11f6c9d2a927158d)では
DIとは何かについて記述しました。

今回は[Dagger2](https://dagger.dev)を導入してみたので記事にまとめます。
言語はKotlinです!

参考にしたチュートリアルは[こちら](https://www.raywenderlich.com/6583167-dagger-2-tutorial-for-android-advanced)です。

# 準備

まず、`build.gradle`にて`Dagger2`を導入します。
参照:[Dagger README.md](https://github.com/google/dagger#gradle)

“`gradle:build.gradle(app)

apply plugin: ‘kotlin-kapt’ // Kotlinでアノテーションを使用するために必要

dependencies {

元記事を表示

ViewModelProviders is deprecated になっているので、ViewModelProviderを使う

# ViewModelProviders が非推奨になっている

公[Android Developer 公式: ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel?hl=ja)に書いてある
“ViewModelProviders.of(this).get(UserModel.class)“
をつかうと deprecated(非推奨) と表示されてしまう。
[公式のViewModelProviders](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders)の説明によるともうメンテナンスがされないらしい。
今後は “ViewModelProvider“ を使わないといけないらしいので今回はその使い方を紹介する。

#用意するファイル

## Activity
プロジェクト開始時に通常通り生成されるもの
解説は省く

## ViewModel
MVVM

元記事を表示

Android、Chrome、CloudFrontの組み合わせでNo ‘Access-Control-Allow-Origin’が表示される

CloudFrontでリソースの配信を行っているとき、Android版のChromeだけでCORSのエラーが表示されることがある。

“`
No ‘Access-Control-Allow-Origin’ header is present on the requested resource
“`

CloudFrontにおけるCORSの設定は [CloudFront からの「No Access-Control-Allow-Origin」を解決する](https://aws.amazon.com/jp/premiumsupport/knowledge-center/no-access-control-allow-origin-error/) に書いてある通りなのだが、この設定を行っていてもエラーが起きることがある。

[Cross-origin request from cache failing after regular request is cached.](https://bugs.chromium.org/p/chromium/issues/detail?id=40909

元記事を表示

Jetpack Composeの公式サンプル JetNewsのFavoriteボタンを押した時の流れ

現在Jetpack Composeは絶賛開発中ですが、以下で新しいバージョンを使ったサンプルアプリがあります。そのサンプルの中で、いいねボタンが存在します。これがどうやって動くのかを見ていきます。
https://github.com/android/compose-samples/tree/master/JetNews
![toggle.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27388/f86c1333-68c1-5d62-522f-21dcee92e0db.gif)
まだbeta版でもないので、きっと変わっていくとは思います。
0.1.0-dev09での情報です。

## JetNewsのコードを読んでいく。

まずこの行はPostCardSimpleのようで、以下のようにプレビューされています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27388/37a34698-96dd-a02e-8

元記事を表示

Android初学者用まとめ

はじめてAndroid開発を行って学んだことをまとめました。
最初は、[はじめてのAndroidプログラミング 第4版 | 金田 浩明 |本 | 通販 | Amazon](https://www.amazon.co.jp/dp/4815601143/ref=cm_sw_r_tw_dp_U_x_ejxQEb7Q0AMYJ)を読むのがすごくお勧めです。
数時間ですらすら読めてAndroid開発の特徴をつかめました。

# アーキテクチャ
## Androidのアーキテクチャを考える時
これが丁寧で分かりやすい。
[Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する – エンジニアHub|若手Webエンジニアのキャリアを考える!](https://employment.en-japan.com/engineerhub/entry/2018/01/17/110000?amp=1)

公式のアーキテクチャガイド
[アプリのアーキテクチャ ガイド  |  Android デベロッパー  |  Andro

元記事を表示

アプリ未経験の大学生が1ヶ月かけてReactNative(Expo)でiOS/Android対応のアプリを作った話

先日、「ワセフリ」というアプリをリリースしました。開発期間は約1ヶ月。ReactNativeを使って、iOS/Android両対応しています。

先日、学生が教科書などを交換や売買できるようなフリマアプリ、「ワセフリ」をリリースしました!

開発に着手したのが2020年の3月19日。正式にリリースしたのが4/19日ということで、**まあ大体4週間かかったかな、という感じです。**

言い訳がましいのですが、平日はほぼフルコミットでエンジニアのインターンとして働いてい

元記事を表示

AndroidのViewPagerを下タブで切り替え

下タブでのViewPagerの切り替えはよく実装するレイアウトのひとつです。
ということで、自分がすぐ思い出せるようにまとめておきます。

`targetSdkVersion 29` で確認しています。

# 下タブに表示するメニューを作成

`app/res/menu/navigation.xml` を作成し、下記のように内容を修正します。

コード内の `android:id` は任意のidを指定可能です。
`android:icon` には下タブに表示する項目のアイコン、 `android:title` には、下タブに表示する項目のタイトルを指定します。
今回は例として、 `home` と `account` の2つの項目を下タブに表示します。

“`xml:navigation.xml

眺めて覚える C# Xamarin Forms(7) 画面遷移

##Android用IoT Buttonの制作
コロナアイコンをダウンロードします。[**武漢病毒**](https://freeicons.io)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/0d76ed45-a5d4-7344-be26-df269030c94e.png)
これらのアイコンをボタン化します。
ファイル名を付け替えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/6cafbd57-3351-c701-c58f-7c5be35d352d.png)

#新しいプロジェクトを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/405a1eda-cc8f-7b64-2c9d-12e777584eeb.png)
#プロジェクトを

元記事を表示

7年前 Corei5 WinタブにAndroidx86入れてゲームとか

Android-x86が流行り始めた頃、一時期ハマって自作PC等に導入していた。しかし、あまり情報がなかったため起動してブラウジング程度でやめてしまった。

最近、ふとAndroid-x86を調べるとゲーム(デレステ、ミリシタetc)を上手く動作させている方がいるようで、今回このタブレットがワケアリで手に入ったため導入することにした。

**あくまでも個人的な動作メモなため、各端末での動作保証は確実ではないことを承知の上参考にしていただきたい。**

## Dynabook VT712/H スペック

![vt712.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543063/fba9ae66-99bc-bf52-3619-cf47545a5d2e.png)

Dynabookのサイト
[企業向けタブレット VT712 トップページ – Dynabook](http://dynabook.com/pc/catalog/tablet_b/130226vt712/index_j.htm)

**概要*

元記事を表示

termuxにmongodbをインストールする

2020/04/28現在、まだ公式にサポートはされていないらしい。

今の所この方法がいいらしい。

https://github.com/termux/termux-packages/issues/249#issuecomment-584677975

元記事を表示

[Android]Epoxy のサンプルと解説 (CustomView から作成)

# はじめに

RecyclerView を使う際には Adapter などに独自で処理を実装する必要があり、ここが RecyelerView を利用する上でかなり面倒な実装だったりします。 Epoxy はこの面倒な処理を実装してくれるライブラリらしいです。Epoxy のサンプルを作成してどんなことができるのかざっくりと解説していきたいと思います。

# 準備する

Epoxy を利用できるようにセットアップを進めます。ライブラリとして epoxy、 epoxy-databinding, epoxy-processor を追加します。databinding を利用する際には epoxy-databinding が必要になります、databinding を利用しないのであれば追加する必要はないです。ライブラリを追加したら kapt と databinding を有効化するだけです。これでセットアップは完了です。

“`groovy
// kapt 有効化
apply plugin: ‘kotlin-kapt’

android {

// databinding

元記事を表示

[Android]Epoxy のサンプルと解説 (Databinding から作成)

# はじめに

RecyclerView を使う際には Adapter などに独自で処理を実装する必要があり、ここが RecyelerView を利用する上でかなり面倒な実装だったりします。 Epoxy はこの面倒な処理を実装してくれるライブラリらしいです。Epoxy のサンプルを作成してどんなことができるのかざっくりと解説していきたいと思います。

# 準備する

Epoxy を利用できるようにセットアップを進めます。ライブラリとして epoxy、 epoxy-databinding, epoxy-processor を追加します。databinding を利用する際には epoxy-databinding が必要になります、databinding を利用しないのであれば追加する必要はないです。ライブラリを追加したら kapt と databinding を有効化するだけです。これでセットアップは完了です。

“`groovy
// kapt 有効化
apply plugin: ‘kotlin-kapt’

android {

// databinding

元記事を表示

自作Androidアプリを公開するまでの流れ

#とりあえず参考書を見ながら作ってみた#

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/495537/7a2ae305-70d4-4079-ec9f-c5f1ef0e0076.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/495537/98193c99-01f7-0259-aa36-a1f05ed5b864.png)

※Android Studio 3.6.3

##AAB(Android App Bundle)ファイルを作成##

[Android App Bundle について | Android デベロッパー | Android Developers](https://developer.android.com/guide/app-bundle?hl=ja)
どうもあらかじめgoogle側が用意したAPKファイルを、ユーザ各々のデバイスに最適化し配布する形にするみたい

元記事を表示

OTHERカテゴリの最新記事