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

Android関連のことを調べてみた2020年06月02日
目次

Android の Gradle の感覚を掴むためのざっくりとした説明

## 前略: Gradleは奥が深くできることが多いがなるべくシンプルに説明したい

GradleはAndroidアプリ開発には必須なスキルですが、環境設定系の内容なので役割として触れる人が限られてしまうことが多いのではないかと思います。
そんなGradleに対して、なんとなくストレスを減らし、なんとなく感覚を掴んでもらえれば思ってます。
なるべく短く簡潔を心がけますm(_ _)m

## Gradle is

– オープンソースのビルドシステムです。
例えばJavaプロジェクトではjarファイルを、JavaのWebアプリならwarファイルを作ってくれたり、汎用性の高さからさまざまなプラットフォームで使われています。
ビルドはすべてプラグインで行うようになっていて、JavaをビルドしてJarファイルを作りたいなら build.gradle ファイルに以下を定義して gradle を実行します。
“`groovy
apply plugin: ‘java’
“`
– ローカル上やネットワークリポジトリ上にあるライブラリとの依存関係の解決ができます。
– 中身はGroovyで書かれていま

元記事を表示

Android端末とPCを接続し、PCのchrome DevToolsを利用する方法

## おおまかな手順
1. Androidの開発向けオプションを有効にする
2. USBでPCに接続する
3. PC側のChromeで`chrome://inspect`に接続する

### 操作した環境
– macOS 10.14.6
– Android 9

## 詳細

### 1. Androidの開発向けオプションを有効にする
1. `設定`から`端末情報`の画面に進む
2. 下部にある`ビルド番号`を7回タップすると開発向けオプションが有効になる
3. `設定`から`システム`の画面にいき、`詳細設定`を開く
4. `開発向けオプション`が表示されているのでタップ
5. 少し下に画面スクロールするとある`USBデバッグ`をONにする → `ここ忘れがち`

### 2. USBでPCに接続する
1. USBでPCに接続する
2. Android側で「USBデバッグを許可しますか?」と聞かれるのでOKで許可する
3. Android側のChromeを立ち上げて適当なwebページを表示する

### 3. PC側のChromeで`chrome://inspect`に接続する
1

元記事を表示

FlutterアプリをCodemagicでCDしてみた(App Store Connect)

Google Playストア版の続きになります。

FlutterアプリをCodemagicでCDしてみた(Google Playストア)
https://qiita.com/kasa_le/items/17720a02ea0a4de2b66e

