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

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

NCMBのKotlin SDKを使ってTodoアプリを作ろう

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## ベースアプリのダウンロードまで

翻訳に24の言語が追加

Google Mapの3Dマッピング。 immersive View。めっちゃきれい

元記事を表示

androidアプリ インターバルタイマーの開発

# CoCoIntervalTimer紹介ページ
筋トレなどの時に使用できるインターバルタイマーアプリの紹介です。

## 概要
たとえば、第1種目30秒、第2種目50秒、休憩20秒 以上の流れを×3セット!などの
プランを作成し、タイマーとして動作させます。

## 用語解説
-プラン
第1種目30秒、第2種目50秒、休憩20秒 以上の流れを×3セット!などのトレーニングメニュー全体を1つのプランとします。

-ステップ
プランを構成する要素です。
第1種目30秒→第1ステップ 第2種目50秒→第2ステップ

-シンプルプラン
ワーク部分と休憩部分を何セット行うかのシンプルなプランです。(30秒運動、10秒休憩を3セットなど)
シンプルプランはワーク秒数、休憩秒数、セット数を指定することで作成できます。

-カスタムプラン
複数ステップをカスタムしてプランを作成できます。
カスタムプランでは自由にステップを追加してより自由なプランを作成できます。
第1種目30秒、第2種目50秒、休憩20秒 以上の流れを×3セット!などはカスタムプランです。

## メイン画面
アプリ起動時に起動

元記事を表示

【Android】Variable is accessed from within inner class, needs to be final or effectively final

 自作の Android アプリで、画面上のボタンを押したら〇〇変数をOFFにする、というコードを作っていたら Variable 〇〇 is accessed from within inner class, needs to be final or effectively final というエラーが出た。
ONにしたい変数をグローバルにする、という簡単な対策でしたが、Android Studio で確認しました。

# 参考

