Flutterやろうよ!!! 2

■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 12:22:39.97ID:4Fw02M/h0
ようこそFlutter野郎どもよ!!!
軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか
AndroidもiOSも両方行ける、まさに漢のためのツールだな

https://flutter.dev/

前スレ
Flutterやろうよ!!!
https://mevius.5ch.net/test/read.cgi/tech/1527919660/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
53デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 16:16:14.01ID:pJAT2BWO0
>>52
だから、ListViewは1つでreturnする中身を変えりゃいいじゃん
54デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 16:23:30.72ID:pJAT2BWO0
return widgets[_listMode][index]; で簡単に出来るだろw
55デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/06(土) 16:41:21.24ID:F0c/bXFP0
>>53

例えば、ListView.builderを1つにして、

body: ListView.builder(
itemBuilder: _getlistItem,
// 略
);

Widget _getlistItem(int indexItem) {
switch(_listMode)
{
case 0:
return Text(_listItems[indexItem]);
// 中略
break;
case 1:
return ListTile{
leading: icon,
title:Text(_listItems[indexItem]));
break;
}

と、itemBuilderに渡す関数も共通化して、その関数内でswitch〜caseで分岐して、
返すWidgetを変えてもいいんだが、本当にやりたいのは、switch〜caseを書く
のではなく、Widgetを返す関数配列にしたいってこと。
56デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 16:44:34.07ID:pJAT2BWO0
>>55
ならsetStateする前にListViewしたいwidget全要素作れば?
57デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/06(土) 16:47:35.00ID:F0c/bXFP0
>>54
だから、widgets[][]を、どこで初期化するの?
中身はファイル名の一覧とか可変が前提だよ。

それと、使うWidgetは、表示スタイルによってどれか1つで済むのに、二重のfor
ループを廻して、毎回全部を作りなおすのか? 間違いではないが、糞プログラマ
認定だな。
58デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/06(土) 16:49:29.40ID:F0c/bXFP0
>>56
なぜ、ListView.builderを使うのか、理解していないことが良く判った。
59デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 17:03:39.75ID:pJAT2BWO0
>>57
いや、 ListViewだって可変なら毎回作るんだよ。
でも2重全部は作らない。どちらか。
どっちがクソプロだよ。もう教えてやんねーよクズ
60デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 17:12:16.78ID:pJAT2BWO0
> だから、widgets[][]を、どこで初期化するの?
setStateする前だって言ってんだろ。

var list = []; って知ってる?全部作らなくていいの分かる?
その態度で、ど素人かよ・・向いてないから辞めな
2021/02/06(土) 17:22:25.88ID:MVtJKBn70
>>49
別にこれでよくね?
IndexedWidgetBuilder関数自体をswitchで返すようにしてListView.Builderの記述を一つにするとか細かいのはあるが

つか、widgets[]何かいらんだろ?
2021/02/06(土) 17:25:30.28ID:MVtJKBn70
今回はListView同士だが、表示モードでリスト表示やグリッド表示切り替えたりする機能じ実装したいんだろ?
2021/02/06(土) 17:28:26.46ID:MVtJKBn70
ごめん>>55とか見てなかった
64デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 17:31:01.68ID:pJAT2BWO0
そもそもitemBuilderに渡せるクロージャの型は決まってるのに、そこでやりたがろうとするのか間違い。
returnする中身を_listModeで変えりゃいいだけ。
2021/02/06(土) 17:36:00.31ID:MVtJKBn70
とりあえず、>>55はdartで十分スマートだから問題ないといっておく

Widgetを返す関数配列とか余計なことすると一人よがりのプログラムになりそうとだけ言っておく

仮にそこまでやって何の利点があるのか知らんが
66デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 17:43:49.14ID:pJAT2BWO0
もしもlistの件数が多いなら、flutterはreusableCellみたいな機構/考え方がないから、ScrollControllerでスクロールを監視して、止まったら実widgetを生成するとかの施策を作る方がよっぽどメリットある。
さらにそんな感じのListViewが複数あるならリビルト抑制のためにInheritedModel化しなければならない。
67デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 19:10:30.57ID:pJAT2BWO0
糞プログラマwのオレが余計なアドバイスしちゃったかなw
まぁ3年くらいは諦めずに続けてみる事だwww
2021/02/06(土) 19:29:48.12ID:0l8rGy4F0
>>55
dartのwidgetはプロパティ変更のためにはwidgetのnewが必ず伴わないといけないので、widget配列にインスタンスを先に定義してその参照を返すだけではrebuildされず画面更新されない。
コンストラクタのメンバーにFuture渡すとかすればよろし。
69デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/06(土) 22:06:19.05ID:F0c/bXFP0
>>68
とりあえず、>>49のwidgets[]は、型は便宜上varとしているが、Widgetを返す
関数を保持されることを意図したつもり。

Widget _buildSimpleListItem(int indexItem)や、Widget _buildIconListItem
(int indexItem)は、Widgetを返す関数の実装。

配列要素である関数自体は変わらないが定数ではないからconstではなく、final を
付けてみたが、final付けるとエラーになるかも。

ListView.builder()は、itemBuilderに渡す関数を.builder内部で繰り返し呼び出して、
Widgetを作るので、わざわざwidgets[][]なんて持つ必要がないという理解。

当然、ListView.builder()はHogeHogePageのbuild内で呼び出しているので、
_listModeと紐付いたDropdownButtonのonChanged: で、

(value) => setState(() { _listMode = menu.indexOf(value); } ),

てな感じで更新を掛ける。
70デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 22:16:32.47ID:pJAT2BWO0
>Widgetを返す関数
これが無駄
71デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/06(土) 23:04:48.80ID:pJAT2BWO0
ListView.builder() はListView内のセル1つのコンテンツを作るわけじゃなくて、ListViewという仕組みを作るものだということを理解しよう。
そのコンテンツはreturnするwidgetによって切り替えよう。
72デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/07(日) 00:02:01.56ID:AkpxQPsh0
どうしてもitemBuilderを切り替えたいなら、
var _itemBuilders = <Widget Function(BuildContext, int)>[];
・・
itemBuilder: _itemBuilders[_listMode]
・・
ただ、itemCount:の明示が分かりにくくなり(がち)でバグの元になるので普通はこう書かないだろう。。
73デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/07(日) 01:02:21.41ID:5iRjnGor0
>>70-72
何も理解しとらんな。ListView.builder()自体は、ListViewを返すが、itemBuilder
が、ListView内に表示する個々のアイテム(Widget)を作るための関数だよ。 

内部実装まで追いかけてはいないが、実際は、ListView表示に必要なスクロール範囲
内に見える部分のindex〜index+nの分だけアイテムを作って描画しているのでは
ないかと思う。 これはWindowsの仮想リストビューと同じような実装で、珍しく
もない。

だからListView.builder()の引数、itemCount: null, で無制限スクロールできる。
74デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/07(日) 01:14:57.97ID:AkpxQPsh0
ItemBuilderは1コンテンツのコンテナを提供してるだけだアホ
75デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/07(日) 01:22:23.18ID:AkpxQPsh0
>内部実装まで追いかけてはいないが、実際は、ListView表示に必要なスクロール範囲内に見える部分のindex〜index+nの分だけアイテムを作って描画しているのでは
ないかと思う。

スクロールした分全部作ってる。見えてる分じゃない。
76デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/07(日) 01:24:19.39ID:AkpxQPsh0
>>73
何も理解してないのはオマエw
77デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/07(日) 01:38:30.26ID:5iRjnGor0
>>74-76
return widget[][];なんて書く低能は、いい加減消えてくれないかな?

スクロールした分を全部作り直してたら、アイテム数が増えればリソース食うし、
等比級数的に遅くなるから、必要な部分だけデータを要求して再描画するのは
ごく普通の実装なのだが?
78デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/07(日) 01:44:43.73ID:AkpxQPsh0
>>77
オマエが消えろカス
79デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/07(日) 01:46:24.73ID:AkpxQPsh0
>>77
あとお前ITセンス無いよ
2021/02/07(日) 17:16:20.79ID:NoxA0gm+0
休日って感じでええな
2021/02/07(日) 17:37:11.35ID:VQW6QCV3M
Dart「私のために争わないで!」
2021/02/08(月) 21:04:17.25ID:fXU526Wm0
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);


