原文地址:backendless.com/how-to-use-…
原文作者:backendless.com/author/maks…
釋出時間:2019年10月3日
我們很高興地向大家介紹Backendless Flutter SDK的新版本v0.2.0,它增加了對自定義類的支援。在本文中,我們將演示如何開始使用它。
要開始,開啟你的Flutter專案或建立一個新的專案,並將Backendless Flutter外掛新增到其中。你可以在這裡找到關於如何開始使用Backendless Flutter SDK的詳細說明。
設定Flutter SDK
Backendless Flutter SDK使用一個reflectable的外掛來處理自定義類。在使用自定義類之前,我們需要完成以下步驟。
- 在pubspec.yaml檔案中,將build_runner依賴關係新增到你的dev依賴關係中。
dev_dependencies:
build_runner: ^1.0.0
複製程式碼
接下來,在你的main.dart
檔案中,為生成的程式碼新增一個import,並在你的main方法中呼叫initializeReflectable()
方法。可能會出現一個錯誤,說明匯入不存在。不要擔心,我們將在下一步解決它。
import 'package:backendless_sdk/backendless_sdk.dart'。
import 'main.reflectable.dart'; // 匯入生成的程式碼。
main() {
initializeReflectable(); // 設定反射支援。
runApp(MyApp());
}
複製程式碼
- 開啟終端,執行以下命令。
flutter packages pub run build_runner build
複製程式碼
這將生成所有必要的程式碼並解決匯入錯誤。
建立自定義類
現在讓我們宣告自定義類,建立該類的物件,並將其儲存在Backendless資料庫中。對儲存在Backendless資料庫中的物件的類有幾個要求。
- 這個類應該用
@reflector
註解。不要忘記在你的類中新增以下匯入。
import 'package:backendless_sdk/backendless_sdk.dart';
複製程式碼
- 該類必須包含預設的、公共的、無引數的建構函式。
- 該類必須包含公共欄位,其名稱必須與資料庫中的列名相匹配。
- 可選要求--Backendless會自動為每個持久化的物件分配一個唯一的ID。如果應用程式需要訪問分配的ID,該類必須宣告以下欄位。
String objectId;
複製程式碼
- 可選要求--除了objectId,Backendless還為每個持久化物件維護另外兩個屬性--建立和更新。前者包含了物件最初在Backendless資料庫中被建立的時間戳。後者在物件每次更新時都會更新。要訪問這些值,該類必須宣告以下欄位。
DateTime created;
DateTime updated。
複製程式碼
下面是一個示例 "Person "類。
import 'package:backendless_sdk/backendless_sdk.dart';
@reflector // 這個註解可以對Person進行反思。
Class Person {
字串名稱。
int age;
// 我們不必在這裡建立無引數的建構函式,因為如果我們不指定建構函式的話。
// 預設的無引數建構函式將被建立。
}
複製程式碼
如果你想在main.dart
檔案中使用 "Person "類,請為這個類新增一個匯入。
import 'person.dart';
複製程式碼
然後在終端再次執行以下命令:
flutter packages pub run build_runner build
複製程式碼
每次匯入一個新的自定義類或對現有的自定義類進行修改時,請記住執行這個命令!它將為新的修改更新生成的程式碼。它將為新的變化更新生成的程式碼。
在你建立了自定義類之後,為它新增一個匯入並執行這個命令。你可以使用Backendless.data.withClass()方法通過自定義類與你的Backendless資料庫一起工作。
下面的程式碼在 "Person "表中儲存了一個具有 "name "和 "age "屬性的物件:
Person person = Person()
..name = "Joe"
..age = 25;
Backendless.data.withClass<Person>().save(person).then((savedPerson) {
print("The object has been saved to the database");
});
複製程式碼
以上就是全部內容了! 感謝您的閱讀,祝您與Backendless一起快樂編碼!
通過www.DeepL.com/Translator(免費版)翻譯