Codemagicへは、すでにtagトリガーなどで動くワークフローがあるものとします。
([こちらの記事](https://qiita.com/kasa_le/items/d23075d817f42e869778#codemagic%E3%81%AB%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F)などを参照して下さい。)
また、App Store Connectにて、アプリを登録済で、かつTestFlightへ手動でアプリ公開をしたことがあることが前提です。
([こちらの記事](https://qiita.com/kasa_le/items/fed9f25b92091bd162ce)などを参照して下さい。)

# 手順

基本的には以下のページの通りです。
https://docs.codemag

元記事を表示

Android Fragmentの中にタブ付きスワイプビューを作る(kotlin)

#はじめに
完成イメージはこんな感じ

「`BottomNavigationView`のボタンから遷移した先の、fragmentのページの中で、さらにfragmentで

元記事を表示

GitHub ActionsでAndroidアプリのCIを構築する方法

## はじめに

GitHub Actionsを使い、Androidアプリのビルドと単体テスト、静的解析を行うCIを構築します。

## 本記事で書かないこと

– GitHub Actionsの概要や基本的な操作方法
[私が以前書いた記事](https://qiita.com/uhooi/items/29664ecf0254eb637951) が参考になると思います

## 設定ファイルの紹介

設定ファイルの内容を上から順に紹介します。

### name

ワークフローの名前を設定します。

私は単純に「CI」としています。

“`yaml:ci.yml
name: CI
“`

### on

ワークフローを実行するトリガーを設定します。

私はGit-flowモデルで開発しており、以下のように設定しています。

“`yaml:ci.yml
on:
push:
branches:
– master
– develop
paths-ignore:
– docs/**
– README.md

元記事を表示

Activityへ値を渡し戻り値も得る

#はじめに
空のActivityに値を渡すことが出来るまでを書いていきます。
ActivityへはGson形式で受渡を行い。
さらにメインのアクティビティとサブのアクティビティにはFragmentを使って同じ画面を表示します。

#準備
##strings.xmlを編集
strings.xmlを下記の様に編集します。

“`strings.xml


QiitaActivityFragmentSample
編集
String型
Int型
Double型

“`

##Gsonを扱えるようにする
左のプロジェクトの

元記事を表示

Android関連 利用頻度高い製品のバージョン (2020-06-01)

# 2020-06-01 現在 Android関連 利用頻度高い製品のバージョン

個人的に特定時期のバージョン情報がまとまっていると嬉しいのでまとめたものです。

## Android Studio

4.0.0 (2020-05-28)

Download Android Studio and SDK tools  |  Android Developers
https://developer.android.com/studio

Android Studio release notes  |  Android Developers
https://developer.android.com/studio/releases

## Gradle

6.4.1 (2020-05-15)

Gradle Build Tool
https://gradle.org/

Gradle | Releases
https://gradle.org/releases/

## Android Gradle plugin

4.0.0 (April 2020)

Android Gradle

元記事を表示

Android Studioのオススメ初期セットアップ(Mac)

## はじめに

Android Studioのオススメ初期セットアップを紹介します:level_slider:

セットアップ完了前後でこのように変わります。

__before__
スクリーンショット 2020-06-01 10.02.46.png

__after__
スクリーンショット 2020-06-01 12.14.53.png

## 環境

– OS:macOS Catalina 10.15.3
– Android Stud

元記事を表示

画面遷移で別のアクティビティを開始するやり方 – Android

#今回学ぶこと
・画面遷移の実装方法

#目指す成果物
このようにボタンをタップしたら,別のActivityに画面遷移する実装をしてみたいと思います.

![gif_画面遷移_qiita.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/249786/629ea04e-0620-6051-a4ff-ed3da817b942.gif)

#ディレクトリ構成

ポイントは「MainActivity.kt」のようなActivityを2つ作ることと、レイアウトXMLファイルを2つ作ることです.

スクリーンショット 2020-06-01 12.05.09.png

#ステップ

実装方法は2パターンあります
ポイントは画面遷移での必須の,「

元記事を表示

こんなソースコードはイヤだ-無名関数のパワー

プログラムのソースコードのより良い書き方をまとめていこうと思います。

# 無名関数のパワー

“`sample.kt
var decodeUrl = “”
try {
decodeUrl = URLDecoder.decode(this.url, “UTF-8”)
} catch (e: Exception) {
decodeUrl = this.url
}
print(decodeUrl)
“`

[どのようにリファクタリングできるのか](https://www.sentohsharyoga.com/ja/bad_source_code/entry/anonymous_function_is_useful)

元記事を表示

Spek(Android)入門

# はじめに
AndroidのUnitTestで[Spek](https://www.spekframework.org/)が流行しているので(今更ですが)、導入からはじめてみました。

この記事では、公式ドキュメントを元にAndroidプロジェクトのセットアップから
UnitTestの実行までを記載します。

そもそも、Spekとは?何が便利か?についてはこのあたりの記事やDroidKaigiでもよく紹介されているので、
そちらを閲覧してみてください。
https://qiita.com/k_keisuke/items/815ced486e8cdff8670d
https://qiita.com/sadashi/items/a5b93c9fc06e084456d2

# 導入

1.JUnit5を実行するため、サードパーティのライブラリを導入。

プロジェクト自体はAndroidStudio標準のFragment + ViewModel で作成しました。

https://github.com/mannodermaus/android-junit5 のページに記載されている

元記事を表示

M5StickCのボタン押下でスマホから現在地をしゃべらせる(1/2)

以前の投稿 [GoogleMapを使ってサイクリングに出かけよう](https://qiita.com/poruruba/items/9bced2e9b23c6d05cc9f) で、GoogleMapに音声ナビゲーションしてもらいました。

今回は、GoogleMapに頼らずに、スマホのGPSだけでナビゲートしてもらいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/67db435e-7042-b049-efc4-b42a3e201fa3.png)

ですが、自転車運転中は、スマホの画面を見るのは危険ですので、やっぱり音声でナビゲートして欲しいところです。
例えば、「目的地まで100メートル、北西方向です。」と言ってくれれば、助かります。方向はどうやって認識するかというと、そこはアナログに方位磁針に助けを借りて、自転車に取り付けました。自転車ベルと方位磁針がセットのやつが700円弱です。

ずっと、音声でだらだらと音声ナビしてもらうのもよいのですが、できれば、教えて

元記事を表示

UnityからAndroid端末にアプリをインストールするときにでたエラーについて

##エラー
>
adb: failed to install /Users/UserName/UnityProject/TestUnityProject/ProjectName/Builds/Apk/AppName.apk: Failure [INSTALL_FAILED_OLDER_SDK: Failed parse during installPackageLI: /data/app/vmdl1509473597.tmp/base.apk (at Binary XML file line #8): Requires newer sdk version #28 (current version is #27)]
“`

*日本語訳*
>
adb:/Users/UserName/UnityProject/TestUnityProject/ProjectName/Builds/Apk/AppName.apk:のインストールに失敗しました:[INSTALL_FAILED_OLDER_SDK:installPackageLIの解析に失敗しました:/data/app/vmdl15094735

元記事を表示

2020年6月から11月までに行われる開発者向け大規模オンラインカンファレンス・サミットをまとめみた!

こんにちは(๑╹ω╹๑ )
毎年夏季前後で開発者向けの大規模なカンファレンスやサミットが開催されていますよね!!

今年は例年と違いオンラインでの参加が可能なイベントが増えております!
※この記事で紹介するイベントはオンラインでの視聴が可能なイベントのみです

このような記事を書き残そうと思ったのは、
情報の整理が追いついていなかったためです笑

※日付は現地時間です

|主催|イベント名|日程|備考|
|—|—|—|—|
|Microsoft|[Cloud Summit](https://resources.office.com/en-in-landing-IN-M365DEP-WBNR-FY20-06Jun-01-Microsoft-Cloud-Summit-4935.html)|6月1日〜6月5日|Azure、ブロックチェーン、AI、Dynamics 365、Power Platform|
|Cisco|[Cisco Live](https://www.ciscolive.com/us.html)|6月2日〜6月3日||
|Android|~~[Android1

元記事を表示

Coursierで特定のmaven artifactの依存関係を確認する

Androidでの開発やJavaなどのJVM言語での開発で、あれ、このライブラリって何に依存しているんだっけ?って思うことよくありますよね?
皆さんはどのように確認しているでしょうか?
https://mvnrepository.com/ などのサイトを見たり、 `./gradlew dependencies`で確認するなどさまざまだと思います。

今日はScalaで書かれたCoursierというCLIツールが便利だったので紹介します。
https://get-coursier.io/

# 使い方
ターミナル上で `coursier resolve maven_artifact`という感じで確認できます

“`
$ coursier resolve io.circe:circe-core_2.12:0.10.0
io.circe:circe-core_2.12:0.10.0:default
io.circe:circe-numbers_2.12:0.10.0:default
org.scala-lang:scala-library:2.12.6:default
org.scala-

元記事を表示

7年前DynabookタブにAndroidx86入れてゲーム(続き)

![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F543063%2F4c36d16e-f069-6fad-d7fd-6e567e454d70.jpeg?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=afb46a3d39eff27935bff95fef3e5343)

前回、「7年前のWinタブにAndroidx86を入れてゲームをする」記事を書いた。

### 7年前 Corei5 WinタブにAndroidx86入れてゲームとか
https://qiita.com/ksmndevelop/items/764307de2e0342137a47

一ヶ月程度経ってしまったが、その後のことについて追記しておく。

# ゲーム動作の様子動画
とりあえず、きらファンとプリコネをプレイした動画を上げた。

Dynabook VT712 Android x86 きらファンテスト – Yo

元記事を表示

Dagger-HiltはViewModelのFactoryをどのように差し込むのか

AAkiraさんのブログを見てViewModelのInjectがすごいと思って不思議に思って仕組みを調べてみました。
https://aakira.app/blog/2020/05/dagger-hilt/

まだ正式にリリースされているわけではないので後々仕組みが変わる可能性があります。
このブログで紹介されているサンプルコードをベースに見ていきます。 (理解しやすいサンプルを公開していただき、本当にありがとうございます :pray: )
https://github.com/AAkira/dagger-hilt-example

以下のように書いておくことで、VoiewModelをInjectできるそうです。

“`kotlin
class MainViewModel @ViewModelInject constructor(
private val repository: SampleRepository,
@Assisted private val savedState: SavedStateHandle
) : ViewModel() {
}
“`

元記事を表示

UnityでGoogle Play Game Services導入する際、あらゆる罠にハマった話

UnityプロジェクトにGoogle Play Game Servicesを導入した際、いろいろ罠にはまって24時間くらい無駄にしたので、ここに何が発生してどうやって解決したかメモしておきます。

# 私の開発環境

* Unity 2018.4.10f1
* Google Play Game plugin for Unity v 0.10.09
* Android SDK level 28

macで作業しています。

# 動かしたいコード

[Google Play Game Servicesプラグイン](https://github.com/playgameservices/play-games-plugin-for-unity)を使って、プロジェクトにクラウドセーブ機能を導入しようとしています。
動かしたいコードは、サービスの初期化とプレイヤの認証です。

“`C#
var conf = new PlayGamesClientConfiguration.Builder()
.EnableSavedGame()
.Build();
PlayGamesPlatfo

元記事を表示

FlutterアプリでonResume的なタイミングの処理をする

# 状況
カレンダー式表示のアプリを作成しています。「今日」が分かりやすいように、その日付のセルだけ背景色を変えています。
しかし、特にiOSで問題になるのですが、アプリをホームボタンでバックグラウンドに移動していて、もう一度アプリを立ち上げたときに、そのタイミングで日付が変わっていても「今日のセル」が移動してくれません。
Androidでいう、”onResume”のタイミングで処理ができれば解決できると思い、調査しました。

# 環境など

|ツールなど|バージョンなど|
|:–|:–|
| MacBook Air Early2015|macOS Mojave 10.14.6|
|Android Studio |3.6.1|
|Java |1.8.0_131|
|Flutter|1.12.13+hotfix.9|
|Dart |2.7.2|
|Xcode |11.3.1|

# 解決策

`SystemChannels.lifecycle.setMessageHandler`を使います。
詳しくはこちら。
https://api.flutter.dev/flutter/servi

元記事を表示

Androidの密度修飾子(ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi)をコード上で判定する。

Androidの密度修飾子はDrawableリソースの場合、それぞれのフォルダを使うことで自動的に端末のDrawableリソースが使われます。
しかし、今の手持ちの密度修飾子は何なんだ?というときがあるので、コード上で判定してみたいと思います。

“`kotlin:MainActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val densityDpi = resources.displayMetrics.densityDpi
(findViewById(R.id.textView2) as TextView).text = densityDpi.toString()
if (0 < densityDpi && densityDpi <= DisplayMetri

元記事を表示

OTHERカテゴリの最新記事