複数のウィジェット/状態から呼び出された一般的なクラス/機能 -- flutter フィールド と dart フィールド 関連 問題

Common class/function called from multiple Widget/State












1
vote

問題

日本語

私はいくつかのウィジェットまたは状態クラスから使用される機能を持っています。

例えばこのように、デバイスに格納されている共通パラメータをチェックします。

複数のページまたはウィジェットクラスからこの機能を使用したい。

これにベストプラクティスは何ですか?

<事前> <コード> Future<bool> _getCommonParam() async{ SharedPreferences prefs = await SharedPreferences.getInstance(); if (prefs.getBool('param') == null){ return true; } else { return (prefs.getBool('param')); } }
英語

I have a function which is used from a few widget or State class.

For example like this, It checks the common parameters which are stored in device.

I want to use this function from multiple pages or widget class.

What is the best practice for this??

  Future<bool> _getCommonParam() async{     SharedPreferences prefs = await SharedPreferences.getInstance();     if (prefs.getBool('param') == null){       return true;     }     else {       return (prefs.getBool('param'));     }   } 
</div
     
 
 

回答リスト

1
 
vote
vote
ベストアンサー
 

そのように、別のクラスでそれを宣言することができます。

<事前> <コード> import 'package:shared_preferences/shared_preferences.dart'; class AppPrefs { static Future<bool> getCommonParam() async { var prefs = await SharedPreferences.getInstance(); return prefs.getBool('param') ?? true; } }

クラスをインポートする限り、 AppPrefs.getCommonParam() をどこからでも呼び出すことができます。

注:?左の式がNULLの場合、演算子は正しい式を返します。

 

You could declare it in a separate class, as such :

import 'package:shared_preferences/shared_preferences.dart';  class AppPrefs {   static Future<bool> getCommonParam() async {     var prefs = await SharedPreferences.getInstance();     return prefs.getBool('param') ?? true;   }  } 

You can then call AppPrefs.getCommonParam() from anywhere as long as you import the class.

Note : The ?? operator returns the right expression if the left expression is null.

</div
 
 
1
 
vote

特定の名前と機能を持つクラスを作成し、関連クラスやウィジェットにメソッドを実装します

以下の例

の名前のクラスを作成しました <事前> <コード> class AppTheme { static final primaryFontFaimly = "CerbriSans"; static Color mainThemeColor() { return HexColor("#e62129"); } static TextStyle tabTextStyle() { return TextStyle( fontFamily: AppTheme.primaryFontFaimly, fontSize: 14, fontWeight: FontWeight.normal, color: AppTheme.mainThemeColor() ); } }

とこのクラスはこの

のように他のクラスで使用します <事前> <コード> Text( "Example", style: AppTheme.tabTextStyle(), ),

このクラス

に関連するライブラリをインポートするだけです。

注:この例は理想的な目的のためだけ/アイデアのみ

 

Create Class with specific name and function and implement methods to related classes or widgets

like below example

I created a class with the name of

class AppTheme {       static final primaryFontFaimly = "CerbriSans";        static Color mainThemeColor() {         return HexColor("#e62129");       }        static TextStyle tabTextStyle() {       return TextStyle(         fontFamily: AppTheme.primaryFontFaimly,         fontSize: 14,         fontWeight: FontWeight.normal,         color: AppTheme.mainThemeColor()       );      }     } 

and this class I will use in Another class like this

                  Text(                         "Example",                         style: AppTheme.tabTextStyle(),                       ), 

you have to just import library to related this class

Note: This example only for the ideal purpose/only for idea

</div
 
 
 
 

関連する質問

1  DART Gmail API 'Send'メソッドQualtiaPireQueStrorを返します  ( Dart gmail api send method returning detailedapirequesterror ) 
私は再構築 flutter の私の個人的なウェブサイトで、フォームが記入された後に電子メールを送る必要があります。 gmail API Dart Library を使って電子メールを送信しようとしています。 エラー:aimplyapireQuesterro...

2  angular.dartとrootコントローラ/コンポーネント  ( Angular dart and the root controller component ) 
Angular.DARTプログラムを持っており、メインプログラムに角度機能を追加したい(任意のコンポーネントの外部)。私はこれを達成する方法について読んで、これを達成するために.rootContextTypeプロパティを使用する必要があるようです。 これは...

0  DART / FlutterプロジェクトにJSONエンコードされたデータを保存する最善の方法は何ですか?  ( Whats the best way to store the json encoded data in dart flutter project ) 
私はAPI経由で渡された大量のデータを考えていました。今まで私は以下のように物事をやっていました。私が直面している問題は、特定のレコードが以下の与えられた例のように最大7つのサブレコードを持つことができることです。これを扱う方法? 下記のデータのモデルを作成...

6  httpserverに複数のハンドラを登録するには、DARTで、httpserverのハンドラを登録しますか?  ( How do i register multiple handlers for a httpserver in dart ) 
(私はDart:IOの新しいlib v2バージョンを使用しています。) HTTPServer、特にWebSocketTransformerおよび他の任意のハンドラに複数のハンドラを登録したいです。このようなもの: <コード> // pseudo-code ...

1  DARTのReflectionを使用して、クラスミラーからのゲッターや属性を取得しますか?  ( Obtain getters and or attributes from classmirror using reflection in dart ) 
以前のバージョンのDartはを使ってゲッターを取得できました <コード> cm.getters.values この回答で掲示されているように: https://stackoverflow.com/a/a/14505025/2117440 しかし実際の...

2  DARTのネームスペース内の要素を作成します  ( Creating an element in a namespace in dart ) 
DARTの特定のネームスペース内の要素を作成しようとしています。これはそれをするための最良の方法です: <事前> <コード> document.$dom_createElementNS(namespace, tag); ドキュメントここ 追加の関数名の$...

0  Flutter&Provider:StreamProviderを2つの異なる値に聴くことができますか?  ( Flutter provider how do i make my streamprovider listen to two different val ) 
次のコードがあるとしましょう。以下のコードは、 AuthService().user の1つの値を聴くだけです。プロバイダを別の値に聴くのはどうですか?その値を呼び出しましょう。 isVoted 。 <事前> <コード> Widget build(BuildC...

0  Dart:他のブロックでBlocイベントを正しく発送する方法  ( Dart how to properly dispatch bloc event in another bloc ) 
LoginBlocで認証ブロックにアクセスする必要があるので、ログインが成功した場合はauthenticationLogin()イベントを起動できます。私がこれまでにしたことは機能していません。 私がやったこと: <事前> <コード> class Login...

1  リストオンリスト<Dynamic>コンパレータのINTの代わりに動的に取得  ( Sort on listdynamic gets dynamic instead of int in comparator ) 
私はフラッターが新しいもので、リストを並べ替えることができないようです href="https://i.stack.imgur.com/ptwcz.png" rel="nofollow noreferrer"> 画像からのコード: <事前> <コード> ...

1  Webコンポーネントのメソッドを呼び出してイベントに応答する  ( Call a method of a web component and respond to events ) 
私はいくつかのアニメーションを持つweb_uiパッケージを持つカスタム要素を作成したDARTプロジェクトに取り組んでいます。私がしたいことは、このような要素のためのダーツコードの中にあることです.... <コード> class MyElement exte...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有