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

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

Gradle Kotlin DSL (build.gradle.kts) で構造体っぽい定数定義をしたい

Androidなどのプロジェクトでプロジェクト全体の定数を定義するときに、以下のような構造体っぽい定義を使っていました。

“`gradle
buildscript {
def versionMajor = 1
def versionMinor = 0
def versionPatch = 0
ext {
pj = [
versions : [
name: “${versionMajor}.${versionMinor}.${versionPatch}”,
code: versionMajor * 10000 + versionMinor * 100 + versionPatch
],
groupId : “com.example”,
siteUrl : “https://github.com/e

元記事を表示

【Flutter】Flutterの複数バージョンを共存させる方法

## この記事で話すこと
FlutterのバージョンをStableやMasterなど複数共存させる際に数秒で切り替える方法をお伝えします。

## 背景
Flutter 1.2.0がリリースされて、アップデートしたが、あるプロジェクトで動作しないライブラリがあったため、
Flutter ‘Stable’と’1.17.4’を同居させる必要がありました。

毎回アップグレード、ダウングレードを実施しているとその度に10分程度失うことになるので、何かないかと探していたところfvmというものがあるらしかったので、使用したらいい感じだったので紹介です。

## fvmとは
[fvm](https://github.com/leoafarias/fvm)

>Flutter のバージョン管理。Flutter SDK のバージョンを管理するためのシンプルな cli です。

>FVM は、プロジェクトごとに使用される Flutter SDK のバージョンを参照することで、一貫したアプリビルドの必要性をサポートします。また、複数の Flutter バージョンをインストールしておくことで、毎回 Flut

元記事を表示

プライバシーポリシー

#プライバシーポリシー

ユーザー登録をする必要はありません。
第三者に個人を特定できる情報を提供することはありません。
本アプリが個人情報を収集・利用することはありません。
使用しているライブラリは個人情報を利用していません。

元記事を表示

Snackbarの文言が複数行の時に上下に大きな空白ができるのを調整する

この記事は material-components 1.2.0 での内容になります

## 遭遇した問題

Snackbar の文言の上下の Padding が広すぎる気がする ?

[Snackbar のガイドライン](https://material.io/components/snackbars) をみてもここまで上下に Padding は設定されていなさそう。

## 解決策
`design_snackbar_padding_vertical_2lines` のリソースをオーバーライドする

“`
14dp
“`

【Flutter】超簡単!要素を画面いっぱいに表示する方法【Expanded】

#この記事を読んで習得できること
Flutterの画面作成で「画面いっぱいに要素を表示したい」っていう問題を解決する力(多分)

#結論
・`Expanded`を使って要素を隙間いっぱいに大きくする
#こんな感じ
![スクリーンショット 2020-08-14 15.14.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/74f6e974-c974-be98-40e8-216eea3d2469.png)

#とりあえず、書いてみる

“`main.dart
class _MainViewControllerState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Container(
decora

元記事を表示

5分で出来る!AndroidStudioのLiveTemplate

# はじめに
DatabindingしたViewModelから、クリックイベントなどをLiveDataでFragmentに通知するとき、privateなMutableLiveDataとpublicなLiveDataを作るの面倒だな〜と思ったことはありませんか??
私はあります!!

“`kotlin
class SampleViewModel : ViewModel() {
private val _sampleButtonClick = MutableLiveData()
val sampleButtonClick: LiveData = _sampleButtonClick
}
“`

今回は、AndroidStudioのLiveTemplateを使うことにより簡単に書けることに気づいたのでそれを紹介します!
私は今までLiveTemplateは使うことはありつつ作ったことはなかったのですが、作るのもとても簡単でした!

# LiveTemplateとは?

> ライブ テンプレートにコード スニペットを入力し、コードの小さなチャンクを

元記事を表示

【Flutter】グラデーション使用時に境界線が見える問題

# 概要
グラデーション使用時に境界線が見えてしまう場合がある。
[画面描画時のディザリング](https://api.flutter.dev/flutter/dart-ui/Paint/enableDithering.html)を有効にする事により、滑らかに表示する事ができる。

## 再現
“`dart
import ‘package:flutter/material.dart’;

class App extends StatelessWidget {
static const String _title = ‘Gradient Test’;

@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0

元記事を表示

【Flutter】安心してレポジトリを公開するために必要なgitignoreの設定

#この記事を読んで習得できること
Flutterのフォルダを安心してgithub or gitlabに載せられるようになる

#結論
`.gitignore`に
`!*/.gitignore`を追加する

これより下は時間がある人だけでいいですよん

#安心して,とは…?
Flutter関係の記事を載せようと思っていて、その際にソースコードも公開したいなーと思っていた。

全世界に公開するのなら、自分のPC内の情報は載せたくないなー(当然)と思っていたので、フォルダ内に自分の情報が載っていないか、調べてみた。

調べたっていっても、そんなたいそうなことはしてなくて、
フォルダ内のソースを、以下の文章で検索してみるってだけ。
`/Users/<自分で付けたPCのユーザー名>/`

すると、結構な分量が出てきてしまった。

![スクリーンショット 2020-08-13 19.52.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389553/e498988b-b9dd-d61a-510b-26da20c

元記事を表示

Androidでキーボードを非表示にする方法

## Androidでキーボードを非表示にする方法

### 背景
* 自分のメモ用です。

### 実装方法

* Kotlin

“`
// Hide the keyboard.
val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)

“`

元記事を表示

【小ネタ】AndroidでCrashlyticsをFabricからFirebaseに移行する際の注意点【リモートLT】

リモートLTのYouTube(クリックで再生, 日本語/英語字幕あり)
[](https://www.youtube.com/watch?v=LAzZGSAmwx0)

# はじめに

スクリーンショット 2020-08-13 18.48.34.png

Fabric SDKがアプリのクラッシュを報告するのは 2020年11月15日 までとなります。
なぜかというと大人の事情です。
FabricはFirebaseに買収され、今年の3月にサポート終了していました。

### 大人の事情まとめ(FirebaseとCrashlyticsの歴史)

“`
2011年 James

元記事を表示

DSL element ‘android.dataBinding.enabled’ is obsolete and has been replaced with ‘android.buildFeatures.dataBinding’. の解消

## 問題
Android Studio4.0にバージョンアップしてからコンパイルした際に以下のようなwarningが出ていた。

“`
DSL element ‘android.dataBinding.enabled’ is obsolete and has been replaced with ‘android.buildFeatures.dataBinding’.
“`
## 解決
原因:データバインディングを有効にするコードブロックが新しくなったため。

“`app/build.gradle
android {

dataBinding {
enabled = true
}

}
“`
↓こちらに変更すれば良い。

“`app/build.gradle
android {

buildFeatures {
dataBinding true
}

}
“`

元記事を表示

計算ドリルアプリの開発① 1+1を答えさせるアプリ

私には小学1年生の息子がいます。勉強嫌い、ゲーム大好きな息子なので、計算アプリなんかがあると少しは勉強してくれるかなぁと思い、作ってみようと思います。

# はじめに
### 開発環境
– OS:Windows 10(1903)
– 開発ソフト:Visual Studio 2019 Community
– プラットフォーム:Xamarin.Forms
– 開発言語:C#

### 環境の準備
以下を参照ください。
[Xamarin.FormsでAndroidアプリ開発](https://qiita.com/yasu006/items/1c29af89bce513245d6a)

# 超簡単なアプリから。1=1を答えさせるアプリ
### Mainpage.xamlの修正点
以下のコードを追加します。

“`ruby

元記事を表示

Nuxt.jsでURLスキームを利用してAndroidアプリを起動

Nuxt.jsでWebページを作成した場合の、URLスキームでのAndroidアプリ起動方法をまとめておきます。

# nuxt-user-agentを導入

Android端末かの判定に [nuxt-user-agent](https://github.com/fukuiretu/nuxt-user-agent) を使用します。
下記コマンドで、Nuxt.jsのプロジェクトにインストールしてください。

“`bash
npm install -S nuxt-user-agent
“`

`nuxt.cofig.js` ファイルに、設定を追加します。

“`nuxt.config.js
modules: [
‘nuxt-user-agent’
],
“`

# middlewareの作成

ユーザーエージェントを判定して、アプリ起動やストア移動を行うmiddlewareを作成します。
`const ANDROID_SCHEME = ‘sample://app’;` の部分で、Androidアプリを起動するURLスキームを指定しています。

“`middleware/lau

元記事を表示

Xamarin.FormsでAndroidアプリ開発③ 開発したアプリをスマホで実行。躓きポイントは、共有ランライム!

アプリ開発が終わったので、あとはAPKファイルをスマホで実行するだけ!と思っていたのですが、少し躓きました…。
今回手順を追ってしっかり説明していこうと思います。

# ビルドの設定

1. まずはソリューションエクスプローラーの[ソリューション名].Androidを右クリックしてオプションを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/05e30ce0-c475-4cd2-9a25-021b17d03ebb.png)

2. Androidオプションの「共有ランタイムの使用」をオフに。**ここが重要です!**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/0f3858c7-9dca-db91-ec79-2a278e2ce93d.png)

これがオンになっている時は、Visual Studioインストール時に勝手にインストールしてくれた「MONO

元記事を表示

LiveData の Unit Test(UnitTest探求記2)

Unit Test 探求記は、unit test に関してまったりと実験しつつその過程を綴ってみるというものです。

# 今回のお題
LiveData の unit test を行ってみます。

# テスト対象
今回は、[Transformations#map(LiveData, Function)](https://developer.android.com/reference/kotlin/androidx/lifecycle/Transformations#map(androidx.lifecycle.LiveData,%20androidx.arch.core.util.Function)) に対して複数の [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) を受けられるようにしたメソッドを作成して、それをテスト対象とします。

## ◆ TransformationsUtils
[TransformationsUtils.kt](https://githu

元記事を表示

[Android]AndroidX Preference Library で作れる設定画面をまとめる

# はじめに

AndroidX Preference Library でどのような設定画面が実装できるのかまとめが欲しかったので作成しました。基本的な使い方は[こちら](https://qiita.com/kaleidot725/items/f9ce2fbbf479d2a9f2bb)にまとめていますので参考にしてみてください。

| 要素 | 説明 | 見た目 |
| ————————- | —————————————————- | ———————————————————— |
| Preference | Fragmentへの遷移や

元記事を表示

【Android Kotlin対応】プログラミング記号文字読み方一覧【初心者向け】

##使い方
先輩が何言ってるかわからない時に新人が使います
##読み方一覧
|記号|読み方|
|:—-|:—-|
|+|プラス、プラ、プラス符号、正符号、たす|
|-|マイナス、マイナス符号、負符号、ひく|
|*|アスタリスク、スター、かけ、こめ、ほし|
|/|スラッシュ、スラ、わる|
|\\|バックスラッシュ、バック、逆斜線 ※JISコードは¥|
|%|パーセント|
|.|ピリオド、ドット、てん、小数点文字|
|,|コンマ、カンマ|
|:|コロン、ダブルドット|
|;|セミコロン、|
|’|シングルクォーテーション、シングルクォート、一重引用符、引用符|
|”|ダブルクオーテーション、ダブルクォート、二重引用符|
|`|バッククォート、グレイヴ・アクセント|
|(|左括弧、左丸括弧、パーレン|
|)|右括弧、右丸括弧|
|{|左波括弧、左中括弧、ブレイス|
|}|右波括弧、右中括弧|
|[|左角括弧、左大括弧、ブラケット|
|]|右括弧、右大括弧|
|<|小なり| |>|大なり|
|?|はてな、クエッション、クエスチョン、疑問符|
|!|びっくりマーク、びっくり、エクスクラメ

元記事を表示

FirestoreのTimestampとDateの相互変換

Android SDKでの話です。
特にDateからTimestampへの変換を忘れがちなので、備忘録として。

– https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp

“`kotlin
// Date -> Timestampの変換
val timestamp = Timestamp(Date())

// Timestamp -> Dateの変換
val date = timestamp.toDate()
“`

元記事を表示

Google Play In-App Review APIを簡単に使うためのライブラリを作成してみた

[Google Play In-App Review API](https://developer.android.com/guide/playcore/in-app-review) によって、Androidでもアプリ内からレビューの投稿ができるようになったので、レビューUIの表示をサポートするライブラリを作成しました。

[GitHub – ReviewPromptManager](https://github.com/hitting1024/ReviewPromptManager)

## 要件

Android 5.0 以上

## 使い方

### インストール

moduleのbuild.gradleに以下の依存を追加してください。

“`gradle
implementation ‘jp.hitting.review-manager:review-manager:0.0.1’
“`

### 設定

Applicationクラスにて `daysUntilPrompt` と `usesUntilPrompt` を設定してください。

– `daysUntilPrompt`

元記事を表示

Xamarin.FormsでAndroidアプリ開発② サンプルアプリ作成

[前回](https://qiita.com/yasu006/items/1c29af89bce513245d6a)インストールしたVisual Studioでサンプルアプリを作っていきます。

# Xamarin.Formsのソリューションの立ち上げ
1. まずVisualStudioを立ち上げると以下の画面が出てきます。「新しいプロジェクトの作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/93fc27f9-bf5b-8c81-122a-d1d9b608a4d0.png)

2. 色々出てきますが、モバイルアプリ(Xamarin.Forms)を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672017/e3f653ea-f1e8-6dbb-7719-9b35110477b4.png)

3. 適当に場所と名前を設定します。
![imag

元記事を表示

OTHERカテゴリの最新記事