この
const MyApp({Key? key}) : super(key: key);
っていろんなサンプルコードにおまじないのように存在しますが
何の意味があるコードでしょうか?
2021/02/08(月) 22:16:34.05ID:U8Md53kEM
それがコンストラクタであることはわかる?
2021/02/08(月) 22:23:55.78ID:fXU526Wm0
わかりません><
2021/02/08(月) 22:50:39.51ID:Vrbohkxj0
>>84
ほかの言語の基礎知識なしに
Dart/Flutterから始めるからそうなるんじゃないかね
2021/02/09(火) 00:49:39.26ID:bUho71ueM
いつみてもnamedの書き方がキモいな
💩dartは
2021/02/09(火) 05:41:27.49ID:4s6aj3EG0
>>82
継承元のコンストラクタにkeyを渡してるだけ。
2021/02/09(火) 08:27:56.90ID:GPf+a2VOd
そもそもkeyて何に使うの?
89デフォルトの名無しさん (スフッ Sdbf-smwP)
垢版 |
2021/02/09(火) 11:09:42.19ID:QUiKVEcEd
>>85
それは何でも同じやん。
2021/02/09(火) 11:25:03.68ID:nKesl+r+0
>>89
同じではないぞ
Dart使ってる人はほかの言語をマスターしてる人がほとんどだろう
Dartは入門のサイトや書籍も少ない
Dartは初心者が最初にやるべき言語ではない
2021/02/09(火) 11:50:18.06ID:4s6aj3EG0
>>88
俺はこの動画見て理解した
https://api.flutter.dev/flutter/foundation/Key-class.html
2021/02/09(火) 12:49:34.02ID:anEuZ52ed
>>91
横からだけどありがとう
93デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 15:11:33.26ID:ANc0E1ay0
flutterはともかくdartは分かりやすい。初学者向け。
94デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 15:19:45.18ID:ANc0E1ay0
ただ仕組みを理解してないと結構勘違いする。
例えばプラグインを作る時のevent subscriptionはbroadcastStreamなのでcontroller.closeが出来ない。
nullが返ってきたら終わりみたいな処理を待つには自分でStreamControllerを作ってそのStreamをFuture.waitするとか。
95デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/09(火) 18:11:24.23ID:KQnFnSaF0
>>93-94
シッタカ坊や、まだいたのかぃ?

