!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
ようこそFlutter野郎どもよ!!!
軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか
AndroidもiOSも両方行ける、まさに漢のためのツールだな
https://flutter.dev/
前スレ
Flutterやろうよ!!! 3
https://mevius.5ch.net/test/read.cgi/tech/1628421492/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Flutterやろうよ!!! 4
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウクー MMe3-IDr3)
2022/03/28(月) 09:25:37.90ID:+qBipumoM290デフォルトの名無しさん (ワッチョイ 0501-uJ+V)
2022/07/10(日) 19:55:11.35ID:UkuUwsAl0 >>289
はい、何も間違っていません。flutterのStatefulは基本的に階層が深くなることを許容する必要があります。
rebuild範囲を局所化することはその都度1階層深くなることとほぼ同義と理解してもらって構いません。
もちろん同じコンテキストでrebuildされる同じWidgetは共通化するという前提です。
はい、何も間違っていません。flutterのStatefulは基本的に階層が深くなることを許容する必要があります。
rebuild範囲を局所化することはその都度1階層深くなることとほぼ同義と理解してもらって構いません。
もちろん同じコンテキストでrebuildされる同じWidgetは共通化するという前提です。
291デフォルトの名無しさん (ワッチョイ 03bd-2HoA)
2022/07/10(日) 21:18:49.10ID:FmV9wIuC0292デフォルトの名無しさん (ワッチョイ 232f-UQ1h)
2022/07/11(月) 05:41:09.79ID:mP4iOavH0 > ChangeNotifierProvider()というメソッド
???
???
293デフォルトの名無しさん (テテンテンテン MMcb-KLfl)
2022/07/11(月) 08:30:27.70ID:CgnuFyDWM パソコンゲーが趣味で理系の山上徹也がflutterやってればなー
294デフォルトの名無しさん (アウアウウー Sa09-2HoA)
2022/07/11(月) 10:33:31.81ID:1W23UOpta だれよ
295デフォルトの名無しさん (ワッチョイ 2342-lTRq)
2022/07/11(月) 12:38:02.80ID:O8zc2C880 今一番話題の人
296デフォルトの名無しさん (ワッチョイ d501-CX/0)
2022/07/11(月) 16:16:25.65ID:auBqUmtR0 そうなんか
297デフォルトの名無しさん (ワッチョイ 695f-Ecv2)
2022/07/26(火) 17:12:23.66ID:dYGJPrNW0 ほ
298デフォルトの名無しさん (ワッチョイ 695f-OMQZ)
2022/07/26(火) 22:42:06.13ID:dYGJPrNW0 おいおい
画像貼り付けようとしたら何か新しいタブで色々メッセージ書いてあって分からん。
ちゃんと存在してるURLやし。誰か助けて
画像貼り付けようとしたら何か新しいタブで色々メッセージ書いてあって分からん。
ちゃんと存在してるURLやし。誰か助けて
299初心者です (ワッチョイ 695f-awC1)
2022/07/26(火) 23:00:45.36ID:0QnELkry0 超初心者ですすみません、、知恵袋のようなアプリを作りたいのですが、アドバイスいただけますでしょうか?各質問がホームに並んでいて、質問をクリックすると回答を書けるもしくは見れるようにしたいです。下記リンクにしたがい質問を並べた階層(ホームに該当)がつくれるかとおもいますが、質問の一つをクリックすると更にもう1段階、画面遷移して質問に対する回答が並ぶような階層を作る場合、どういった処理をすればよいでしょうか?方針や参考になる検索キーワードなどありましたら、ご教示いただけますと幸いです。
https://rightcode.co.jp/blog/information-technology/flutter-firebase-bulletin-board-app-make
https://rightcode.co.jp/blog/information-technology/flutter-firebase-bulletin-board-app-make
300デフォルトの名無しさん (テテンテンテン MMeb-NnXs)
2022/07/26(火) 23:06:37.46ID:rlMnEWBsM flutter大学入れ
301デフォルトの名無しさん (ワッチョイ 1390-lyDi)
2022/07/26(火) 23:12:27.63ID:aNuqzwoa0 もうちょっとピンポイントで質問してくれないとな..
302デフォルトの名無しさん (スフッ Sd33-r2Jd)
2022/07/27(水) 01:01:46.72ID:SqTl9Tcbd 階層て何すか?
stackみたいなこと?
ナビゲーションstack、みたいな?
そういうオレオレ用語はちょっと、、、
ねー。
stackみたいなこと?
ナビゲーションstack、みたいな?
そういうオレオレ用語はちょっと、、、
ねー。
303デフォルトの名無しさん (アウアウウー Sa5d-R4TS)
2022/07/27(水) 11:16:46.42ID:elZrgoJKa オレオレ用語で仕様描くのは良くないぬ
304デフォルトの名無しさん (ワッチョイ b92f-a243)
2022/07/28(木) 01:26:46.49ID:kZAcDvsr0 なんもわかってないまま質問してるね
そんなんじゃ回答もらってもわかんないでしょ
ほとんど作ってもらってコピペしようとしてる?
超初心者の自覚があるなら超初心者向けの情報みて勉強しなよ
Flutterはそういうの公式で充実してるからさ
そんなんじゃ回答もらってもわかんないでしょ
ほとんど作ってもらってコピペしようとしてる?
超初心者の自覚があるなら超初心者向けの情報みて勉強しなよ
Flutterはそういうの公式で充実してるからさ
305デフォルトの名無しさん (ワッチョイ 8110-cs1/)
2022/07/28(木) 02:40:25.79ID:ZuspXXEK0 彼は答えが欲しいのではない
アプリが欲しいのさ
アプリが欲しいのさ
306デフォルトの名無しさん (テテンテンテン MMeb-NnXs)
2022/07/28(木) 08:43:02.32ID:dd+GJcbrM ググレカス
307デフォルトの名無しさん (ワッチョイ 1301-U7jV)
2022/07/28(木) 18:45:25.40ID:2Rw/B+fk0 質問
XamarinでDJアプリ作ろうとしたんだけどレコードを動かしたときの動作でタップしている位置を取得することで角度によって再生逆再生みたいにしたいんだけどFlutterなら楽勝なの?
ザマリンだと結局レンダラーって言ってiOSとAndroid個別にプログラム書かないといけないみたい
https://i.imgur.com/BM04VVW.png
XamarinでDJアプリ作ろうとしたんだけどレコードを動かしたときの動作でタップしている位置を取得することで角度によって再生逆再生みたいにしたいんだけどFlutterなら楽勝なの?
ザマリンだと結局レンダラーって言ってiOSとAndroid個別にプログラム書かないといけないみたい
https://i.imgur.com/BM04VVW.png
308デフォルトの名無しさん (ワッチョイ d901-37+K)
2022/07/28(木) 19:06:26.95ID:AOM66IHO0309デフォルトの名無しさん (オッペケ Sr85-U7jV)
2022/07/28(木) 19:07:41.33ID:Ee0GPQHDr310デフォルトの名無しさん (ワッチョイ a959-1HOL)
2022/07/28(木) 19:52:29.61ID:G5sGRUf40311デフォルトの名無しさん (ワッチョイ a9ad-Y/M3)
2022/07/28(木) 21:35:33.51ID:Pq2AIR8P0 >>310
グロ
グロ
312デフォルトの名無しさん (ワッチョイ 4abd-G1eK)
2022/08/02(火) 10:06:04.35ID:HdRf0/qx0 buildメソッド内で、子要素の高さをpx単位で知る方法ってありませんか。
例えば、child要素が100px以上なら折りたたみのアコーディオンを出して、未満ならそのまま表示する。みたいな事をしたいです
「ボタンを押した時に高さを取得する」なら、対象のwidgetにGlobalKeyを設定してcontextからどうにでも取れるのですが
画面表示時の最初のbuildメソッドの中で取得する事がしたいです。
WidgetsBinding.instance.addPostFrameCallback を使ってbuildの1フレーム後に高さを取得する事を試したのですが
それでもbuildメソッドの後なので一瞬見えてしまいます
特に高さが変わるとカクつきが発生するから目立ってしまう・・・
例えば、child要素が100px以上なら折りたたみのアコーディオンを出して、未満ならそのまま表示する。みたいな事をしたいです
「ボタンを押した時に高さを取得する」なら、対象のwidgetにGlobalKeyを設定してcontextからどうにでも取れるのですが
画面表示時の最初のbuildメソッドの中で取得する事がしたいです。
WidgetsBinding.instance.addPostFrameCallback を使ってbuildの1フレーム後に高さを取得する事を試したのですが
それでもbuildメソッドの後なので一瞬見えてしまいます
特に高さが変わるとカクつきが発生するから目立ってしまう・・・
313デフォルトの名無しさん (ワッチョイ 6501-JYI4)
2022/08/02(火) 10:24:04.80ID:8jAs6gjU0 >>312
それは子要素がbuildされる前にその子要素自体の高さを予め知りたいってこと?
それは子要素がbuildされる前にその子要素自体の高さを予め知りたいってこと?
314デフォルトの名無しさん (ワッチョイ 4abd-G1eK)
2022/08/02(火) 13:43:38.32ID:HdRf0/qx0315デフォルトの名無しさん (ワッチョイ b190-Wndz)
2022/08/02(火) 14:23:10.77ID:TouO0DTh0 俺も同じことしてるけど、ただ、一瞬見えないように何かのWidgetでくるんで高さ求めてる
まぁカクつくのは別の問題だが
まぁカクつくのは別の問題だが
316デフォルトの名無しさん (ワッチョイ b190-Wndz)
2022/08/02(火) 14:34:26.77ID:TouO0DTh0 Visiblity,Opacity,Offstageとかそこら辺のWidgetだっけ?
317デフォルトの名無しさん (アウアウウー Sa09-JYI4)
2022/08/02(火) 14:53:26.36ID:mx7A804Ta318デフォルトの名無しさん (ワッチョイ d52f-Og+R)
2022/08/03(水) 10:55:34.70ID:tx6+aymb0 RenderBoxを作りなさい
319デフォルトの名無しさん (スッップ Sd33-N/Xj)
2022/08/08(月) 00:34:12.55ID:sRQZ4vBgd Providerを使ったMVVMモデルの勉強をしているのですが、メソッドを実行するにはどうしたら良いでしょうか。
説明用のコードを作成しました。flutter 3.x 、provider 6.0.3 で動作確認をしています
1ファイルに詰め込みましたので、コピペで動きます。
https://pastebin.com/iLLWegxz
ボタン1を押すと画面上部の「VMから受信した値 x」の数字部分がインクリメントします。
ボタン2と3は押すとリストが上下にスクロールします。
https://i.imgur.com/5t03yFI.png
ボタン1を押した時はViewmodelの中身を書き換えてnotifyListeners()し、表示する側はConsumerで囲って中身を表示する
というもので、ここは問題ありません。
ボタン2と3は押した後S2A.scrollRequest メソッドを呼んでほしいのですが、それをMVVM的に正しくやる方法を教えて頂けますでしょうか。
現状はViewModelの中にvoid Function() anyFunction;の関数を定義して
使う側でanyFunction=(){xxx;} と関数をセットしているのですが、色々な記事を見てもこんな事している例が無く間違っている気がしてなりません。
https://i.imgur.com/vGZFuYy.png
https://i.imgur.com/4YghOu3.png
アプリのグローバル変数の領域にGlobalKeyを設置すれば、Globalkey経由でcontextを取得出来るのですが、
グローバル変数に値を設置するのはアンチパターンだと思いますし、MVVMの勉強なので今回は避けたいです。
説明用のコードを作成しました。flutter 3.x 、provider 6.0.3 で動作確認をしています
1ファイルに詰め込みましたので、コピペで動きます。
https://pastebin.com/iLLWegxz
ボタン1を押すと画面上部の「VMから受信した値 x」の数字部分がインクリメントします。
ボタン2と3は押すとリストが上下にスクロールします。
https://i.imgur.com/5t03yFI.png
ボタン1を押した時はViewmodelの中身を書き換えてnotifyListeners()し、表示する側はConsumerで囲って中身を表示する
というもので、ここは問題ありません。
ボタン2と3は押した後S2A.scrollRequest メソッドを呼んでほしいのですが、それをMVVM的に正しくやる方法を教えて頂けますでしょうか。
現状はViewModelの中にvoid Function() anyFunction;の関数を定義して
使う側でanyFunction=(){xxx;} と関数をセットしているのですが、色々な記事を見てもこんな事している例が無く間違っている気がしてなりません。
https://i.imgur.com/vGZFuYy.png
https://i.imgur.com/4YghOu3.png
アプリのグローバル変数の領域にGlobalKeyを設置すれば、Globalkey経由でcontextを取得出来るのですが、
グローバル変数に値を設置するのはアンチパターンだと思いますし、MVVMの勉強なので今回は避けたいです。
320デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:03:15.94ID:7uJO41n7a これでとりあえず動きました。それっぽいですかね?
ただMVVM的に正しくやる方法かどうかは、正しい方法のはっきりした定義が無いと何とも言いようがないような気がします。
そちらのコードでも別におかしいとも思わないですし、結局実験的なコードなので、それなら本人が良いと思えば何でも良いような。
結局仕様・方針がはっきり決まって初めて、「それに対してより効率的で無駄が無いアーキテクチャかどうか」という話がスタートするような気がします。
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
Future<void> main() async {
runApp(const AppMain());
}
class AppMain extends StatelessWidget {
const AppMain({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: S1(),
);
}
}
ただMVVM的に正しくやる方法かどうかは、正しい方法のはっきりした定義が無いと何とも言いようがないような気がします。
そちらのコードでも別におかしいとも思わないですし、結局実験的なコードなので、それなら本人が良いと思えば何でも良いような。
結局仕様・方針がはっきり決まって初めて、「それに対してより効率的で無駄が無いアーキテクチャかどうか」という話がスタートするような気がします。
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
Future<void> main() async {
runApp(const AppMain());
}
class AppMain extends StatelessWidget {
const AppMain({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: S1(),
);
}
}
321デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:04:42.12ID:7uJO41n7a class S1 extends StatelessWidget {
S1({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: ChangeNotifierProvider(
create: (context) => ViewModelTest(),
builder: (context, vm) => Column(
children: [
Expanded(child: S2A()),
S2B(),
],
),
),
);
}
}
S1({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: ChangeNotifierProvider(
create: (context) => ViewModelTest(),
builder: (context, vm) => Column(
children: [
Expanded(child: S2A()),
S2B(),
],
),
),
);
}
}
322デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:06:31.02ID:7uJO41n7a class S2A extends StatelessWidget {
S2A({Key? key,}) : super(key: key);
@override
Widget build(BuildContext context) {
/// ここでメソッドをviewModelに入れている事に強い違和感がある。
final ViewModelTest vm = context.read();
final keyList = vm.keyList;
return Column(
children: [
Consumer<ViewModelTest>(
builder: (context, vm, child) {
return Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
border: Border.all(color: Colors.grey, width: 1),
),
child: Text("VMから受信した値=${vm.counter}"),
);
},
),
S2A({Key? key,}) : super(key: key);
@override
Widget build(BuildContext context) {
/// ここでメソッドをviewModelに入れている事に強い違和感がある。
final ViewModelTest vm = context.read();
final keyList = vm.keyList;
return Column(
children: [
Consumer<ViewModelTest>(
builder: (context, vm, child) {
return Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
border: Border.all(color: Colors.grey, width: 1),
),
child: Text("VMから受信した値=${vm.counter}"),
);
},
),
323デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:07:04.38ID:7uJO41n7a Expanded(
child: SingleChildScrollView(
child: Column(
children: List.generate(100, (index) {
return Container(
key: keyList[index],
width: double.infinity,
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
border: Border.all(color: Colors.grey, width: 1),
),
child: Text("index ${index + 100}"),
);
}),
),
),
),
],
);
}
}
child: SingleChildScrollView(
child: Column(
children: List.generate(100, (index) {
return Container(
key: keyList[index],
width: double.infinity,
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
border: Border.all(color: Colors.grey, width: 1),
),
child: Text("index ${index + 100}"),
);
}),
),
),
),
],
);
}
}
324デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:07:50.16ID:7uJO41n7a class S2B extends StatelessWidget {
S2B({Key? key,}) : super(key: key);
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
_button1(context);
},
child: const Text("1:VMに値+1")),
ElevatedButton(
onPressed: () {
_button2(context);
},
child: const Text("2:100に移動")),
ElevatedButton(
onPressed: () {
_button3(context);
},
child: const Text("3:199に移動")),
],
);
}
S2B({Key? key,}) : super(key: key);
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
_button1(context);
},
child: const Text("1:VMに値+1")),
ElevatedButton(
onPressed: () {
_button2(context);
},
child: const Text("2:100に移動")),
ElevatedButton(
onPressed: () {
_button3(context);
},
child: const Text("3:199に移動")),
],
);
}
325デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:08:08.10ID:7uJO41n7a void _button1(BuildContext context) {
final ViewModelTest vm = context.read();
vm.counter += 1;
}
void _button2(BuildContext context) {
final ViewModelTest vm = context.read();
vm.scrollRequest(100,);
}
void _button3(BuildContext context) {
final ViewModelTest vm = context.read();
vm.scrollRequest(199,);
}
}
final ViewModelTest vm = context.read();
vm.counter += 1;
}
void _button2(BuildContext context) {
final ViewModelTest vm = context.read();
vm.scrollRequest(100,);
}
void _button3(BuildContext context) {
final ViewModelTest vm = context.read();
vm.scrollRequest(199,);
}
}
326デフォルトの名無しさん (アウアウエー Sa23-3/wg)
2022/08/08(月) 23:08:35.92ID:7uJO41n7a class ViewModelTest extends ChangeNotifier {
int get counter => _counter;
int _counter = 0;
final List<GlobalKey> _keyList = List.generate(100, (index) => GlobalKey()).toList();
List<GlobalKey> get keyList => _keyList;
set counter(int value) {
_counter = value;
notifyListeners();
}
scrollRequest(int scrollIndex) {
//this.scrollRequestCallback(scrollIndex);
Scrollable.ensureVisible(keyList[scrollIndex - 100].currentContext!,
duration: const Duration(milliseconds: 300),
curve: Curves.easeOut,
alignment: 0.5,
alignmentPolicy: ScrollPositionAlignmentPolicy.explicit);
}
}
int get counter => _counter;
int _counter = 0;
final List<GlobalKey> _keyList = List.generate(100, (index) => GlobalKey()).toList();
List<GlobalKey> get keyList => _keyList;
set counter(int value) {
_counter = value;
notifyListeners();
}
scrollRequest(int scrollIndex) {
//this.scrollRequestCallback(scrollIndex);
Scrollable.ensureVisible(keyList[scrollIndex - 100].currentContext!,
duration: const Duration(milliseconds: 300),
curve: Curves.easeOut,
alignment: 0.5,
alignmentPolicy: ScrollPositionAlignmentPolicy.explicit);
}
}
327デフォルトの名無しさん (ワッチョイ b190-HX2K)
2022/08/08(月) 23:25:24.19ID:1TtsycsU0 MVVM的にはViewModelはView依存しちゃだめだから、そこら辺はViewModelから追い出さないと
Scrollable.ensureVisibleっておもいっきりViewのメソッドじゃないのか?
Scrollable.ensureVisibleっておもいっきりViewのメソッドじゃないのか?
328デフォルトの名無しさん (ワッチョイ ebbb-VYY0)
2022/08/08(月) 23:34:54.06ID:kXG/j3j10 どっちのイベントもnotifyで通知すればいいじゃない
329デフォルトの名無しさん (ワッチョイ b190-HX2K)
2022/08/08(月) 23:40:23.05ID:1TtsycsU0 ViewModelにcounterと同じようにスクロール位置を表す変数を用意して、それを変更してnotifyListenersする
View側ではその変数の変更を監視して、変わったらスクロールするメソッドを呼ぶ。initStateだか、初期化するときにViewModelを監視してスクロールさせるコードを仕込む(ここはProvider使ったことないからなようわからんので自分で)
View側ではその変数の変更を監視して、変わったらスクロールするメソッドを呼ぶ。initStateだか、初期化するときにViewModelを監視してスクロールさせるコードを仕込む(ここはProvider使ったことないからなようわからんので自分で)
330デフォルトの名無しさん (ワッチョイ b190-HX2K)
2022/08/08(月) 23:57:08.05ID:1TtsycsU0331デフォルトの名無しさん (ワッチョイ 597d-Xua2)
2022/08/09(火) 06:13:57.04ID:wrWGer3C0 ちゃんとしたMVVMになってなくても、コードがきちんと整理されていれば何も問題ないな
332デフォルトの名無しさん (ワッチョイ 597d-Xua2)
2022/08/09(火) 06:19:20.79ID:wrWGer3C0 >>329
自分もパッと思いつくのはこの設計
自分もパッと思いつくのはこの設計
333デフォルトの名無しさん (ワッチョイ 597d-Xua2)
2022/08/09(火) 06:20:31.25ID:wrWGer3C0 あー、でも再描画の時に質問者の想定通りの動作をするかはちょっと分かんないなあ
334デフォルトの名無しさん (ワッチョイ 312f-rSKY)
2022/08/09(火) 08:57:08.88ID:aSkVZgU00 1 controllerで操作できるウィジェットを作る(StatefulWidget)
Scrollable.ensureVisibleはそこに内包
2 ボタンを押した時にcontroller.scrollToItem(100)とか呼ぶ
Scrollable.ensureVisibleはそこに内包
2 ボタンを押した時にcontroller.scrollToItem(100)とか呼ぶ
335デフォルトの名無しさん (ワッチョイ 312f-rSKY)
2022/08/09(火) 09:00:24.72ID:aSkVZgU00 コードを画像にしてまでこんな所で質問しようって考えがすげーな
スタックオーバーフローとか知らんのか
Qiitaにも質問機能あるでしょ
スタックオーバーフローとか知らんのか
Qiitaにも質問機能あるでしょ
336デフォルトの名無しさん (スッップ Sd33-DCBw)
2022/08/09(火) 15:25:31.33ID:Mf8FpV7Td 別にええやん
337デフォルトの名無しさん (ワッチョイ 597d-BHIy)
2022/08/09(火) 17:21:10.50ID:wrWGer3C0 実際、回答がついてるわけだしな
338デフォルトの名無しさん (ワッチョイ 1b66-Z611)
2022/08/10(水) 01:33:37.49ID:B39rpR+U0 流行りそうだが、いきなりGoogleが辞めるこれしそうでもあり
なかなか本格的にやる気にはならんなぁ...
なかなか本格的にやる気にはならんなぁ...
339319 (ワッチョイ 33bd-cWyh)
2022/08/10(水) 03:00:06.10ID:YckXqQDi0 >>320,327,328,331,334
ありがとうございます。
MVVMに固着しすぎてたかなって思えてきたので、StreamController をviewmodel側に設置して
view側でlistenしようかなと思います。
ありがとうございます。
MVVMに固着しすぎてたかなって思えてきたので、StreamController をviewmodel側に設置して
view側でlistenしようかなと思います。
340デフォルトの名無しさん (ワッチョイ c92c-dJ4b)
2022/08/12(金) 21:42:29.24ID:6GrNGj6K0 >>338
業界的にはかなり好意的だから大丈夫だと思うけども
業界的にはかなり好意的だから大丈夫だと思うけども
341デフォルトの名無しさん (ワッチョイ e5ae-nhkz)
2022/08/18(木) 11:45:26.72ID:+3bWxeOp0 >>338
無くなったら別環境をやればいいじゃん
無くなったら別環境をやればいいじゃん
342デフォルトの名無しさん (アウアウエー Sa4a-3dbE)
2022/08/18(木) 13:59:01.18ID:xHW5D51ea リスクを取りたくない人は枯れた技術。
これマメな
これマメな
343デフォルトの名無しさん (ワッチョイ dd5f-cQuI)
2022/08/18(木) 21:28:34.14ID:4BmQsPQj0 flutter flameのbuttoncomponentのサンプルってどこかに転がってないですか?
344デフォルトの名無しさん (ワッチョイ 8959-IWzR)
2022/08/19(金) 03:30:52.38ID:R4iFuILc0345デフォルトの名無しさん (ワッチョイ 89ad-YciU)
2022/08/19(金) 07:31:13.85ID:NHdbFiYH0 >>344
グロ
グロ
346デフォルトの名無しさん (ワッチョイ 0201-lFw7)
2022/08/30(火) 10:12:32.21ID:1QqOIvnF0 Flutter大学とかに通ってるやついる?
いねぇ~よなぁ?
いねぇ~よなぁ?
347デフォルトの名無しさん (ワッチョイ 0201-lFw7)
2022/08/30(火) 10:12:50.23ID:1QqOIvnF0 金払ってまでやりたくない
348デフォルトの名無しさん (スフッ Sd22-ePGj)
2022/08/30(火) 14:20:13.03ID:5IkPV7X+d ウィジェットもパッケージもどんどん増えてるから、その時点での特徴・使い方の比較とか、自分で調査したらそれなりの労力はかかるので、質の高い情報がまとまってるなら有料でも違和感は無い。
無料の情報もネットにあるけど結局情報の質の評価は受け手の問題。
flutter大学がどうかは知らん。
無料の情報もネットにあるけど結局情報の質の評価は受け手の問題。
flutter大学がどうかは知らん。
349デフォルトの名無しさん (ワッチョイ 6101-7uqO)
2022/08/30(火) 17:48:48.71ID:QeT8iV/W0 結局、Dartの言語仕様はさほど変わらなくともその他のライブラリは文字通り日進月歩なので結局自分でフォローし続けるしかないのな。
綺麗に分かりやすくまとまったサイトや書籍ができる頃にはその情報は陳腐化してるというジレンマ。
綺麗に分かりやすくまとまったサイトや書籍ができる頃にはその情報は陳腐化してるというジレンマ。
350デフォルトの名無しさん (アウアウウー Sa85-yNcK)
2022/08/30(火) 18:01:50.83ID:PFffRiy6a これってcssと連携できんのか?
何か覚えるの無駄な時間って感じするなぁ
何か覚えるの無駄な時間って感じするなぁ
351デフォルトの名無しさん (ワッチョイ 6924-/y7l)
2022/08/30(火) 18:12:56.85ID:QoybSOu70 >>349
逆に言えば新陳代謝が激しいのでキャッチアップし続けられるなら食い扶持に困らないってのはあるな
まあ大半はキャッチアップし続けるのがだんだん面倒くさくなってExcel設計書書く方に回っちゃうんだけど
逆に言えば新陳代謝が激しいのでキャッチアップし続けられるなら食い扶持に困らないってのはあるな
まあ大半はキャッチアップし続けるのがだんだん面倒くさくなってExcel設計書書く方に回っちゃうんだけど
352デフォルトの名無しさん (ワッチョイ 8601-lFw7)
2022/08/30(火) 18:51:30.22ID:CvuNCIq60 >>349
ライブラリ自分でかけない雑魚はそうなるわな
ライブラリ自分でかけない雑魚はそうなるわな
353デフォルトの名無しさん (ワッチョイ 6101-7uqO)
2022/08/30(火) 19:43:09.03ID:QeT8iV/W0 >>352
プラグインやパッケージ書く技術は比較全然進歩してないので、どちらかと言うと他人が書いた新しいパッケージによるなんちゃらデザインパターンの進化について行けるかどうかだと思うよ。
とは言え、結局当初のBLoCやStatefulパターンだけ理解しとけば今のところ何とでもなるけど、
プラグインやパッケージ書く技術は比較全然進歩してないので、どちらかと言うと他人が書いた新しいパッケージによるなんちゃらデザインパターンの進化について行けるかどうかだと思うよ。
とは言え、結局当初のBLoCやStatefulパターンだけ理解しとけば今のところ何とでもなるけど、
354デフォルトの名無しさん (ワッチョイ 6101-yNcK)
2022/09/01(木) 23:31:34.08ID:vSnIfc5k0 Xamarin スレで見たんだけど、Flutter3.3 が出たらしいね
355デフォルトの名無しさん (ワッチョイ 0201-lFw7)
2022/09/01(木) 23:58:11.80ID:tonqDUwL0 なんでXamarinスレの方が反応早いんだw
356デフォルトの名無しさん (ワッチョイ c1e4-1iOq)
2022/09/02(金) 00:44:36.69ID:3c+qaz1q0 いつも見ているぞ
357デフォルトの名無しさん (ワッチョイ 69ad-7GL9)
2022/09/02(金) 01:23:53.85ID:gy8peQCP0 逆に見られてるぞ
358デフォルトの名無しさん (ワイーワ2 FF1f-Ahwh)
2022/09/04(日) 11:28:07.46ID:sa0KzrWXF すみません
例えばバッテリーの残りが少なくなってきたときとかに、危ないから充電しなさいみたいなポップアップメッセージ出てくるじゃないですか
ああいう、横にスワイプしたら消えるようなメッセージのダイアログって一般的に何と呼ぶのでしょう?
何かああいうWidgetあるんですか?
例えばバッテリーの残りが少なくなってきたときとかに、危ないから充電しなさいみたいなポップアップメッセージ出てくるじゃないですか
ああいう、横にスワイプしたら消えるようなメッセージのダイアログって一般的に何と呼ぶのでしょう?
何かああいうWidgetあるんですか?
359デフォルトの名無しさん (ワッチョイ c701-sefY)
2022/09/04(日) 11:49:33.73ID:+SLhpWTl0 >>358
横にスワイプして消えるかどうかは知らんが一般的にはAlertDialog。
横にスワイプして消えるかどうかは知らんが一般的にはAlertDialog。
360デフォルトの名無しさん (テテンテンテン MM8f-yFwy)
2022/09/04(日) 11:59:58.19ID:4NOoDQVnM プッシュ通知じゃなくて?
バッテり残量とかならローカルの通知
メール新着みたいなのはものによるけど基本はサーバからの通知(FCMとか
バッテり残量とかならローカルの通知
メール新着みたいなのはものによるけど基本はサーバからの通知(FCMとか
361デフォルトの名無しさん (ワッチョイ 8759-AhR/)
2022/09/04(日) 13:37:04.43ID:44kdU+Ci0362デフォルトの名無しさん (ブーイモ MMcf-9Ax/)
2022/09/04(日) 15:43:02.10ID:5pTuzr33M >>361
グロ
グロ
363デフォルトの名無しさん (ワッチョイ dfe3-viQ0)
2022/09/05(月) 20:05:48.83ID:y32Uu+oi0 >361
Flutter?
Flutter?
364デフォルトの名無しさん (ワッチョイ c701-Iguz)
2022/09/09(金) 16:51:08.07ID:DnjlQsvB0 Flutter で作ったけど結局ダメで、iOS, Android とも作り直したって話があったな
たしか、Web収入板のAdMobスレ
単純な CRUD アプリなら Flutter でもいいらしい
おまえらは CRUD しかやらないから満足してる感じなの?
たしか、Web収入板のAdMobスレ
単純な CRUD アプリなら Flutter でもいいらしい
おまえらは CRUD しかやらないから満足してる感じなの?
365デフォルトの名無しさん (ワッチョイ c72c-PBrH)
2022/09/09(金) 17:32:53.83ID:E8Zygjzy0 Flutterの何がダメだったのか分からんと何とも
ただ嫌いだなと思っただけかも
ただ嫌いだなと思っただけかも
366デフォルトの名無しさん (ワッチョイ c701-sefY)
2022/09/09(金) 18:11:37.54ID:H4mDPbg30 バックグラウンド動作以外はプラグインさえ用意すればflutterでできないことはないという認識だったんだけど、具体的に何がNGだったんやろか?
後学のために知りたい。
後学のために知りたい。
367デフォルトの名無しさん (スフッ Sd7f-ZksZ)
2022/09/09(金) 18:37:24.97ID:hHZEVm2bd 単純な CRUD アプリならノーコードツールでポチポチ。
ポチポチイズベスト。
ポチポチイズベスト。
368デフォルトの名無しさん (ワッチョイ 7f10-2WwF)
2022/09/09(金) 18:39:41.83ID:COUnWEQb0 めっちゃつっこまれる理由なんだろうな・・・
369デフォルトの名無しさん (ワッチョイ c701-Iguz)
2022/09/09(金) 18:46:43.80ID:DnjlQsvB0 探してきた
バックグラウンド実行、アラーム、オーバーレイ、ローカル通知、各種権限の操作とか色々OSの仕様が違くて無理だった。
とあるな
バックグラウンド実行、アラーム、オーバーレイ、ローカル通知、各種権限の操作とか色々OSの仕様が違くて無理だった。
とあるな
370デフォルトの名無しさん (スフッ Sd7f-ZksZ)
2022/09/09(金) 19:02:12.74ID:hHZEVm2bd 代弁ありがとうございます。
371デフォルトの名無しさん (ワッチョイ c701-Iguz)
2022/09/09(金) 19:04:21.21ID:DnjlQsvB0 つまり、Flutter はノーコードポチポチと同等ってことでOK?
372デフォルトの名無しさん (ワッチョイ c701-sefY)
2022/09/09(金) 19:09:36.80ID:H4mDPbg30 >>369
権限は少なくとも俺が開発した範囲ではpermisson_handlerプラグインで何とかできたよ。
その他は確かにバックグラウンド動作またはskia以外のOS独自描画が必要そうなので今のflutterでは難しいかもね。
権限は少なくとも俺が開発した範囲ではpermisson_handlerプラグインで何とかできたよ。
その他は確かにバックグラウンド動作またはskia以外のOS独自描画が必要そうなので今のflutterでは難しいかもね。
373デフォルトの名無しさん (スフッ Sd7f-ZksZ)
2022/09/09(金) 19:13:31.30ID:hHZEVm2bd >>371
んなこたぁない!
んなこたぁない!
374デフォルトの名無しさん (ササクッテロ Spbb-viQ0)
2022/09/09(金) 19:28:43.42ID:xviDAY5Lp バックグラウンドはworkmanagerで使えるぞ
他にもbackground*がいくつかあったはず
他にもbackground*がいくつかあったはず
375デフォルトの名無しさん (ワッチョイ c701-sefY)
2022/09/09(金) 19:47:12.93ID:H4mDPbg30376デフォルトの名無しさん (ワッチョイ 11ae-ZPoQ)
2022/09/12(月) 14:22:04.29ID:AKdY9dYn0 画面OFFでもBLE通信出来る様になった?
377.NET MAUI HighSchool (ワッチョイ 7501-6yOS)
2022/09/13(火) 10:13:59.13ID:au+tSL6G0378デフォルトの名無しさん (ワッチョイ 7d01-OdF3)
2022/09/14(水) 10:58:01.26ID:WEdRqXK50 Visual Studio の IntelliCode はいいね
C# くらいメジャーな言語じゃないと、こういうのはないよね
Dart みたいな泡沫言語では永久にムリだろう
自分で snippet をシコシコ登録するしかない
Flutter はオレオレ言語なんか発明せず、C# を採用すべきだったんだ
C# くらいメジャーな言語じゃないと、こういうのはないよね
Dart みたいな泡沫言語では永久にムリだろう
自分で snippet をシコシコ登録するしかない
Flutter はオレオレ言語なんか発明せず、C# を採用すべきだったんだ
379デフォルトの名無しさん (ササクッテロラ Spbd-NcIj)
2022/09/14(水) 11:57:13.85ID:IfYJ9n1up C#おじさんはVSしかIDE触った事ないのかな
380デフォルトの名無しさん (ワッチョイ 6d2f-++ih)
2022/09/14(水) 13:16:03.38ID:yW9ZG2vm0 Flutter,Dartが人気なのが気に食わないみたいだけど
こんな所で僻み続けても負け犬の遠吠えで何の意味も効果もないよ!
.NET MAUI,C#がそんなにいいならFlutter,Dartと比較して
優れてる事を纏めてホッテントリ入りさせるとかしなきゃだよ!
そしたら大勢がコメントしてジャッジしてくれるからね!
こんな所で僻み続けても負け犬の遠吠えで何の意味も効果もないよ!
.NET MAUI,C#がそんなにいいならFlutter,Dartと比較して
優れてる事を纏めてホッテントリ入りさせるとかしなきゃだよ!
そしたら大勢がコメントしてジャッジしてくれるからね!
381デフォルトの名無しさん (ワッチョイ 7d01-OdF3)
2022/09/14(水) 13:40:00.73ID:WEdRqXK50 >>379
ん?
Dart でもできるの?
そういえば、ML Completion とか言ってたような記憶はあるね
Flutter と Googleオレ様言語については調査中なんだ
AndroidStudio とかで最初から使えるようになってればいいのに、
使えなかったんだよ
ああ、やっぱりダメなんだなぁと思った
とても残念だよ
ん?
Dart でもできるの?
そういえば、ML Completion とか言ってたような記憶はあるね
Flutter と Googleオレ様言語については調査中なんだ
AndroidStudio とかで最初から使えるようになってればいいのに、
使えなかったんだよ
ああ、やっぱりダメなんだなぁと思った
とても残念だよ
382.NET MAUI HighSchool (ワッチョイ 1101-6yOS)
2022/09/14(水) 18:27:06.48ID:SbIgB75u0383デフォルトの名無しさん (テテンテンテン MM3e-YDlo)
2022/09/14(水) 20:00:24.51ID:dT7Ax3PXM384デフォルトの名無しさん (ワッチョイ 7d01-rdf8)
2022/09/14(水) 20:15:27.10ID:K4wpmadT0 >>382
flutterにも音声認識があった記憶があるんだけどそれじゃ駄目なのかい?
flutterにも音声認識があった記憶があるんだけどそれじゃ駄目なのかい?
385デフォルトの名無しさん (スフッ Sd0a-+b2b)
2022/09/14(水) 20:18:26.92ID:j3DWQZrFd まあすぐ消えるでしょw
386.NET MAUI HighSchool (ワッチョイ 1101-6yOS)
2022/09/14(水) 20:34:33.67ID:SbIgB75u0 >>383
いや喧嘩売ってんのはFlutter側でしょ
いや喧嘩売ってんのはFlutter側でしょ
387.NET MAUI HighSchool (ワッチョイ 1101-6yOS)
2022/09/14(水) 20:36:00.14ID:SbIgB75u0 System.IOについての話もした!
MediaPickerの話もした!
それでも文句たれてるこいつは一体何なんだ?
Dart学んでしまった自分を肯定したいだけだろ?
って話よな
MediaPickerの話もした!
それでも文句たれてるこいつは一体何なんだ?
Dart学んでしまった自分を肯定したいだけだろ?
って話よな
388デフォルトの名無しさん (テテンテンテン MM3e-YDlo)
2022/09/14(水) 20:56:38.55ID:dT7Ax3PXM あー触っちゃいけないタイプの人かあ
周りすべてが敵に見えるとか幻覚が見えるとか躁いう状態なら
ちゃんとお薬飲んで身体を休めたほうがいいよ
そうじゃなくて狂人のフリをして注目を集めるつもりなら、
「フリ」のつもりがだんだん本当に頭おかしくなって社会復帰できなくなるからやめたほうがいい
周りすべてが敵に見えるとか幻覚が見えるとか躁いう状態なら
ちゃんとお薬飲んで身体を休めたほうがいいよ
そうじゃなくて狂人のフリをして注目を集めるつもりなら、
「フリ」のつもりがだんだん本当に頭おかしくなって社会復帰できなくなるからやめたほうがいい
389.NET MAUI HighSchool (ワッチョイ 1101-6yOS)
2022/09/14(水) 21:04:01.28ID:SbIgB75u0 >>388
いや突っかかってきたの向こうからなんだが?
いや突っかかってきたの向こうからなんだが?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【カブス】今永昇太 1年約34億円で残留へ QO受諾 米メディア報じる [鉄チーズ烏★]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 【雑談】暇人集会所part19
- 不知火フレア、尾丸ポルカ、星街すいせい、さくらみこ、白銀ノエル「「「「「お前くんっ!結婚して!」」」」」←誰を選ぶ?
- 自閉症が「んなっしょい」と連呼するお🏡
- ブラックフライデーでダークソウル買って初プレイしてみようかなと思うけどどうかな
