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

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

Android の Camera2 API を使って Color Effect する

[Android の Camera2 API を使って カメラのプレビュー画面を表示する](https://qiita.com/ohwada/items/7bb65a566114066c8ced)
の続きです。

### Color Effect

Color Effect (色効果) は、
カメラデバイスからの画像の色合いを変更する機能です。
この機能は機種依存です。
この機能の解釈と実装は、Androidデバイスのメーカーに委ねられている。
すべての機種で同じ動作をするとは限らない。

Camera2 API には下記の Color Effect が用意されている。
この機能がサポートされていないときは、OFF のみをリストする。

– OFF
– MONO
– NEGATIVE
– SOLARIZE
– SEPIA
– POSTERIZE
– WHITEBOARD
– BLACKBOARD
– AQUA

[reference : CameraCharacteristics.html#CONTROL_AVAILABLE_EFFECTS](https://developer.and

元記事を表示

[Android] パーミッション の Normal と Dangerous の違い

# はじめに

Android ではセキュリティの都合上 Android で動作するアプリから個人情報の取得、端末の操作など
セキュリティ的に重要な制御をする場合はパーミッションで何をするか明示的に示す必要があります。

そのパーミッションですが Normal や Signature や Dangerous といった3つの保護レベルがあるらしく、
その Normal や Signature や Dangerous でパーミッション許可の方法が異なるようです。

# パーミッションとは?

Android では 次のような個人情報の取得、端末の操作などの
制御をする場合はアプリにパーミッションを設定する必要があります。

| パーミッション | 内容 |
| — | — |
| ACCESS_WIFI_STATE | Wi-Fiネットワークに関する情報にアクセスできるようにする。|
| ACCESS_NETWORK_STATE | ネットワークに関する情報にアクセスできるようにする。|
| CAMERA | カメラデバイスにアクセスできるようにする。 |
| READ_CONTA

元記事を表示

Android Dev Summit 2019 Extended Tokyoの登壇資料まとめときました。

# Android Dev Summit 2019 Extended Tokyoに参加しました。
GDGさん主催のAndroid Dev Summit 2019 Extended Tokyoに行ってきたので、
発表してくださったみなさまの資料をまとめておきます。

# Android Developer Summit 2019 Overview
@mhidaka さん
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151973/2b8580eb-a5a7-4bd8-9dfb-c610e8fc32d5.png)
資料:https://speakerdeck.com/mhidaka/android-dev-summit-2019-conference-overview-and-keynote-session

# Android Studio 4.0について
@wasabeef_jp さん
![image.png](https://qiita-image-store.s3.ap-north

元記事を表示

Android Dev Summit 2019 Extended Tokyo メモ

## Android Dev Summit
GoogleのAndroid “開発者向け” のカンファレンス
[Android Dev Summit 2019](https://developer.android.com/dev-summit?gclid=Cj0KCQiAtrnuBRDXARIsABiN-7C0X5kxhNZVCFWazTCrhFaO_QxWIOAy0mJ5FdPcC0g-o6hM2oA-NbcaAt2JEALw_wcB&authuser=1)

700参加者

– Modern Development
– Android Studo
– Jetpack
– Modern Distribution Channek
– Moderan OS

## Conference Overview & Keynote Session

### Keynote

Androidは開発者とユーザーをつなぐプラットフォーム
増えるプラットフォーム : Foldable Chromebook
APEX (Android Pony Express)

Google Associate An

元記事を表示

Gradleで任意のファイル名で.apkを無警告で書き出す (2019/11版)

# TL;DR
AndroidのGradle Buildで出力される.apkのファイル名を好きに決めたかったので,何年か前にいろいろググって`build.gradle`を設定してあったのですが,最近のGradleのVersion UpでWarningが出るようになってしまいました...

なので,最新Verでも無警告で気持ちよく任意名の.apkを出力できるようにします.

# 環境

“`
Android Studio : 3.5.2
Android Gradle Plugin Version : 3.5.2
Gradle Version : 5.4.1
“`

# 何が問題だったか
もともとの`build.gradle`では ↓ のような処理で.apkの名前を差し替えていましたが,
`output.outputFile.name`の処理が内部でDeprecatedなAPIを使っているらしく,
`API ‘variantOutput.getPackageApplication()’ is obsolete and has been replaced with ‘variant.ge

元記事を表示

とりあえずDaggerを動かしてみる&詰まったところの解決

# はじめに
Daggerのことググってもとりあえず動かしたいくらいの解説があまりなかったので、とりあえず動く物を。
あと、インジェクションするオブジェクトにactivityを引数として渡さないといけない時の方法で詰まったのでそれも書きます。

ソースは[こちら](https://github.com/kkt-yu/Dagger-Practice)
# Daggerについて
ググってください

# Daggerの下準備
Gradle(app)に下記追加

“`gradle
// Dagger
implementation “com.google.dagger:dagger:$dagger_version”
annotationProcessor “com.google.dagger:dagger-compiler:$dagger_version”
implementation “com.google.dagger:dagger-android-support:$dagger_version”
kapt “com.google.dagger:dagger-compiler:$dagge

元記事を表示

Android でパスワード表示/非表示できる EditText を実装する

# 概要
![スクリーンショット 2019-11-15 12.39.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34926/fc09a53a-2ab8-d15b-2810-9ecdfac9b88d.png)
![スクリーンショット 2019-11-15 12.39.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34926/3a71d41a-9be9-be9a-6ec1-294b03661a3c.png)

こういうフォームを実装します。

「Android パスワード 表示 非表示」のようなキーワードでググると結構ヒットするのですが、
MATERIAL DESIGN ではなく
`android.support.design.widget.TextInputLayout`
の内容が多かったので書き残しておきます。

# 手順

1.プロジェクトレベルの build.gradle に以下を追加します([コチラを

元記事を表示

しがない大学生がExpo(React Native)とfirebaseを使ってアプリ作ってみた

こんにちは、ウマシバ([@UMA_987](https://twitter.com/UMA_987))といいます。

時々ウェブアプリやアプリを作ってる大学二年生です。

今回初めてAndroidアプリを作ったのでその紹介です。
#作ったアプリ
クリア時間割という時間割アプリをAndroid向けに作りました。

[クリア時間割](https://play.google.com/store/apps/details?id=dev.umashiba.cleartimetable)
![ClearTimeTable_feature_graphic_min_ver.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307076/7ac94a64-8fcf-6248-e0fc-a0982fbe30d0.png)
#作った理由
firebaseを使ってみたかったのと自分が欲しい機能を自由に追加できる時間割アプリが欲しかったのが理由です。

自分が作りたいものを作るって結構大事な気がしたのでこれを作ることに決めました。

元記事を表示

【Flutter】’initialCameraPosition != null’ : is not true.が起こった時の解決策

#なりゆき
以下のページを参照しながらコピペをしていると途中で画像のエラーが起きた。
[Google公式Flutter用Google Mapsプラグインを一通り使ってみた](https://qiita.com/aoinakanishi/items/25f2526fc7c1fe8350c6)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533444/67c98215-52aa-c3e1-6898-7b1a9e3d0c1d.png)

#解決方法
initialCameraPositionがnullということなのでカメラの初期座標を設定する。

“`dart:lib/main.dart
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
height: MediaQuery.of(context).size.height,

元記事を表示

KODIの日本語化する

各OSに合うKODIをインストールする

設定選択

インターフェース選択

スキン選択

フォント選択し
Arialを選択すれば日本フォント再生出来ます。

地域
地域押し言葉をjapaneseに選択してあげれば
日本語化完了します

元記事を表示

Flutterウィークリー #83

# Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/

この記事は#83の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-83

※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。

# 読み物&チュートリアル

### dart2nativeでDart 2.6を発表: Dartを自己完結型のネイティブ実行可能ファイルにコンパイルします
https://medium.com/dartlang/dart2native-a76c815e6baf


Dart 2.6のdart2nativeの公式発表。これにより、 Dartコードから実行可能ファイルを生成できます。

### GitHubアクションを使用したFlut

元記事を表示

VisualStudio&Gradleでマルチアーキテクチャ向けのAPKを作る

# 前回の記事
– [VisualStudioでAntを使ってNativeなAPKを作ってみる](https://qiita.com/furui/items/57df2533d1faa2a38b6f)
– [VisualStudioでGradleを使ってNativeなAPKを作ってみる](https://qiita.com/furui/items/59b5a290b2539bd0c8c3)

# はじめに
armeabi-v7a と arm64-v8a の両方のダイナミックライブラリ(*.so)をを含めたAPKを作る方法を色々検証し、作成する方法が分かりましたのでまとめていきます。

ただし、この方法ですと色々問題があります。
「**どのようなもんだいがあるのか**」「**私の場合はどのように対応したのか**」も一緒にまとめていきます。

今回は「[VisualStudioでGradleを使ってNativeなAPKを作ってみる](https://qiita.com/furui/items/59b5a290b2539bd0c8c3)」のプロジェクトを使って説明します。

# マルチアーキ

元記事を表示

Android 9(Pie)以降で画面起動時に特定のViewに初期フォーカスを当てる方法

今さっき知ったのですが(遅)、Android 9(Pie)で[Viewのフォーカスに関する仕様変更](https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=JA#focus)があり、**タップモードにおいてActivityは初期フォーカスを暗黙的に指定しなくなっていました**。
この初期フォーカスが自動で当たる機能は入力フォーム画面や検索画面では便利で、使っていた方も多いのではないでしょうか。

Oreo以前であれば、以下のxmlを持つActivityが起動したとき、暗黙的に`EditText`に初期フォーカスが当たっていましたが、Pie以降で同様のことを実現する場合、**明示的に初期フォーカスを当てるViewを指定しなければならなくなりました**。

“`xml

[Android]端末上のアプリ情報を覗き見る

## 端末にインストールされたパッケージ(apk)のバージョン情報を覗こうとした
とあるプロジェクトにて、アプリのバージョンコード・バージョンネームを上げてビルド。
出力されたoutput.jsonをみると、どうやらバージョンが変わっていない。

真偽を確かなものとするためapkの情報を覗くことに。
(注:ここではバージョンが変わらなかった場合の解決方法は説明しません。)

## 前提として
調べたいapkがインストールされた端末がPCと接続されていること。
adbが使えること。

## dumpsysコマンド
dumpsysコマンドはシステムサービスの状態をダンプしてくれます。
簡単な例で言うと、バッテリーの残量やメモリの消費量、ネットワーク通信状態などを、コマンド一発で確認することができます。(原文ママ)

開発者としてはぜひ知っておきたいコマンド。

## dumpsys packageでパッケージ情報を覗く
ターミナルにて、以下を実行
“`adb shell dumpsys package パッケージ名“`
これで107行くらいの情報が出てくる。(長いから載

元記事を表示

CentOS7にcordova環境構築(GUI無し)

CentOS7にcordova (android アプリコンパイル環境含む)の構築手順

android studioは導入せず、android sdkのみ入れてみました。
GUI環境無でapkファイルの生成までできます。

“`sh
sudo yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash –
sudo yum install nodejs
sudo npm install -g cordova
mkdir cordova
cd cordova/
cordova create myapp
cd myapp/
# cordova platform add ios
cordova platform add android
cordova requirements
“`

“`console
$ cordova requirements

Requirements check results for android:
Java JDK: not ins

元記事を表示

Dagger2をいまさらだけど導入する2019

自分の担当するプロジェクトで全然Daggerに触れる機会がないので、いい機会なのでDagger2を今更導入してみました。

# きっかけ
自分が今取り組んでいるDDDにおいて、各レイヤーごとに処理を分ける必要がありますが、プレゼンテーション層から下のレイヤーのインスタンスを作るのが非常に手間だったからです。
DIを利用して依存性を注入してあげれば、ActivityやFragmentから

“`kotlin:HomeActivity.kt
private lateinit var homeApplicationService: HomeApplicationService

override fun onCreate(bundle: Bundle?) {
・・・
val homeDatabase = HomeDatabase(this)
val homeCache = HomeCache(this)
val homeDataStore = HomeDataStore(homeDatabase, homeCache)
val homeReposit

元記事を表示

[Android] タッチの座標を確認する

タッチの座標をお手軽に確認する方法の紹介。
`input tap`するときの座標を確認するときに便利。

Screenshot_1573656099_.png

開発者オプションの”Pointer location”機能を有効にすることで、
画面上部にタッチイベントの詳細が表示される。

タッチ数・座標・測度・強さ・大きさおよび、タッチの軌跡が確認できる。

Screenshot_1573656163.png

“Pointer Location

元記事を表示

Android Studioを使ってGoogle Playを介さずにリアル(SHARP 304SH)で自作アプリを動かす方法

本内容を利用した場合の一切の責任を私は負いません。

#バージョン
– OS
OS 名: Microsoft Windows 10 Home
OS バージョン: 10.0.18362 N/A ビルド 18362
システムの種類: x64-based PC
– Android Studio
Android Studio 3.5
Build #AI-191.8026.42.35.5791312, built on August 9, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
– Android
4.4.2
– ADB USBドライバ
17.1(8698791byte 2019/7/9)

#準備
Android Studioを公式からダウンロード&インストールする。
ADB USBドライバを下記からダウンロード&

元記事を表示

Firebase Cloud MessagingのFCMトークン更新タイミングについて

# FCMトークンの仕様
Firebase Cloud Messagingを使ってアプリへのプッシュ通知テストをする際に、Firebaseコンソール上で対象デバイスのFCMトークンを登録する必要があります。
![スクリーンショット 2019-11-13 18.24.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6380/b96ec29a-dffc-ede4-7486-c76491810e8b.png)
このFCMトークンがデバッグ中にいつのまにか変わっていることがあり、挙動を把握するためドキュメントで仕様を確認してみました。

OS毎に挙動が異なるようだったので、それぞれの生成・更新タイミングをメモしておきます。
# Android

【参照】[Android で Firebase Cloud Messaging クライアント アプリを設定する | Firebase](https://firebase.google.com/docs/cloud-messaging/android/client?h

元記事を表示

[ Android ] パーミッション設定

Androidのパーミッション設定について記す。

##パーミッションとは
例えば、Android 上でインターネットに接続するためには、そのためのパーミッションを必要とする。
この時AndroidManifest.xmlに以下のような内容を記述する。

~~~xml

~~~

これがパーミッションである。

##種類
パーミッションには様々な種類がある。
上記のNETWORK ネットワーク通信に関するものを始め、PERSONAL_INFO 個人情報、DEVELOPMENT_TOOLS 開発ツール、MESSAGES 送受信したメッセージなど多岐に渡る。
これらを指定したい場合は、上記の追加した記述でINTERNETという部分を変えればよいだけである。
以下に一例を示す。

・ネットワーク通信
**ACCESS_NETWORK_STATE**:ネットワーク状態の表示を許可する。
**ACCESS_WIFI_STATE**  :Wi-Fi状態に関する情報の表示を許可

元記事を表示

OTHERカテゴリの最新記事