簡體   English   中英

從網站加載文件作為 dart 文件並導入我的 flutter 視圖

[英]Load file from website as dart file and import into my flutter view

我想在我的 Flutter 應用程序中創建一個報價單,我將其保存在服務器上並在每次啟動該應用程序時更新。 到目前為止,我都是離線完成的,所以文件是 static,無法進行任何更改。 我怎么可能將此文件加載到應用程序中,然后將其導入到我的 Flutter 視圖中?

    class NewsListData {
  NewsListData({
    this.imagePath = '',
    this.titleTxt = '',
    this.subTxt = "",
    this.dist = 1.8,
    this.anmeldeschluss = '',
    this.rating = 4.5,
    this.kursgebuehr = 180,
    this.id1 = true,
    this.id2 = true,
    this.id3 = true,
  });

  String imagePath;
  String titleTxt;
  String subTxt;
  double dist;
  double rating;
  String anmeldeschluss;
  int kursgebuehr;
  bool id1;
  bool id2;
  bool id3;
  List id;

  void run() {
    List id = null;
    id = NewsList.where((item) => item.id3).toList();
    print(List);
  }

  static List<NewsListData> NewsList = <NewsListData>[
    NewsListData(
      imagePath: 'assets/kurse/cmas/cmas1.png',
      titleTxt: 'CMAS*',
      subTxt: 'Inkl. Lehrmaterial',
      anmeldeschluss: '01.März 2020',
      kursgebuehr: 95,
      id1: false,
      id2: false,
      id3: true,
    ),
    NewsListData(
      imagePath: 'assets/kurse/cmas/cmas2.png',
      titleTxt: 'CMAS**',
      subTxt: 'Inkl. Lehrmaterial',
      anmeldeschluss: '01.März 2020',
      kursgebuehr: 115,
      id1: false,
      id2: false,
      id3: true,
    ),
    NewsListData(
      imagePath: 'assets/kurse/cmas/cmas3.png',
      titleTxt: 'CMAS***',
      subTxt: 'Inkl. Lehrmaterial',
      anmeldeschluss: '01.März 2020',
      kursgebuehr: 115,
      id1: false,
      id2: false,
      id3: true,
    ),
  ];
}
  1. 根據您預期的 HTTP 響應創建一個 Dart class(稍后稱為QuoteClass )。 要自動創建它們,您可以使用此網站

  2. 創建一個可以執行 HTTP 請求的 HTTP 服務(例如使用像Dio這樣的 HTTP package)

  3. 在 controller 中,(可能)向您的服務器發出 GET 請求(通過在步驟 2 中創建的 HTTP 服務。這將導致 JSON String

現在您需要將String轉換為您的 Dart Class。您可以執行以下操作:

String jsonResponse = await httpService.get('https://www.my-website.com/quotes');
Map<String, dynamic> exampleObject = json.decode(jsonResponse);
QuoteClass myQuotes = QuoteClass.fromJson(exampleObject);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM