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

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

Android – Decompiler APK

You need two below tools.

https://github.com/pxb1988/dex2jar
http://java-decompiler.github.io/

元記事を表示

AWS Amplify Android を試してみる(Mac)

[AWS Amplify iOSを試したい方はこちらを参照ください](https://qiita.com/ksato2032/items/f38830b8b6decc0cc936)

# はじめに
AWS Amplify Android を[Getting Started](https://aws-amplify.github.io/docs/android/start)にしたがってMacで試してみる。
以降の各章はGetting Startedに合わせている。

# Prerequisites

以下の通り、Getting Started に記載されている手順は Mac でしか動作しない。Windows の場合、下の説明にあるリンク先の手順を実施する必要がある。
https://aws-amplify.github.io/docs/android/start#prerequisites

“`
These steps currently only work on Mac. If you have a Windows machine, follow the steps on one

元記事を表示

【ReactNative】react-native-mapsを導入する

# はじめに
ReactNativeでアプリを作る過程で地図を表示させたくなったので、`react-native-maps`を導入しました。
インストール自体は簡単ですが、`GoogleMap`を使う場合はちょっとだけ手間がかかったので備忘録として。

# 環境

“`
“react-native”: “0.61.5”,
“react-native-maps”: “^0.26.1”,
“`

# 料金
GoogleMapは使用量によって値段が変動します。
だいたいアプリにマップを表示させるとなると、`Dynamic Maps`を使うと思いますが、2020年4月現在は下記のような料金となっています。

参考:[https://cloud.google.com/maps-platform/pricing?hl=ja](https://cloud.google.com/maps-platform/pricing?hl=ja)

スクリーンショット 2020-04-15 22.15.14.pngMacにReact Nativeの環境を構築する手順

`2020-04-15`時点の手順です。

# `Xcode`をインストールする

`App Store`より検索してインストールする。

# `Xcode`のライセンスをAcceptする

“` bash
$ sudo xcodebuild -license accept
“`

# `Android Studio`をインストールする
[Android Studio](https://developer.android.com/studio?hl=ja) からダウンロードしてインストールする。

# `Android SDK`をインストールする

`Android Studio`を起動する。起動時に自動でインストールされる。

# `Node.js`をインストールする

ここでは`nvm`を利用してインストールする。

## `nvm`のインストール

“` bash
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
“`

## ログイン時に`nvm

元記事を表示

ScrollView配下のExpandableListViewが展開できない

# 概要

折りたたみ式のViewを作りたいときにたまーに使う[ExpandableListView](https://developer.android.com/reference/android/widget/ExpandableListView)ですが、ScrollView配下にあるとうまく展開されず

parentとchildそれぞれのadapterにデータが正常にセットされているのに・・・

原因はListViewを継承しているので、これ自身がスクロールすることが可能
そのため、スクロールできるものにスクロールできるものが入るのが落とし穴というわけでした・・

`ScrollView in ListView`とかでググるとまさにこの問題が多く出てくるのですが、今回はExpandableListView自体にスクロールさせる必要は皆無であったため、スクロール自体をなくす方向で修正

# 実装

“`kotlin
class NonScrollExpandableListView : ExpandableListView {

constructor(context:

元記事を表示

共創プラットフォームアプリ「Blabo!」をFlutterでフルリプレースしました

# はじめに
こんにちは、Blabo!でモバイルエンジニアをしている@youmeeeです。
今回は、弊社の共創プラットフォームサービスである「Blabo!」のiOS/AndroidアプリをFlutterにてリプレースしたので技術的な話や、リプレースを通じての所感などを書き記していこうと思います。

Blabo!のFlutterリプレース版は各OSこちらからインストールできます。

iOS版:
https://apps.apple.com/jp/app/1174269704
Android版:
https://play.google.com/store/apps/details?id=bo.bla.app&hl=ja

# Flutterとは

FlutterとはGoogleが提供するクロスプラットフォームSDKです。
2018年にStableリリースが発表され、最近サービスでの導入事例もじわじわと増えてきている印象です。
2019年にはWebサポートも発表され、今最も注目されているクロスプラットフォームSDKと言っても過言ではないと思います。

[Flutter公式ページ](https

元記事を表示

[Android]ディープリンクへの対応手順

# ディープリンクへの対応手順

## 以下の手順となります。

**マニフェストを設定 1**

“`kotlin






“`

applink_1.</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Java</div>
<div class='tag-cloud-link'>HTML</div>
<div class='tag-cloud-link'>Android</div>
<div class='tag-cloud-link'>Kotlin</div>
<div class='tag-cloud-link'>AndroidStudio</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/myatthinkyu/items/872a2f4713befdffafcf'>元記事を表示</a></div>
<h3 id=JavaプロジェクトをKotlinに書き換えるための初期設定

完全にJavaで記述されたAndroidプロジェクトにKotlinのファイルを追加するための初期設定手順をまとめます。

## appのbuild.gradle

“`
+ apply plugin: ‘kotlin-android’
+ apply plugin: ‘kotlin-android-extensions’

buildscript {
}

repositories {
+ mavenCentral()
}

dependencies {
implementation “org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version”
}

android {
}
“`

### 解説
プラグインを適用します。

“`
apply plugin: ‘kotlin-android-extensions’
apply plugin: ‘kotlin-android’
“`

repositoriesにmavenCentralを追加

“`
mavenCentral()
“`

ライブラリセットにKo

元記事を表示

Android GoogleMap Info Window maker.title活用

初投稿になります。
Androidの学習を初めて、3ヶ月目に作成したアプリでつまづいた点をまとめてみました。
Info Windowのmarker.title(日付)を利用する点にポイントを絞っていますので、
コードは抜粋して載せております。

#環境
Androide Studio 3.5.3
Android6,9にて動作確認済み

#この記事でやること
Realmで保存していた画像を、タップされたマーカーのInfo Windowから日付を受け取り、同じ日付で保存された画像を取り出す。

1.Info Window をタップ
スクリーンショット 2020-04-15 8.53.14.png

2.保存されていた画像を表示
スクリーンショット 2020-04-15 9.3</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Android</div>
<div class='tag-cloud-link'>Kotlin</div>
<div class='tag-cloud-link'>GoogleMap</div>
<div class='tag-cloud-link'>googleapi</div>
<div class='tag-cloud-link'>Realm</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/shin19279467/items/6a8a38e7d92881a41779'>元記事を表示</a></div>
<h3 id=flutter Error connecting to the service protocol がandroid studio emulator だけに起きる

emulator をpixel2 pieにしたら通った。

元記事を表示

Flutterエラー Gradle build failed to produce an .apk file. It’s likely that this file was generated under プロジェクトディレクトリbuild, but the tool couldn’t find it.

Androidの実機でデバッグビルドしようとしたところ、掲題のエラーに遭遇した。
`build.gradle` でFlavorを追加したのに、実行コマンドが対応していなかったのが原因。
以下のようにflavorを指定した起動設定にすれば解決。

figure.png

元記事を表示

FloatingActionButtonが黒い場合の対処

2020/4/14現在のお話
今後ハマるかもしれないので備忘録として

### 環境

“`gradle
implementation ‘com.google.android.material:material:1.2.0-alpha03’
“`

### 実装

“`xml

元記事を表示

[Android] レビューダイアログ表示

# レビューダイアログ表示
## ライブラリ導入

**1. implementation ‘com.vorlonsoft:androidrate:1.2.5-SNAPSHOT’**
sshot_1.png

**2. Gradle Syncしてライブラリを入れる**
sshot_2.png

## ライブラリ使う

**1. 使いたいクラスでインポートする**

“`kotlin

import com.vorlonsoft.androi

元記事を表示

【Kotlin】そろそろRxを卒業して、Kotlin Coroutines Flow + RetrofitでAPIを叩いてみよう【Coroutine】

## 拝啓、RxJavaを使っている皆様へ
Coroutineはいいぞ
Coroutineこわくないよ

## 概要

現在Androidアプリでよく使われている技術といえば、RxJava(RxKotlin)です。
Retrofitを使ったAPI周りから、Listenerの代用など幅広く使えます。
一方で、明示的にDisposeを書いてあげないとメモリリークする危険などもあり、Rxちょっとな〜と思う場面も多いです。

さて、そんなRxに取って代わろうと言わんばかりに、Coroutine周りが進化し続けています。
今回の内容に関するところだけでいうと、

– [Coroutines Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/)の導入
– [Retrofit Version2.6からのCoroutine対応](https://github.com/square/retrofit/blob/master/CHANGELOG.md

元記事を表示

TableLayoutでボタンを画面いっぱいに表示する

#横幅を画面いっぱいに広げたい
↓このボタンを横幅いっぱいに広げたい。
![table1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566570/382ee5d6-7143-6b18-358e-0778030ed83d.png)

元となるコード

“`activity_main.xml

元記事を表示

[Android] Google Map APIキーのセキュリティ設定

# Google Map APIキーのセキュリティ設定
Android StudioからSHA-1キー(フィンガープリント)を作成する。
その後、Google Cloud PlatformにAPI キーの制限にこのSHA-1キー(フィンガープリント)を設定する。
# Android Studio
### Android StudioからSHA-1キーを作成する
**1. Modules で Signing Config 設定する**

– Project Structureをクリックする 1-1
ss_1.1.1.png

– Signing Configを設定する 1-2
ss_1.1.2.pngAndroidアプリのアプリ名

#アイコンと一緒に表示されるアプリ名
/res/vales/string.xml の,
下記の名称(●●)がアプリ名として表示される。

●●

このタグ自体がない場合は、package名が表示される。

多言語対応のときはどうするんだろう?

元記事を表示

ViewBinding導入後binding経由で Button等にアクセスできない方へ

# 対象
ViewBindingを導入後にonCreateViewを弄らないまま、
binding.fab.setOnClickListnerのようなことをして、動かない方

# 解決方法
“`kotlin:HogeFragment.kt
private lateinit var binding: HogeFragmentBinding

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = HogeFragmentBinding.inflate(inflater,container,false)
return binding.root
“`
とすることで解決すると思います。

# 考えられる原因

“`kotlin:HogeFragment.kt
private lateinit var bind

元記事を表示

Android Roomリレーション(初学者向け)

# はじめに
チーム開発でRoomに触れる機会があったため、初学からリレーションを組めるまでの導入を備忘録ついでに書こうと思います。
より良い書き方を見つけ次第随時更新かけていきます!
説明から書いているので、実装だけ見たい方は実装に飛ぶことをお勧めします!

# 導入
まず、Roomとはどのようなものかをざっと説明すると
[“`Room 永続ライブラリは SQLite 全体に抽象化レイヤを提供することで、データベースへのより安定したアクセスを可能にし、SQLite を最大限に活用できるようにします。
“`](https://developer.android.com/topic/libraries/architecture/room?gclsrc=aw.ds&&gclid=Cj0KCQjwm9D0BRCMARIsAIfvfIbpUmUXS-374njJ-sfwZw54fFzUW1k9vFS_rFGVr2OtkueTG8Y-crQaAjvxEALw_wcB)
(AndroidDevelopersより引用)
Roomは[AndroidJetpack](https://develope

元記事を表示

Kotlinの静的解析ツール「detekt」のセットアップ&操作方法

## 「detekt」とは?

Kotlin用の静的解析ツールです。

## 環境

– OS:macOS Mojave 10.14.6
– Kotlin:1.3.61
– Gradle:5.6.4
– Gradle plugin:3.6.2
– detekt:1.7.4

## セットアップ

### インストール

appフォルダ配下の「build.gradle」にdetektのプラグインと設定を追加します。

“`diff:/app/build.gradle
+ apply plugin: ‘io.gitlab.arturbosch.detekt’
+
+ detekt {
+ failFast = true
+ buildUponDefaultConfig = true
+ config = files(“$projectDir/config/detekt/detekt.yml”)
+ baseline = file(“$projectDir/config/detekt/baseline.xml”)
+
+ reports {
+

元記事を表示

OTHERカテゴリの最新記事