>>74-76
> スクロールした分全部作ってる。見えてる分じゃない。
> 何も理解してないのはオマエw

とりあえず、>>49 のサンプルを改造して、ListView.builder()のitemBuilder
に指定したコールバック関数が、いつのタイミングで、何回呼び出されているか
確認できるよう、

Widget _buildSimpleListItem(BuildContext context, int index)
{
print("_buildSimpleListItem(${index})");
return Text(_listItems[index]);
}

として、ListView.builder()のitemCount: に、画面に絶対収まり切らない数
(適当に500)を指定した、デバッグ実行してみた。
96デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/09(火) 18:11:38.83ID:KQnFnSaF0
案の定、自分の想像通り全てのアイテムは作成していなかった。 ただ、なぜか
判らないが、リスト表示範囲にピッタリ収まる数より少し余分に呼ばれていた。

どうやら、ListViewの実際の表示サイズではなく、AppBar等を含めたディス
プレイの表示ピクセル数に収まるアイテム数のWidgetを作成しているっぽい。

また、スクロール操作した際も、上/下方向とも移動した行数の分だけ呼ばれ、
スクロール前後で範囲から外れない分はおそらく保持されたままで呼ばれなかった。

「ITセンス無い」なんて言っちゃう時点で、いつもの意識高い系だと思ったが、
これで(ワッチョイ d701-kh8G) が、フカシFlutter野郎であると証明できた。

さぁ、キミも手元のFlutter環境で、今すぐ確認してみよう!

