投稿

10月, 2022の投稿を表示しています

アプリを実行するために必要な最小 Android API レベルを変更するの?|minSdkVersion|SDK|Android|Flutter

イメージ
Flutter  開発環境では、アプリを実行するために必要な最小 Android API レベル「 minSdkVersion 」はデフォルトで設定されているけれども、これには、実は 罠 がある! かなり古い Android 端末でもアプリを実行しようとしていて、最新とは互換性もないし、エラーも起こってしまうし、現実的な設定とは思えない( Flutter  3.3.5 現在、 minSdkVersion  は 16)。

アプリがターゲットとする Android API レベルを変更するの?|targetSdkVersion|SDK|Android|Flutter

イメージ
Flutter  開発環境では、アプリのターゲット Android API レベルはデフォルトで設定されているけれども、実は 最新じゃない罠 がある( Flutter  3.3.5 現在、アプリのターゲット API レベルは 31 になっていて、最新の 33 じゃない)。 今年(2022 年)の初めだけど、Android が重要なことを 発表 したよ。「最新のプライバシーおよびセキュリティ機能を備えていない可能性のあるアプリをユーザーがインストールしないように、 ターゲット API レベルの要件を拡大する 」って。

Android SDK バージョン(コンパイルに使用する Android API レベル)を変更するの?|compileSdkVersion|SDK|Android|Flutter

イメージ
Flutter ではプラグインをいっぱい導入して使うけど、そのプラグインが Android SDK バージョン を指定していて、今使っている自分の  Flutter  開発環境がそれに準拠できていないことも多々ある。 こういうエラー「 One or more plugins require a higher Android SDK version. 」が出てしまったり。 ん~そもそも Android SDK バージョンって?

ショートカットキーを使ってラップした Widget を削除するの?|Windows|Android Studio|Flutter

イメージ
ラップ(ネスト)した  Widget  の上位階層を削除したいケースってあるよね。不要になった装飾とか、センタリングとか。

ショートカットキーを使って Widget を Widget でラップするの?|Windows|Android Studio|Flutter

イメージ
ある  Widget をしっかり実装してから、その上位階層にさらに  Widget  を実装(ラップ)するケースってあるよね。例えば、テキストを後になってからセンタリングしたくなった、とか。

Dart のバージョンを確認するの?|SDK|Flutter

イメージ
今開発している  Dart  のバージョンが知りたくなったとき、どうすればいいだろう? 

エラー「One or more plugins require a higher Android SDK version.」を解決するの?|SDK|Flutter

イメージ
Flutter SDK のバージョンをアップ( 3.3.5 に)したら、こんなエラーが出たよ…。

SDK のバージョンを確認するの?|SDK|Flutter

イメージ
今開発している Flutter  SDK のバージョンが知りたくなったとき、どうすればいいだろう?  Terminal でコマンド「flutter --version」を入力すれば確認できるよ。 使い方 --- PS C:\GomachoApp> flutter --version Flutter 3.3.5 • channel stable • https://github.com/flutter/flutter.git Framework • revision d9111f6402 (4 days ago) • 2022-10-19 12:27:13 -0700 Engine • revision 3ad69d7be3 Tools • Dart 2.18.2 • DevTools 2.15.0 --- ついでに Dart のバージョンも確認できたね。 Flutter SDK releases によれば 3.3.5 が最新(2022/10/20)だー。 関連 エラー「One or more plugins require a higher Android SDK version.」を解決するの?|SDK|Flutter 参考 Flutterコマンド一覧まとめ Flutter バージョンを確認する 基礎から学ぶ Flutter

”壊れたデバイス”から入手した「どろりとした液体」や「動く粘液」は精錬するの?|No Man's Sky|Nintendo Switch

