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

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

#38 Kotlin Koans Builders/The function apply 解説

#1 はじめに

Kotlin公式リファレンスのKotlin Koans Builders/The function applyの解説記事です。

Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。

ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**

一度各自で挑戦してから、お目通し頂ければと思います:fist:

#2 Builders/The function apply の解説

[Kotlin Koans Builders/The function apply](https://play.kotlinlang.org/koans/Builders/The%20function%20apply/Task.kt)の解説です。
随時本サイトの内容を引用させていただきます。

本文とコードを見てみましょう。

> The previous examples can be rewritten using the library function [apply](https://kotlinlang.or

元記事を表示

湯婆婆をAndroidアプリで実装する

本記事は、@Nemesisさんの[Javaで湯婆婆を実装してみる](https://qiita.com/Nemesis/items/c7192a7c510788d2cba2)という記事のパロディです。
湯婆婆をAndroidアプリで実装しました。

# 必要な機能
・コマンドプロンプト風
・名前が空白だとアプリが落ちる

# レイアウト
テキスト表示(TextView)とテキスト入力(EditText)で構成されています。

“`activity_main.xml

元記事を表示

【翻訳】Android Developers: App Startup を用いたコンポーネント初期化

Android デベロッパー > ドキュメント > ガイド > 主要トピック > Architecture Components > アプリの起動 が英語だったので翻訳しました。

元ページ:[App Startup](https://developer.android.com/topic/libraries/app-startup)

# アプリの起動(** [Android Jetpack](https://developer.android.com/jetpack)**)

> The App Startup library provides a straightforward, performant way to initialize components at application startup. Both library developers and app developers can use App Startup to streamline startup sequences and explicitly set the order of initializa

元記事を表示

SQLiteパフォーマンス計測 SELECT vs SUM

#動機
SQLiteを使ったAndroidアプリを開発している。
日々積み上がるデータを集計する必要があり、長期間の運用に耐えうるパフォーマンスが得られるか検証してみた。

#評価対象

実プロジェクト用の検証なので、そのままのコードは晒せないがデータ構造は以下の様になる。Int,Long,BooleanはINTEGER型としてStringはTEXT型として対応するテーブルを作成している。

“`kotlin:kotlin
class Record{
var num1 : Int = 0
var num2 : Int = 0
var date : Long = 0 // ★ INDEXを作成している
var num3: Int = 0
var num4: Int = 0
var num5: Int = 0
var num6 : Int = 0
var amount : Long = 0
var num7 : Int = 0
var text1 : String = “”
var text2: String = “”
var num8 : Int = 0
va

元記事を表示

HMS Push Kit対応及びサーバー側修正イメージ

##Push Kit対応及びサーバー側修正イメージ
![1.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677521/ba1d9c54-1b4b-9b9d-0228-7de675c3a734.gif)
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677521/1ca0936d-29a4-0a10-420d-2fe654f91e27.png)
![3.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677521/38ec4757-1326-d3c1-cf62-39dd37751f9c.gif)

元記事を表示

AndroidアプリでDevOpsを導入する方法

**DevOps**とは、ソフトウェアの納品を自動化するための有名なプラクティスのセットを指します。デザインによって、**DevOps**はメンテナンスと更新を容易にします。

*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/android-devops%EF%BC%9Afrom-a-single-push-command-to-production_145532)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/a2b2e211-7c96-689c-a0fd-f751074d8c6e.png)

#序章
DevOpsとは、ソフトウェアの納品を自動化するための有名なプラクティスのセットを指します。設計上、DevOpsは、継続的なテスト、コード品質の向上、機能開発を通じたメンテナンスと更

元記事を表示

[Android]Coil で Gif を表示してみる

# はじめに

Coil では Gif 画像をサポートしており、Gif 画像を表示できるようになっています。
今回は実際にどのような感じで使えるのか試してみたいと思います。

# 準備

Gif 画像を表示するには Gif モジュールを依存関係に追加する必要があります。
次のように build.gradle に追記して Gif モジュールを依存関係として追加します。

“`groovy
dependencies {

implementation “io.coil-kt:coil:1.0.0”
implementation “io.coil-kt:coil-gif:1.0.0”

}
“`

# 実装

## raw フォルダに Gif 画像を格納する

表示する Gif 画像は raw フォルダに格納します。
なので次のように raw フォルダを作成して Gif 画像を格納しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7

元記事を表示

【コピペで動く】Android KotlinでNotificationから任意のURLを起動

こんにちは。Tommyと申します。

今回はAndroid KotlinにてOS通知(Notification)から任意のURLを起動させてみました。

##環境
・AndroidStudio 4.1
・Kotlin 1.4.10

##実装したこと
AndroidOSに搭載されている通知機能を使用して以下のように「通知をタップ」→「URL起動」を実装しました。


ボタンを押すと通知が表示されるのでタップすると、、、

Qiitaのトップ画面へ飛ばすことができました。
これでデ

元記事を表示

path_providerをAndroidで利用するとエラーが発生してしまう

Flutterにおけるストレージのパス取得のためのプラグイン`path_proivder`がAndroidで動作しない問題でハマったので解決策をメモしておきます。

# 事象

[path_providerプラグイン](https://pub.dev/packages/path_provider)の`getTemporaryDirectory()`などのメソッドをAndroidで実行すると、以下の例外が発生していました。

“`shell
MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)
“`

# 解決策

該当プロジェクトでは、ネイティブのUIをそのまま組み込むことができる**PlatformViewを利用**していますが、AndroidのネイティブコードにおけるPlatformViewを登録する場所で、**overrideしたメソッドの親メソッドを呼び出していない**ことが原因で

元記事を表示

#37 Kotlin Koans Builders/String and map builders 解説

#1 はじめに

Kotlin公式リファレンスのKotlin Koans Builders/String and map buildersの解説記事です。

Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。

ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**

一度各自で挑戦してから、お目通し頂ければと思います:fist:

#2 StringBuilderを用いた文字列の連結

Kotlinにおける文字列の連結方法の1つに[StringBuilder](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-string-builder/)インスタンスを用いる方法があります。

以下の手順で利用します。

1. **StringBuilder**インスタンスを生成する。
2. StringBuilderインスタンスが**append()**を呼び出して、引数として連結したい文字列を渡す。
3. StringBuilderインスタンスが**

元記事を表示

【Android】SpinnerをXmlのみで初期選択値を決める【Databinding&BindingAdapter】

Android 開発において、Spinnerというものがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520701/3f5316cb-3a5f-3a19-b6f4-e972d5349a71.png)

Webでは`select`が挙げられると思われます。

selectでは、option要素にて、

“`

“`
`selected`を指定すれば、自動でサンプル3に選択されますが、

Androidの場合、初期値をXmlで指定することができなさそうでした。(もしあったら教えてほしい(´;ω;`))

ゆえに何を使うかと調べたところ、

“`kotlin:Acti

元記事を表示

【Android/Java】Fragmentに戻るボタンを設置する

## はじめに
フラグメントでの戻るボタンの設置において、
親Activity内で定義して呼び出す書き方にしていたのですが、
Activityに置かずに各Fragmentから直接中身を呼び出すほうがいい
と、ベテランエンジニアから指摘をいただいたので備忘録として両パターン残しておきます。

## ①MainActivityから呼び出す方法
“`java:MainActivity.java
public class MainActivity extends AppCompatActivity {

// 戻るボタンを定義
public void setupBackButton(boolean enableBackButton) {
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(enableBackButton);
}
}
“`

“`java:Fragment1.java
// onCreateView内で呼び出す

元記事を表示

TargetSDK29 対象範囲別ストレージ対応

# はじめに
2020/11/2から、AndroidアプリのアップデートにはTargetSDK29が必須になりました。
TargetSDK29対応の一つに対象範囲別ストレージというものがあり、ファイルへのアクセスが厳格化されました。
この対応の際にAndroidのファイルシステムや具体的な対応方法に苦労したので、知見を共有しておきます。
コード例はすべて画像を対象にしたものです。保存したいファイルに応じて、適宜読み替えてください。

対象範囲別ストレージについての公式の説明はこちら:
https://developer.android.com/training/data-storage/files/external-scoped?hl=ja

# 対応方針
具体的な対応方法に入る前に、まずはファイルの保存先について見直しましょう。
保存先が外部領域か内部領域か、アプリ専用領域か公開領域かで色々と異なります。

| | 外部かつアプリ専用領域 | 外部かつ公開領域 | 内部かつアプリ専用領域 |
|:-:|:-:|:-:|:-:|
| アプリ削除時にファイルが | 消える | 消え

元記事を表示

【React Native】生成したreact-nativeプロジェクトがiOSで起動できなかった件

# はじめに
React Nativeを試してみようとインストールしてみたものの、生成したreact-nativeプロジェクトがiOSで正しく動かなかったので、その対処メモ。

# 実行環境
– Xcode 12.1
– Android Sudio 3.2.1
– macOS Catalina(10.15.7)

#React Nativeのインストール
環境設定は、記事に日付も新しいので[こちらのサイト](https://dev-yakuza.github.io/react-native/install-on-mac/)を参考にしながら行いました。

※私の環境には、Homebrew、Nodejs、Xcode、Cocoapods、Android Studioは導入済みなのでインストールしていません。

1.Watchmanのインストール

“`Swift:
brew install watchman
“`

2.React Native CLIのインストール

“`Swift:
npm install -g react-native-cli
“`

3.JDK(Java De

元記事を表示

iOS/Android の OS のシェア率を比較するのに StatCounter というサイトがかなり便利な件

# はじめに
>**[StatCounter](https://gs.statcounter.com/os-market-share/mobile/)**
>Tracks the Usage Share of Search Engines, Browsers and Operating Systems including Mobile from over 10 billion monthly page views.

StatCounter は モバイルを含む、検索エンジン、ブラウザ、OSの使用シェアの統計データを集計するサイトのことです。

iOS/Android の OS のシェア率の比較などを確認するときに、操作が直感的でとても役にたったので共有します。

よく使いそうなグラフをサンプルとして添付します。(2020/11/08のデータ)

# 使い方

「Edit Chart Date」 をクリックする。

![スクリーンショット 2020-11-08 11.43.25.png](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

Android 日付を取得する方法

Androidで日付を取得する方法を記録します。
思ったよりも簡単に書けました。

fun getToday(): String {

//表示させたい型を決める。 yは年、Mは月、dは日。
//単位は自由に決められる。例えば、”yyyy/MM/dd”でもOK。
val sdf = android.icu.text.SimpleDateFormat(“yyyy年MM月dd日”, Locale.JAPAN)

//date型のインスタンスを作る。
val date = Date()

return sdf.format(date)
}

以上です。

元記事を表示

Androidでmoduleを作りアプリ側から読み込む方法

# はじめに
共通で使えるライブラリやSDKとして他の人に使ってもらうためにmoduleを作る方法を簡単にメモします。
基本的にcommon的なapiの公開やよくあるview系のライブラリ化もこの手順でできます。
今回は簡単なメソッドを一つ作りアプリ側から読み込む方法を残します。

# ライブラリの組み込み公式ページ
https://developer.android.com/studio/projects/android-library?hl=ja

# moduleの作り方

AndroidStudioでこうして
![スクリーンショット 2020-11-07 23.06.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109862/3aac94e1-edb4-7926-b9b9-711d7b798939.png)

こうして
![スクリーンショット 2020-11-07 23.06.32.png](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

#36 Kotlin Koans Builders/Function literals with reciever 解説

#1 はじめに

Kotlin公式リファレンスのKotlin Koans Builders/Function literals with recieverの解説記事です。

Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。

ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**

一度各自で挑戦してから、お目通し頂ければと思います:fist:

#2 レシーバー

まず実際の例を見てみましょう。

“`kotlin:Example
val sum: Int.(Int) -> Int = { other -> plus(other) }
“`

上の例の1番左側の`Int`を**レシーバー**とよびます。
(左から2番目の`Int`は**引数の型**、左から3番目の`Int`は**戻り値の型**を表します。)

つまり、

レシーバーは**関数型(function types)の呼び出しもとのインスタンスの型を指定します。**

#3 Builders/Function literals with re

元記事を表示

【Android】【初心者】画像ロードライブラリ Coil 使ってみた

# 【Android】【初心者向け】画像ロードライブラリ Coil 使ってみた

## Coilとは
Androidの画像ロードライブラリです。
GlideやPicassoなどがよく使われているのかなと思いますが、CoilはKotlin firstであるのと、Kotlin Coroutineを利用したものであるというのが特徴かなと思います。

## 実装手順
### 依存関係の追加

“` build.gradle(app)
dependencies {
implementation(“io.coil-kt:coil:1.0.0”)
}
“`

* 詰まったこと
coilは、java8でないといけないみたいで、以下のようなエラーが出ました。

“`
Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper ‘-jvm-target’ option
“`

* 対処法

jvm tar

元記事を表示

AndroidでJNetHackをプレイしたいのです!!

#はじめに
Qiitaに投稿してよいのかどうか迷いましたが、
毎回お世話になっておりますので、投稿することにしました。
初めての投稿になりますので、色々と見づらいとかおかしな所があったりするかもしれませんが指摘くだされば訂正していきたいと思います。

今回、手持ちのスマートフォンを新しい機種へ変更したので、
内部ストレージに余裕が出来ました。
で、度々訪れるJNetHackをプレイしたい欲求が湧いてきました。
5年位前にもアンドロイドにインストールしましたが、その時よりすごく簡単に
インストールする事が出来て幸せです。

補足ですが、AndroidでJNetHackをプレイするのにルート化は不要です。
##準備

[Termux](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwiE2tre-O_sAhXa62EKHSj5AnwQFjAAegQIBxAC&url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fd

元記事を表示

OTHERカテゴリの最新記事