プライドだけ高いお馬鹿センセイの弟子にならないよう、くれぐれもチューイせよ!
97デフォルトの名無しさん (ワッチョイ 9701-6qHG)
垢版 |
2021/02/09(火) 18:26:56.12ID:qUmf+U4D0
仮想リスト・テクノロジー™では?
2021/02/09(火) 19:08:59.58ID:qBw0aS8i0
そりゃすぐにスクロール初めてもフレーム落ちしないように余剰に前後キャッシュするだろうよ
AndroidのListViewもキャッシュするよ
2021/02/09(火) 19:26:05.29ID:4s6aj3EG0
>>55
そういや俺も初心者の頃、スキン切り替え実装するために同じようにwidget配列作って失敗したなと思い出して見直したら、あなたと同じようにbuild内で普通にswitch分岐してたわ。
今作るならインスタンス配列じゃなくてtype配列を作ってその型を生成するように実装するかな?もちろん配列のそれぞれのclassは同じclassから継承しておいて。
dartもtypeからインスタンス生成できるとは思うんだけどやったことはないので具体的なやり方は知らん。
2021/02/09(火) 19:35:55.01ID:4s6aj3EG0
>>99
あ、widgetを返す関数はStatefulWidgetとかに追い出すこと前提な。
101デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 21:47:45.51ID:ANc0E1ay0
>>96
モノホンのバカだったのか・・
102デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 21:53:55.58ID:ANc0E1ay0
> ワッチョイ 9701-95wZ のキチガイへ
サムネイルとか入れてみ、スクロール2000件めくらいでクラッシュするから
2021/02/09(火) 22:30:23.42ID:iPD7ZJPG0
https://api.flutter.dev/flutter/widgets/ListView-class.html
のところに書いてあるでしょ

Child elements' lifecycle
Creation
While laying out the list, visible children's elements, states and render objects will be created lazily based on existing widgets (such as when using the default constructor) or lazily provided ones (such as when using the ListView.builder constructor).

リストをレイアウトするとき、見える子のElement,State,RenderObjectsがLazyに作成される
2021/02/09(火) 22:30:53.65ID:iPD7ZJPG0
Destruction
When a child is scrolled out of view, the associated element subtree, states and render objects are destroyed. A new child at the same position in the list will be lazily recreated along with new elements,
states and render objects when it is scrolled back.

子がビューからスクロールアウトしたら、関連するElement,State,RenderObjectsは全部破棄される
2021/02/09(火) 22:35:48.60ID:iPD7ZJPG0
で、その後に
Destruction mitigation
で続きがあって、ListView.BuilderのaddAutomaticKeepAlivesがtrueだと保持されるの??
ここら辺はまだよく知らねw
2021/02/09(火) 23:28:39.03ID:iPD7ZJPG0
だから、結局、基本、見えてる部分+前後の多少のマージンの部分だけが保持されてるでOKじゃね??
見えてない部分は保持されてない

巨大なリストでも問題なし

でこの話は終了

異論は認めない
107デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 23:39:50.66ID:ANc0E1ay0
アホなの?
だからサムネイルとか非同期取得コンテンツを入れてみ。
108デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/09(火) 23:40:23.81ID:KQnFnSaF0
>>103-105
そこは読んでないけど、まぁ普通にそんな実装だろうと思ってました。
英語が読めるか知らんけど、真正馬鹿の ワッチョイ d701-kh8G に教えてあげて。

>>101-102
>>95を書く前に、念のため テキスト 10000件で試してるけど、落ちなかったよ?

そもそもBuildの度に全てのWidgetを作り直して _widget[iindex]; なんてやって
たら、リソース不足以前に、要素の数だけコントラクタが走るタイムラグが無視
できないってことすら想像がつかんのかなぁ?