イメージ
『 No Man's Sky 』で探索していると、” 煙を噴いた小型カプセル ”がよく落ちている。” 壊れたデバイス ”だ。 この” 壊れたデバイス ”を修理するときに「 どろりとした液体 」や「 動く粘液 」が手に入るけど、放っておくと アイテムケース のスロットに溜まっちゃう。 「 どろりとした液体 」や「 動く粘液 」って、使い道あるの…? 使い道 「 どろりとした液体 」や「 動く粘液 」は売却してもいいけど、 ポータブル精製機 などの 精製機 によって 1:1 の割合で以下のように精錬できる。 どろりとした液体 × 100 個 → 精錬 →  動く粘液  × 100 個 動く粘液  × 100 個 → 精錬 →  暴走カビ  × 100 個 「 暴走カビ 」になった。 この「 暴走カビ 」は、加工すると 5:1 の割合で「 ナノマシンクラスター 」に変換できる。 暴走カビ  × 100 個 → 精錬 → ナノマシンクラスター × 20 個 こうして精錬を繰り返していくと、最終的に「 ナノマシンクラスター 」になった。 「 ナノマシンクラスター 」は、ユニット( 通貨 )では購入できないテクノロジーの設計図やアップグレードモジュールの購入などで大量に使用するから、助かるね☆ 関連 No Man's Sky(ノーマンズスカイ) -Switch ”損傷したコンテナ”から入手した「さびた金属」は精錬するの?|No Man's Sky|Nintendo Switch

”損傷したコンテナ”から入手した「さびた金属」は精錬するの?|No Man's Sky|Nintendo Switch

イメージ
『 No Man's Sky 』で探索していると、” 緑色のアイテムコンテナ ”がよく落ちている。” 損傷したコンテナ ”だ。 この” 損傷したコンテナ ”を開くときに「 さびた金属 」が手に入るけど、放っておくと アイテムケース のスロットに溜まっちゃう。 「 さびた金属 」って、使い道あるの…? 使い道 「 さびた金属 」は売却してもいいけど、 ポータブル精製機 などの 精製機 によって 1:2 の割合で「 フェライト塵 」へ精錬できる。 さびた金属  × 100 個 → 精錬 →  フェライト塵  × 200 個 「 フェライト塵 」は建築やテクノロジーの建造に使用する資源だから、大量にあっても困らないよね☆ 関連 No Man's Sky(ノーマンズスカイ) -Switch

if-else 文(null 判定)を ?? で省略するの?|Dart|Flutter

イメージ
Dart  には、 条件式  if-else 文(null 判定)を簡潔に評価できる演算子があるよ。 式 1 ?? 式 2 式 1 が null でない場合、その値を返す。 式 1 が null の場合、式 2 を評価してその値を返す。 使い方 return myName ?? 'ゴマッチョ' ; これは元々の if-else 文だとこうだよね。 if (myName != null) {   return myName; } else {   return  'ゴマッチョ' ; } 関連 if-else 文を ? と : で省略するの?|Dart|Flutter 参考 2021/2/15 Dart:null aware演算子について 基礎から学ぶ Flutter

if-else 文を ? と : で省略するの?|Dart|Flutter

イメージ
Dart には、 条件式  if-else 文を簡潔に評価できる演算子があるよ。 条件 ? 式 1 : 式 2 条件が真(true)の場合、式 1 を評価してその値を返す。 条件が偽(false)の場合、式 2 を評価してその値を返す。 使い方 var color = isRed ? Colors.red : Colors.blue; これは元々の if-else 文だとこうだよね。 var color; if (isRed) {   color = Colors.red; } else {   color = Colors.blue; } 関連 if-else 文(null 判定)を ?? で省略するの?|Dart|Flutter 参考 【Flutter】【Dart】三項演算子を使ってコードを簡潔にする(if文を?と:で記述する) 【Flutter/Dart】三項演算子|if文の省略形 基礎から学ぶ Flutter

「骨格の破片」や「部分骨格」は宝なの?|トレジャーハント|No Man's Sky|Nintendo Switch

