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

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

Android開発リンクまとめ

#Android

android studio logcat
https://developer.android.com/studio/debug/am-logcat?hl=ja

コード整形プラグイン
https://qiita.com/ikemura23/items/9a33c1b2bdb5a65d29a5

Fragment
https://developer.android.com/guide/components/fragments?hl=ja

AlertDialog
https://qiita.com/ohwada/items/f95518b6948b271433a3

https://qiita.com/granoeste/items/bc30c25caefe5ceb102b
http://www.366service.com/jp/qa/42f4109029cf60909206170c40d3d8f2


https://www.javadrive.jp/andr

元記事を表示

[ネタバレ] ふくらPが9時間かけたことを僕がやったら何時間かかる?

# まずは,このYoutubeの動画を見てくれ.

[東大生100点は取り飽きたので人生最高得点を取る旅に出ます by QuizKnock](https://youtu.be/AISo8I4xYL4)

# 見てくれたところで,本題に

皆さんは,このチャンネルご存知でしたか?
チャンネル登録者数も140万を超え,メディアへの露出も多いので知っているひとも多いかと思います.
この動画自体は,2020年3月の動画とちょっと昔の動画になっています.

以下,動画のネタバレになってしまいます.

上記の動画で, ふくらPが最大の点数を取るために, ゲームを自作して,公開するところまでやってしまうのです.
実際に公開されているゲームが[こちら](https://play.google.com/store/apps/details?id=com.baton.Horwitz&hl=ja)
いくら頭脳派集団と言われているQuizKnockのメンバーであるふくらPさんとはいえ,
0から1週間でこんなことをやってしまうのに,
めちゃくちゃ笑わせてもらいました.
ふくらPが動画の中で,Googleや知り合

元記事を表示

*Android*HTTP通信でWebAPIを叩いてみる[GET, POST]

# はじめに
こんにちは.今回は,AndroidでWebAPIを叩いてみましょう.初めてWebAPIを叩く方でも読めるように書いていきます.WebAPIを叩く方法はいろいろありますが,Javaの標準ライブラリである`HttpURLConnection`を使用します.面倒な設定などは何もなく,WebAPIを叩くために使用するのであればオーソドックスな方法だと思います.

WebAPIを叩くと戻り値として`JSON`を受け取ることになりますが,AndroidではJSONを整形して画面に出力するのが難しいので,`curl`コマンドを使いつつ,Androidの方を実装していきます.WebAPIを使う場合,curlコマンドに関しては使えた方がかなり作業が楽になると思います.

# 前提
開発環境は以下の通りです.
*Android Studio 4.0.1
*targetSdkVersion 28
*Google Nexus 5x

curlコマンド
*Ubuntu 20.04 LTS (WSL 2)

# なぜWebAPIを使用するか
音楽の歌詞アプリを作りたい場合や翻訳アプリを作ることを考え

元記事を表示

[android] Error:No such property: GradleVersion for class: JetGradlePlugin

## Solution
“`
help->check Updata
“`
から最新のAndoird studioのバージョンに変更する

## Referred Link

[Referred article (【android】エラー:Error:No such property: GradleVersion for class: JetGradlePluginについて)](https://cpoint-lab.co.jp/article/201908/11313/)

元記事を表示

Android実装MVVM+Repositoryパターン2020年08月時点

# はじめに
1年に2本くらいAndroidのアプリ実装案件をやっていて、その度にアーキテクチャとライブラリの選定をしています。
アーキテクチャは基本的にはMVVM+Repositoryパターンをベースにしていますが、ライブラリに関してはプロジェクトの状況によって使用するものを変えています。昨今のAndroidアプリの実装における流行り廃りの激しさも含め、毎回選定内容が変わっているので、今回の選定に関して自分用のメモとして残し、色々な方の意見をお聞きできたらと思っています。

# プロジェクトの前提条件
企業が新規事業として行うサービスで公開されるアプリです。

– 納期が短い(私がお願いされる時点でだいたい短い)
– 最終的に企業内のシステム担当に引き継ぐ可能性がある
– システム担当の方のスキルは未知数
– 予算の関係でテストコードなしでOK

こういう案件は多いです。テストコードについては省略したくないところではありますがPMFの測定段階では、次のフェーズに進む際に大きくアプリの構造を変える場合があるのでView周りのテストコードを落とすという判断をしています。ビジネスロジックは

元記事を表示

Android Instrumentation Testで特定クラスのcoverageを出力する

JVMのテストは1テスト、あるいは1テストクラスごとにcoverageを簡単に確認できる。
が、instrumentation testで同じようなことをする方法がわからず、CI任せにしていた。

でもやっぱりローカルでも見られるようにしたい :thinking:

## 1. Run Test

### CLIの場合

“`
adb shell am instrument -w -r –no_window_animation -e emma true -e class ‘your.app.package.TestClassName’, -e coverage true your.app.package.test/android.support.test.runner.AndroidJUnitRunner
“`

_(不要なパラメータあるかも)_

### Android Studioの場合
Run/Debug ConfigurationsにAndroid Instrumentation Testを追加。
Module、Class(あるいはMethod)にテスト対象を設定。
I

元記事を表示

Jetpack Composeでカスタムレイアウトを作る

以下の動画を見てまとめていたのですが、カスタムレイアウトの作り方だけで一つの記事になりそうだったので、その中で出てきたカスタムレイアウトの作り方について書いておきます。普段はConstraintLayoutでなんとかなると思うので、Jetpack Composeの中のコードを読むときに役立つ知識になりそうです。

alpha1での情報なので、今後変更される可能性があります。

## カスタムレイアウトを作るには `@Composable fun Layout()`の使い方。

**Layoutブロック使うとカスタムレイアウトを作れます。実際に以下のようなレイアウトをサンプルで作っています。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27388/c88915ad-4310-7d22-3a9d-725d51db1fde.png)
https://youtu.be/DDd6IOlH3io?t=869 より

実際のコードはこ

元記事を表示

【初心者向け】Googleが開発したFlutterとは?効率的に学習する方法もご紹介

皆様、こんにちは!フクロウと申します。
今回はGoogleが開発した、フリーでかつオープンソースのフレームワークであるFlutterについて、簡単にご紹介します。
#Flutter(フラッター)とは
使用言語:Dart
開発環境:Linux、Windows、macOS
開発ツール:Android Studio またはVisual Studio Code
Googleが開発したAndroid、iOS、WEBアプリの開発を行うことができるマルチプラットフォームに対応したフレームワークの名称
2018年12月4日に初の正式版「Flutter 1.0」のリリースが発表されたので、比較的新しいフレームワークと言えます。
WindowsとMacの両環境でAndroid/iOSの開発は可能だが、WindowsではAndroidしか実機テストやリリースはできないです。iOSの実機テストやリリースには、別途 Xcodeが必要になります。
### 開発においてのメリット
・WEB開発や、スマホアプリ開発では、複数の言語を学ぶ必要があるが、FlutterではDartを学ぶだけで開発が可能。(Javaやkot

元記事を表示

Flutter + Firebaseで、Android端末にプッシュ通知を送るための初めの一歩

#はじめに

本記事ではFlutterとFirebaseを使い、「プッシュ通知を送るとにかくシンプルな仕組みを作りたい!」という人向けの手順を紹介しています。
なるべく丁寧に記述しているため、FlutterとFirebaseを初めて連動させてみたい方、プッシュ通知の仕組みを学んでみたい方に参考になるかと思います。

#前提

* Firebaseプロジェクトを作成済みで、利用可能な状態である。
* FlutterとAndroid Emulatorを導入しており、Flutterのデモアプリが立ち上げられる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701737/7f989412-7534-775e-63d9-4cccd053dfe0.png)←こんなやつね

#アプリで通知を受け取る準備
Firebaseの機能であるCloud MessagingやCloud Functions for Firebaseで作成した通知を受け取るには、FirebaseのマイアプリへFlutterの

元記事を表示

Twitter OAuth認証のコールバックURLでintent-filterが反応してくれない

Twitter OAuth認証のコールバックで自分のアプリに制御が戻ってくれない
というハマりがあったのでメモ。


Twitterアプリ登録ページで、
コールバックURLはhttp://かhttps://で始まらなければならない、と書いてあるので
最初、存在しないURLや存在するURLを色々試したが、
intent-filterが反応しなかった。

実際には、コールバックURLは

**”独自スキーマ://” **

という構文でも登録を受け付けてくれる。

>Callback URL
>zanapp://

次に、
AndroidManifest.xmlのandroid:hostとコールバックURLのhostが
両方とも無し、
という設定で試したが、やはり反応しない。

そこで、
アプリのソースコードで、
コールバックURLのスキーマに**ホスト**(test)を付けてみた。

(AndroidManifest.xmlのandroid:hostとコールバックURLのhostが
 両方ともあり、の設定。)

“`java:TwitterOAut

元記事を表示

Android アプリ開発者がiOSアプリも開発したくなったので、とりあえずFlutterの導入をしてみた

## 概要
* Androidアプリの開発ばかりやっていたが、iOSアプリの開発も今後やっていきたい。
* Flutterを使用すれば、iOSアプリの開発も今後やっていけそうなので、調べていく。

## 想定している対象者
* Androidアプリの開発であれば経験はあり、iOSアプリの開発の開発もFlutterでやってみたいという方。

## Flutterとは
* Flutterとは Google 製のアプリケーションUI構築ツールキット。
* 構築出来るアプリ
* モバイルアプリ制作
* iOS
* Android
* Web
* デスクトップ向けのアプリケーション
* とくにモバイルアプリにおいては、単一のコードから iOS/Android の両方にビルドできる。
* Google によって『The best framework for developing beautiful experiences for any screen』をめざして開発が進められているフレームワーク。
* ※「技術的な垣根を超え一つのコー

元記事を表示

UnityでAndroidの内部ストレージにファイルを保存する

#コード
“`c#
using System.IO;

public static DirectoryInfo SafeCreateDirectory(string path)
{
//ディレクトリが存在しているかの確認 なければ生成
if (Directory.Exists(path))
{
return null;
}
return Directory.CreateDirectory(path);
}

public void Score_Save(string Directory_path,string date)
{
//データの保存
SafeCreateDirectory(Application.persistentDataPath + “/” + Directory_path);
string json = JsonUtility.ToJson(date);
Writ

元記事を表示

Xamarin.Android AlertDialog中のハードウェアキーボードを検知する方法

ハードウェアキーボードとは端末自体にキーボードが存在するものを考えています。
`onKeyDown:`をなぜ使わないかというとDialog表示中は、
キーイベントが検知できないので別の方法で用意してあげる必要があります。

その為の回避策はこちらです。

“`C#
AlertDialog dialog = new AlertDialog.Builder(this)
.SetTitle(“”)
.SetMessage(“ログインに失敗しました。”)
.SetPositiveButton(“OK”, (sender, e) => {
Finish();
})
// キャンセル表示をする場合はコメント解除

元記事を表示

メモ:AndroidのWebにもアプリのスマートバナーを表示

この記事は
===

* スマートバナー(スマホブラウザで画面の上の方にアプリインストールを促すバナー)をiOSに加えてAndroidも含めて表示したかったので、そのメモです

やりたかったこと
===

* スマートバナーはiOSだと[Safariが標準対応](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html)していて、metaタグを書くだけでいい感じにしてくれます
* それをAndroidでもやりたかったです
* でも標準では非対応なのでJSで個別に対応する必要があり
* 仕様上は[PWA仕様の一部に含まれてる](https://developers.google.com/web/fundamentals/app-install-banners/native)ので試してみたけど、今はまだ動かな

元記事を表示

AndroidでJetpack Composeを理解するための学習リソースの包括的なリスト。

AndroidでJetpack Composeを理解するための学習リソースの包括的なリスト。

以下は、AndroidでJetpack Composeを理解するための、公式から非公式のよく書かれたリソースに至るまでの学習リソースの包括的なリストです。

完全なリストはこちらをご覧ください: https://github.com/androiddevnotes/learn-jetpack-compose-android

![qiita_compose_feature_image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698515/b9505349-2c25-fd84-8602-70aa5bcbd3df.png)

## Contents:

– プレゼンテーション

– ドキュメンテーション

– ブログとチュートリアル

– 本

– オープンソースプロジェクト

## プレゼンテーション

https://speakerdeck.com/vinaygaba/360-andev-202

元記事を表示

Android携帯でROSを動かす①

どうもルットです。https://twitter.com/MeRTcooking
Androidの携帯上でROSを動かせる事しりました。
(田中さんがROS勉強会で発表していました。ROS関係では田中さんの記事にはいつもお世話になっております。m(–)m)

さらに、以下のUserLAndを使用している事のことだったので!!!