もしかして、スクリプト書きのWeb屋が、自称プロFlutterか?
109デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 23:42:06.68ID:ANc0E1ay0
>>108
自演してないで消えろよハゲwww
110デフォルトの名無しさん (ワッチョイ 9701-95wZ)
垢版 |
2021/02/09(火) 23:44:25.44ID:KQnFnSaF0
>>109
顔真っ赤にして、一日中張り付いてるの? 暇やね? 無職か?
111デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/09(火) 23:48:47.23ID:ANc0E1ay0
>>110
え?お前無職なのwww
2021/02/10(水) 00:12:19.53ID:y0GPcK+u0
君たち面白いねwwww
2021/02/10(水) 08:13:01.49ID:bUgfldyu0
だからいっただろう
強制コテハンのワッチョイなんてつけるから荒れる
管理者いないんだから荒れるに決まってる
114デフォルトの名無しさん (ワッチョイ 3714-smwP)
垢版 |
2021/02/10(水) 22:04:43.15ID:EZBazwT90
>>108
自称プロでも何でもいいだろ、5chなんだから。
5ch で何を求めてんの。
2021/02/10(水) 22:33:17.28ID:CSG59Cdu0
Dart 3.0で実装されるnull安全に向けて
変数の初期値を入れる作業をしますね
2021/02/11(木) 09:55:24.00ID:fpayl2mg0
dartってtypeからインスタンス生成できないのな。
動的型付け言語だからか?
117デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/11(木) 10:28:07.74ID:QNzWdO780
>>108
お前ってさー質問しておいてその態度はなに?
人として即死しろよ。
118デフォルトの名無しさん (ワッチョイ 3761-XJ0Q)
垢版 |
2021/02/11(木) 10:42:29.79ID:4v/gNN1w0
>>116
むしろ、それができていいことあるの?
Javaや.NETなら、たとえばJSONを扱うときにそのパターンを使わざるを得ないけど、ただただめんどくさい。
119デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/11(木) 10:49:59.34ID:QNzWdO780
JSONの内側にある配列はList作ってやらなきゃならないのが地味にめんどくさい、Swiftよりは楽だけど。
NULL安全で同じくらいめんどくさくなるのか・・
2021/02/11(木) 10:54:11.92ID:fpayl2mg0
>>118
>>55をswitch使わず配列でやろうとしたらtypeからインスタンス生成する方法しか思い浮かばなかった。
121デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/11(木) 11:37:13.59ID:QNzWdO780
低予算で済ませたいならifiのポタアンhip-dacとかおすすめ。HD660SでもHD800Sでもバランス接続問題ない。
音質もそこそこ。
122デフォルトの名無しさん (ワッチョイ d701-kh8G)
垢版 |
2021/02/11(木) 11:37:28.26ID:QNzWdO780
間違えた
2021/02/11(木) 19:11:39.05ID:M8I5FK680
>>116
dartにmirrorsパッケージあるやろ
これじゃね
2021/02/14(日) 19:37:19.38ID:eIu+AeRF0
providerに比べてriverpod使いにくいね
データを複数持てないんだもん
1データ1グローバル変数みたいなの気持ち悪い
2021/02/14(日) 19:37:54.22ID:yNj7QpIpM
両方💩
126デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/14(日) 19:43:22.27ID:5FBJEFx+0
providerは使いやすい
127デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/14(日) 19:45:55.66ID:5FBJEFx+0
もう代替が利くなら新しいテクノロジー要らね
覚えるのマンドクセー
128デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/14(日) 19:47:28.47ID:5FBJEFx+0
演算子あるからNULL不安でいい
129デフォルトの名無しさん (スフッ Sd32-pNX2)
垢版 |
2021/02/14(日) 20:01:45.63ID:sMx+r2kQd
つかバカでもわかるドキュメントとバカでも動かせるサンプルコードをお願いします。
flutterチームでも他の偉い人でもいいんでお願いします。
あとパッケージのバージョンがどうたらとかでエラー出てよくわからないんで、そういうのもやめて頂きたいんです。
providerに限らず。
130デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/14(日) 20:20:21.63ID:5FBJEFx+0
>>129
YouTubeに五万とあるがな
2021/02/15(月) 21:53:49.53ID:61gN9eaK0
>>124
ようやくproviderを理解してきた初心者にはありがたい意見
プログラミング歴長い人に聞きたいんだけど
新しい、古いと
自分に合う、会わない
どちらが優先されるの?
2021/02/15(月) 23:11:20.91ID:flUyaby60
自分を信じろよ
2021/02/15(月) 23:23:32.71ID:GekQdAOm0
お前を信じる俺を信じろ
134デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/16(火) 06:45:18.70ID:Ifq3nGPn0
ま、最後はアセンブラ分からなきゃ話にならない。
どんなに着飾っても所詮ホモサピエンス。
苦労した学習に無駄はない、そのシナプス形成は次に活きる。
providerはDIの仕組みのひとつ、某サイトだとUIに特化してるとあるがそれは誤り。
135デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/16(火) 06:48:48.18ID:Ifq3nGPn0
provider←DI
notifyListeners←UIと言うよりステートマシン寄り
2021/02/16(火) 09:49:26.09ID:+4BwVqDgM
すごい老害感
2021/02/17(水) 09:41:15.61ID:KcyUbCxs0
凄く初歩的な質問で申し訳ないけれど、フラッターダウンロードしてパスの設定やったけど、コマンドプロンプトから実行するとエラーがでる。
2021/02/17(水) 11:26:20.68ID:9PoXbZeZ0
質問してないじゃん
エラーが出る場合はそのエラー文でググればいい
それでも分からなければここにエラー全文貼って、OS等の環境書いたり、どこからどうやってダウンロードしたか、パスの設定はどうやってどうなってるか、コマンドプロンプトにどんなコマンド打ってどうダメなのか、何が聞きたいのか等書かないと何も分からん
まあ俺はそれが書かれても答えられないけど
139デフォルトの名無しさん (ワッチョイ a701-FwnR)
垢版 |
2021/02/17(水) 12:07:43.05ID:gDTi73q00
>>137
初歩的という以前に、質問の仕方覚えた方がいいな。