イメージ
とにかく自由な『 No Man's Sky 』の探索…。 右も左も分からないまま、ひたすら探掘してみたり…。 するといつの間にか、 アイテムケース のスロットに「欠けた 骨格の破片」や「焦げ付いた 部分骨格」などが沢山あったり。ナニコレ…って? 『 No Man's Sky 』には、様々な宝探し要素( トレジャーハント )がある。 トレジャーハント も探索の楽しみになっていて、探掘すると「 アーティファクト 」や「 古代の骨 」を得ることができる。これらを 銀河貿易ターミナル で売却すると、多額のユニット( 通貨 )が得られるぞ。 ゴマッチョが集めた「 アーティファクト 」や「 古代の骨 」には、こんなものがあるよ。 使用用途: トレード 擦り切れた 骨 - 価値 97,471 ユニット 欠けた 骨の破片 - 価値 97,762 ユニット 欠けた 骨格の破片 - 価値 84,803 ユニット 不完全な 骨格の破片 - 価値 104,485 ユニット ひび割れた 部分骨格 - 価値 97,233 ユニット 風変わりな 部分骨格 - 価値 99,944 ユニット 焦げ付いた 部分骨格 - 価値 113,112 ユニット クローン可能な 遺骸 - 価値 149,281 ユニット 下劣な 回顧録 - 価値 176,622 ユニット 重要な 小さな花の瓶 - 価値 183,753 ユニット 価値のある 毛皮の敷物の櫃 - 価値 225,258 ユニット 使用用途: 高級アイテムのトレード ねじれた アンモナイトのひづめ - 価値 491,822 ユニット 繊細な 写真 - 価値 494,973 ユニット 震える ワインの山 - 価値 531,751 ユニット 古い 文書 - 価値 537,642 ユニット 華美な 工業用 斧 - 価値 573,022 ユニット 年季の入った 部分骨格 - 価値 579,218 ユニット 合成された 骨の山 - 価値 1,496,854 ユニット 奇妙な 骸骨 - 価値 1,575,396 ユニット 干からびた 鳥脚類 殻...

SnackBar を削除するの?|SnackBar|Flutter

イメージ
API「 showSnackBar 」を使って表示した  SnackBar  は、時間経過で自動的に閉じられるけど、API「 removeCurrentSnackBar 」を使えばすぐに削除できるよ。 使い方 ScaffoldMessenger.of(context).removeCurrentSnackBar(); アニメーションせずに、すぐにパッと画面から削除されるよ~。 関連 スナックバー(ちょろっと通知)を表示するの?|SnackBar|Flutter SnackBar を閉じるの?|SnackBar|Flutter 参考 SnackBar | Flutter Doc JP Flutter モバイルアプリ開発バイブル

アイテムケースのスロットを増やすの?|エクソスーツ|No Man's Sky|Nintendo Switch

イメージ
『 No Man's Sky 』の探索が難しい…。 そんなときは、 エクソスーツ の アイテムケース に着目してみよう。 アイテムケース のスロットは「 ソジウム 」や「 炭素 」「 酸素 」「 銅 」などの資源(アイテム)をいっぱい積んでおく必要があるから、スロットを増やすと、探索をスムーズに行えるようになるよ! 増やし方 アイテムケースのスロットを増やす方法 だけど、惑星に幾つも存在する三角形の「 投下ポッド 」を使うよ。使えるのは 1 か所につき 1 度だけで、 エクソスーツ を 1 スロット分だけ拡張できる。 「 投下ポッド 」を使って新たな エクソスーツ のスロットを獲得するには、「 投下ポッド 」内にある エクソスーツ の”アップグレードモジュール”を修復しないといけない。これは常に求められる。 必要資材も常に同じ。 反物質格納容器 × 1 個 ソジウム硝酸  × 10 個 カーボンナノチューブ  × 1 個 不具合 2022/10/24 Ver. 4.0.3 現在、120 スロット目を増やした瞬間に、35 スロットへ強制的に減らされる不具合を確認…。 関連 No Man's Sky(ノーマンズスカイ) -Switch 参考 【ノーマンズスカイ】アイテムスロット枠を増やす方法

SnackBar を閉じるの?|SnackBar|Flutter

イメージ
API「 showSnackBar 」を使って表示した  SnackBar  は、時間経過で自動的に閉じられるけど、API「 hideCurrentSnackBar 」を使えばすぐに閉じられるよ。 使い方 ScaffoldMessenger.of(context).hideCurrentSnackBar(); ちゃんと閉じるときにアニメーションするよ~。 関連 スナックバー(ちょろっと通知)を表示するの?|SnackBar|Flutter SnackBar を削除するの?|SnackBar|Flutter 参考 [Flutter]SnackBarを閉じるには? Flutter モバイルアプリ開発バイブル

ListTile を角丸にするの?|ListTile|Flutter

イメージ
ListTile は、角を丸めることもできるよ。 ListTile  の「 shape 」プロパティに「 RoundedRectangleBorder 」を使おう。 使い方 ListTile (   shape: const RoundedRectangleBorder (     borderRadius: BorderRadius . all (       Radius . circular (28.0),     ),   ), ); アディオス! 参考 【flutter】listTile()の高さや枠線などのカスタム方法まとめ 初心者による初心者のためのFlutter詳解

AlertDialog を閉じるときに値を返すの?|AlertDialog|Flutter