[Variable is accessed from within inner class, needs to be final or effectively final – stack overflow](https://stackoverflow.com/questions/14425826/variable-is-accessed-within-inner-class-needs-to-be-declared-final#:~:text=You%20can%20declare%20the%20variable,inner%20class%20must%2

元記事を表示

xmlのshapeタグって意外と自由度が高いっていう話 part3

# 初めに
今回は、shapeタグの紹介記事第三弾になります
3個目はViewに一気対してこだわりを持たせられる`gradient`です。

## 本文
こちらは名前の通りグラデーションをつけることができ、色は`startColor`、`centerColor`、`endColor`の三種類を指定することがきます。
・`startColor`は***スタート位置の色***
・`centerColor`は***中間地点の色***
・`endColor`は***最終地点の色***を指定することができます。
色以外の要素となると
・`type`
・`gradientRadius `
・`centerX`
・`centerY`
・`angle`
の5点があります

`type`とはグラデーションの形を指定することができ、
・`linear `
・`radial `
・`sweep`
の3種類があり、`radial`は***放射状***に、`sweep`は***円形***にグラデーションをかけることができ、`type`を指定しない場合は`linear`になり***直線状***のグラデーションがか

元記事を表示

【Android】SharedPreferences を使ってみる

## 概要
Android 端末の内部ストレージに Key-Value 形式でデータを保存することができる SharedPreferencesAPI を使う機会がありましたので、その使い方についてご紹介したいと思います。

SharedPreferencesAPI はあらかじめ用意されている Android のライブラリで、端末のアプリ固有の領域にデータを保存したりそれを参照したりすることができます。

## 環境
Android Studio:2021.1.1 Patch 3
kotlin:1.6.20
targetSdkVersion:32
minSdkVersion:27

## 内容
### 準備
SharedPreferencesAPI を使って内部ストレージにデータを保存するには、まず “`getSharedPreferences()“` メソッドを呼び出してデータを書き込むための xml ファイルを作成します。
すでに作成済みの場合は指定したファイルに対してデータを書き込むことになります。

“` MainActivity.kt
val sharedPref = g

元記事を表示

【Flutter】Androidの感覚で実装してiOSで起こした不具合

# 不具合発覚
iOSの端末で名前が入力できないとの問い合わせから判明しました。

# 調査
以前、showCupertinoModalPopup を使った際に、Focus と Cursor の挙動がおかしくなったことがあったので似たような問題かな?と思ったが違いました。

連絡をくれた方とやり取りすると、日本語が入力できないとのことだったのでキーボードの設定周りを中心に調査するようにしました。

# 原因

以下の条件で再現することがわかりました。

– キーボードを絵文字と Gboard のような他社製キーボードのみにしている
– TextField の `inputType` に `TextInputType.name` を設定している

`TextInputType.name` を指定すると、iOS では `keyboardType` に `namePhonePad` が設定されるのですが、他社製キーボードのみにしていると、該当のキーボードがないため日本語を入力するキーボードが選択できないため入力できなくなってしまっていました。

# 対応

`inputType` を `Te

元記事を表示

Deno/TypeScript入門〜スタブ・サーバーを作ってみる編〜

# まえがき

※この記事は、以下の後続記事です。
Deno/TypeScriptの概要については以下の記事に記載しています。

https://qiita.com/y-some/items/ca6404b7024d54b1ff75

最近私はツールを開発する環境として「[Deno](https://deno.land/)」が気に入っています。
シンプルで、軽くて、ランタイムAPIや標準ライブラリが充実していて、開発体験が良いと感じています。
私のところではDenoを本番で採用しようとすると諸々ハードルがありますが、ツールの開発であれば選択肢として大いにアリです。

iOS/Androidアプリケーションや、シングルページ・Webアプリケーションを開発する際、よく使うツールの一例として「スタブ・サーバー」があります。

特に、バックエンド側(Web API)とフロントエンド側が別チームだったりする場合に、
**「バックエンド側の実装が完了するまでの間、フロントエンド側の実装が停滞してしまう」**
といった状況が発生することがあります。

そのような場合、**ダミーのレスポンス

元記事を表示

Androidアプリのメモリについて

# はじめに
メモリリークのエラー発生時に、使用可能なメモリとメモリ使用量について調査したのでまとめました。

# 開発環境
PC:MacBook Pro
OS:macOS BigSur
Android Studio:Arctic Fox 2021.1.1

# メモリ調査方法
`ActivityManager.MemoryInfo()`のメソッドを使用してメモリ情報を取得します。

“`kotlin:MainActivity.kt
// メモリ情報を取得
val activityManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager
val memoryInfo = ActivityManager.MemoryInfo()
activityManager.getMemoryInfo(memoryInfo)

// 利用可能なメモリーサイズ
Log.d(“メモリ情報”, “availMem:” + memoryInfo

元記事を表示

【Android】altbeacon ライブラリを使ってフォアグラウンドで Beacon の領域監視を行う

## 概要
今回は前に書いた記事の続きで、フォアグラウンドで Beacon を検知してみたいと思います。
フォアグラウンドで検知処理を行うことで、アプリをキルした状態でも Beacon の領域監視を行うことができます。
ライブラリは altbeacon という Bluetooth ライブラリを使用します。

altbeacon ライブラリを使った Beacon 検知についての詳しい説明については前回の記事で解説させていただきましたので、使い方をご存知でない方は[こちらの記事](https://qiita.com/kenmaeda51415/items/ac5a2d5a15783bbe9192)を参考にしていただけますと幸いです。

## 環境
Android Studio:2021.1.1 Patch 3
kotlin:1.6.20
targetSdkVersion:32
minSdkVersion:27

## 準備
まずは実装の準備として以下のライブラリを gradle(appレベル) に追加します。

“` build.gradle
implementation ‘org.al

元記事を表示

What’s new in Android (2022) のセッションメモ

のセッションを見たメモです。

What’s new in Android では今年の Android に関するセッション内容の概要を紹介する動画になっています。
なのでこのセッション動画を見ることでざっくりとした Android に関する新情報をキャッチアップができるようになっています。
詳細は記載しているセッション詳細のリンクから動画を見てみてください。

#### 関連リンク
– https://io.google/2022/
– [13 Things to know for Android developers at Google I/O!](https://android-developers.googleblog.com/2022/05/13-things-to-know-for-android-developers-at-google-io.html)

## Jetpack ライブラリの話
– バックポートや新しい機能のライブラリで120を超えている
– 新しく追加された JankStats ライブラ

元記事を表示

OTHERカテゴリの最新記事