とりあえず、OS環境がWindowsだと仮定して、「flutter」フォルダの直下に「flutter_console.bat」
ってバッチファイルがあるから、それをダブルクリックすれば、パスの設定してなくても
Flutterが動くコンソールが開く。

その状態で「flutter doctor -v」ってやれば、環境をチェックしてくれる。
「×」印が付いてなければOK。

現行の「stable」版は、Windowsアプリ開発は無効化されているので、Windows
環境で開発できるのは、Web(ブラウザ)版か、Android版のアプリになる。
(iOS開発用のXCodeはMacOSのみ対応のため)

Web版の実行には、Chromeか、ChromiumベースのMicrosoft Edgeが必要。
Android版のアプリを開発するには、別途Android Studioのインストールが必要。
Java開発環境(JDK)は、Android Studioの中にOpenJDK8が入ってるので、入って
なければ、インストール先を聞いてくる。
2021/02/17(水) 12:58:01.49ID:R1iRbaRs0
>>137
OSは?
2021/02/17(水) 20:07:05.86ID:d4WcQVN70
flutterを勉強し始めて、httpのリクエストを出して返ってきた
htmlの中身を見て処理するということをやりたくて調べて見つけたサンプル。
そのものズバリなんだけど、なかなか動作確認して処理を追ったりしにくいなぁ。

【Flutter】自給自足!Pornhubの検索アプリを作ってみた!【R18】
https://elekibear.com/20201218_01
2021/02/17(水) 22:26:36.26ID:26ePY2Fq0
Navigator 2.0やっぱりハードル高いよな
それを使いやすくしたパッケージがいくつか登場して利用者もいるから敷居高いってことだよな
2021/02/17(水) 22:55:30.57ID:tIUVKAx9M
使いづらいゴミの量産しかしないからな
144デフォルトの名無しさん (ワッチョイ df01-5+RR)
垢版 |
2021/02/17(水) 23:03:16.29ID:wd6zNsAe0
>>142
ん?難しい?おれは定型Routeが分かりやすくなっていいと思ったけど。画面全体を覆うプログレスダイアログとかはpush/popのままだし。
2021/02/17(水) 23:36:21.49ID:gjncEnw20
>>141
勝手にスクレイピングしたら、営業妨害で訴えられるかも

5ch とか、普通そういうツールは、契約して、API を使う。
robots.txt も調べてみれば?
146デフォルトの名無しさん (ワッチョイ a701-FwnR)
垢版 |
2021/02/18(木) 09:45:54.71ID:TAAV/2v40
>>145
robots.txt に法的な拘束力なんてないよ?
2021/02/19(金) 19:18:43.84ID:rtfmhn+o0
>>131
作者一緒でオワコン化するの見えてるし、初心者なら最初からriverpodにしといた方が無難だった気がする…
2021/02/19(金) 19:59:33.73ID:iEDxb0R+0
getxっていうのがやけにLIKE多いのが気になってる
149デフォルトの名無しさん (ワッチョイ a301-GD1z)
垢版 |
2021/02/20(土) 16:24:38.90ID:Mzr1Xumx0
実際のアプリだとstate制御がもっと複雑だから結局providerのほうが使い勝手が良さそう。
150デフォルトの名無しさん (ワッチョイ a301-GD1z)
垢版 |
2021/02/20(土) 16:33:58.56ID:Mzr1Xumx0
↑アプリの場合は、と付け足しておこう。
なぜならflutterのステートマシンで状態表示かけながら動いてるケースがほとんどだから。(inhritedModelで)
2021/02/20(土) 17:29:59.41ID:NEL5tWtRM
prividerこそ💩
152デフォルトの名無しさん (ワッチョイ a301-GD1z)
垢版 |
2021/02/20(土) 18:39:45.90ID:Mzr1Xumx0
providerめちゃくちゃ便利だけどなw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況