イメージ
  API「 showDialog<T> 」を使って表示した AlertDialog は、API「 Navigator.pop 」で閉じられるけど、同時に値も返せるよ。 API「 showDialog<T> 」の「<T>」は、その戻り値の「型」だよ。 使い方 final result = await  showDialog<bool>(   context: context,   builder: (BuildContext context) {     return  AlertDialog (       actions: <Widget>[          TextButton (           onPressed: () => Navigator. pop (context, false ),           child:  Text ( 'キャンセル' ),         ),          TextButton (           onPressed: () => Navigator. pop (context, true ),           child:  Text ( '削除' ),         ),       ],     );   }, ); AlertDialog  の領域外をタップしたりして  AlertDialog  が閉じられると、戻り値は「null」で返されるよ。 関連 確認のダイアログを表示するの?|AlertDialog|Flutter 参考 [Fl...

キーボードの「完了」ボタンを押下したときに何かするの?|TextField|Flutter

イメージ
TextField への入力が終わって、キーボードの「完了」ボタンを押下したときに、何か処理を走らせたいことってあるよね。例えばメモの保存とか。 キーボードの「完了」アクションには「 done 」「 go 」「 search 」「 send 」があって、これらはプロパティ「 onEditingComplete 」を呼び出すよ。 使い方 TextField (   textInputAction: TextInputAction. done ,   onEditingComplete: () {     // ゴマッチョは何かしたい   }, ); 入力が有効(空白じゃないとか)なら、フォーカスが破棄されて、キーボードが閉じてくれるよ。 関連する記事 改行禁止で TextField を複数行の表示にするの?|TextField|Flutter ”日本人のアプリはいつも入力が小文字で始まるウンザリだ”ってクレームが来るの?|TextCapitalization|TextField|Flutter 参照した記事 詳解 TextField. よりよいUI/UXを求めて。 | by Masahiro Aoki | Medium

スナックバー(ちょろっと通知)を表示するの?|SnackBar|Flutter

イメージ
ダイアログを表示するのは大袈裟だけど、簡単にちょろっと通知したいな~なんてときは、 SnackBar  を使おう。 API「 showSnackBar 」で呼び出せば、画面の下部からショートなテキストが表示されるよ。 使い方 ScaffoldMessenger.of(context).showSnackBar(   SnackBar (     content: Text ( 'マッチョなゴマフアザラシ' ),   ), ); 表示されたら 4,000 ミリ秒後に自動で消えるよ! 関連 SnackBar を閉じるの?|SnackBar|Flutter 参考 【Flutter】SnackBar|ScaffoldMessengerでスナックバー表示 ちょっとした通知と簡単なアクションを促すのに便利なスナックバー 【Flutter 2.0】SnackBar(スナックバー)の使い方とカスタマイズ Flutter モバイルアプリ開発バイブル

AlertDialog を角丸にするの?|AlertDialog|Flutter

イメージ
  AlertDialog は、四隅の角を丸めることもできるよ。 AlertDialog  の「 shape 」プロパティに「 RoundedRectangleBorder 」を使おう。 使い方 AlertDialog (   title: Text( 'マッチョなゴマフアザラシ' ),   shape: const RoundedRectangleBorder (     borderRadius: BorderRadius . all (       Radius . circular (8.0),     ),   ), ), 関連 確認のダイアログを表示するの?|AlertDialog|Flutter 参考 [Flutter]AlertDialogを角丸にする方法 Flutter モバイルアプリ開発バイブル

確認のダイアログを表示するの?|AlertDialog|Flutter

イメージ
例えば、ゴミ箱のアイコンをタップしてデータを削除するとき、いきなり削除されちゃったら「アイヤー!!」ってビックリするよね。タップをミスしただけかもしれないし。 こういう取り返しのつかないケースでは、ダイアログを表示して確認しよう。 API「 showDialog<T> 」を使って「 AlertDialog 」を表示するよ。 使い方 showDialog<void>(   context: context,   builder: (BuildContext context) {     return AlertDialog (       title: Text (         'このゴマフアザラシを削除しますか?'       ),       content:  Text (         'このゴマフアザラシのすべてのマッチョが完全に削除されます'       ),       actions: <Widget>[         TextButton (           onPressed: () => Navigator. pop (context),           child:  Text ( 'キャンセル' ),         ),         TextButton (           onPressed: () => Navigator. pop (context),           child:  Text ( '削除' ),      ...

長いテキストの末尾を省略(三点リーダ表示)するの?|Text|Flutter

イメージ
例えば、長~いテキストを「一行」の表示に制限したら、末尾が省略されているかどうかが分からないよね。見たまんま、短いテキストだと思われちゃうかも。 だから末尾が省略されていることを、ちゃんと表現する方法があるよ。 プロパティ「 overflow 」を使おう。 末尾が三点リーダ「...」で表示されるようになる。 使い方 Text (   'マッチョなゴマフアザラシは静かに暮らしたいの巻',   overflow: TextOverflow. ellipsis ,   maxLines:  1 , ); 「 ellipsis 」は「省略記号」という意味だよ! 関連 長いテキストの表示を一行に制限するの?|Text|Flutter 参考 【Flutter】Textの内容が大きすぎる場合の対応方法 49. FlutterでTextの行数を指定する方法 現場で使える Flutter開発入門

長いテキストの表示を一行に制限するの?|Text|Flutter

イメージ
  長いテキストだと端で折り返されて複数行になっちゃうよね。 折り返さない一行の表示に制限するならプロパティ「 maxLines 」を使うよ。 使い方 Text (   'マッチョなゴマフアザラシは静かに暮らしたいの巻',   maxLines: 1 , ); 関連 長いテキストの末尾を省略(三点リーダ表示)するの?|Text|Flutter 参考 【Flutter】Textの内容が大きすぎる場合の対応方法 49. FlutterでTextの行数を指定する方法 現場で使える Flutter開発入門

スクロールでキーボードを閉じるの?|ListView|Flutter

イメージ
キーボードを表示したまま ListView をスクロールできるけど、スクロールしたらキーボードを閉じるように変更できるよ。  プロパティ「 keyboardDismissBehavior 」でね。 使い方 ListView . builder (   keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior. onDrag , ) 関連 ボタン押下や画面タップでキーボードを閉じるの?|FocusNode|Flutter 参考 Flutter でキーボードを閉じる [Flutter]リストビュー(ListView)のスクロールでキーボードを閉じるには? 現場で使える Flutter開発入門

ボタン押下や画面タップでキーボードを閉じるの?|FocusNode|Flutter

イメージ
「ボタン押下」や「画面タップ」を契機にキーボードを閉じたいなって思うことあるよね。 その方法は API「 primaryFocus?.unfocus 」を呼び出すだけ。 使い方 onTap: () => primaryFocus?. unfocus (), 関連 スクロールでキーボードを閉じるの?|ListView|Flutter 参考 キーボード外をタップで閉じる [Flutter]キーボードを閉じるボタンを作成するには? FlutterでTextFieldのフォーカスを正しく外す方法 現場で使える Flutter開発入門

BottomSheet を閉じるときに値を返すの?|BottomSheet|Flutter

イメージ
API「 showModalBottomSheet<T> 」を使って表示した  BottomSheet  は、API「 Navigator.pop 」で閉じられるけど、同時に値も返せるよ。 API「 showModalBottomSheet<T> 」の「<T>」は、その戻り値の「型」だよ。 使い方 onPressed: () async {   final result = await  showModalBottomSheet<int>(     context: context,     builder: (BuildContext context) {       return ListTile (         onTap: () => Navigator. pop (context, 100),       );     },   ), } BottomSheet  の領域外をタップしたり、下向きにスライドしたりして  BottomSheet  が閉じられると、戻り値は「null」で返されるよ。 関連 ボトム(画面下部)からシートを表示するの?|BottomSheet|Flutter BottomSheet を閉じるの?|BottomSheet|Flutter 参考 [Flutter] BottomSheet で画面下部に選択肢を表示させる BottomSheet | Flutter Doc JP 基礎から学ぶ Flutter

BottomSheet を閉じるの?|BottomSheet|Flutter

イメージ
API「 showModalBottomSheet<T> 」を使って表示した BottomSheet は、API「 Navigator.pop 」で閉じられるよ。 使い方 onPressed: ()   {   showModalBottomSheet<void>(     context: context,     builder: (BuildContext context) {       return  ListTile (         onTap: () => Navigator. pop (context),       );     },   ), } 関連 ボトム(画面下部)からシートを表示するの?|BottomSheet|Flutter BottomSheet を閉じるときに値を返すの?|BottomSheet|Flutter 参考 [Flutter]ModalBottomSheetを閉じるには? 基礎から学ぶ Flutter