leancloud_flutter_plugin 0.0.5

  • Readme
  • Changelog
  • Example
  • Installing
  • 64

LeanCloud flutter plugin #

Bless Package version Build Status

Leancloud flutter plugin by Luna Gao

Dark packages

Description #

This plugin depends on Leancloud Native(iOS / Android) SDK. It's just convert the code from dart to those native language(Objective-C / Java).

Getting Started #

Install #

  • Add this to your package's pubspec.yaml file:
  leancloud_flutter_plugin: ^0.0.5
  • Install packages from the command line:
flutter packages get
  • Import it
import 'package:leancloud_flutter_plugin/leancloud_flutter_plugin.dart';

How to use #

Before your runApp function, initialize the leancloud. Such as the example app does.


  • initialize plugin
  • setup log level (Optional, default value is OFF)
  • setup region (Optional, default value is NorthChina)
  • initialize leancloud
  • save object or you can do whet ever you want :)

Initialize plugin #

Plugin is Singleton mode. Please NOT initialize it by yourself.

Import: import 'package:leancloud_flutter_plugin/leancloud_flutter_plugin.dart';

LeancloudFlutterPlugin leancloudFlutterPlugin = LeancloudFlutterPlugin.getInstance();

Log Level (Optional)

Setup log level must be earlier than initialize leancloud function.


Region (Optional)

Setup region must be earlier than initialize leancloud function.


Initialize Leancloud #

leancloudFlutterPlugin.initialize(appId, appKey);

Create and update an Object #

Import: import 'package:leancloud_flutter_plugin/leancloud_object.dart';

// Create
AVObject object = new AVObject("YOUR_OBJECT");
object.put("FIELD_NAME", "VALUE"); // String
object.put("OR_INT", 10); // int
object.put("OR_BOOLEAN", true); // boolean
object.put("OR_FLOAT", 10.01); // float
object.save().then((object) {
  // Saved
  // and Update
  object.put("description", "updated!");
  object.save().then((object) {
    // Updated

If your update your object, {"code":403,"error":"Forbidden writing by object's ACL."} happened, then please check leancloud data's ACL field.

Delete an Object #

// object is an AVObject
object.delete().then((isDeleted) {
  // Deleted
  if (isDeleted) {
    object = null; // you should set ref to null manually if you don't using this object

Query an Object #

Import: import 'package:leancloud_flutter_plugin/leancloud_query.dart';

// query by object_id
AVQuery avQuery = new AVQuery("DemoObject");
avQuery.get("OBJECT_ID").then((object) {

// query objects
AVQuery avQuery = new AVQuery("DemoObject");
avQuery.whereEqualTo("KEY", "VALUE"); // string value
avQuery.whereNotEqualTo("KEY", 10); // int value
avQuery.whereGreaterThan("KEY", true); // bool value
avQuery.whereGreaterThanOrEqualTo("KEY", "VALUE");
avQuery.whereLessThan("KEY", "VALUE");
avQuery.whereLessThanOrEqualTo("KEY", "VALUE");
avQuery.find().then((objects) {
  print("All Objects Queryed!");

Example App #

Example App README.md

Publish Plugin #

flutter format .
flutter pub pub publish --dry-run
flutter pub pub publish

0.0.5 #

  • add
    • cql query
    • domain function
    • return error code when throw leancloud error

0.0.4 #

0.0.3 #

  • add query function
    • orderByAscending
    • orderByDescending
    • addAscendingOrder
    • addDescendingOrder
    • limit
    • skip
  • Fixed query object by objectId on Android

0.0.2 #

  • fixed android package error.

0.0.1 #

  • Init leancloud plugin
  • Setup Log Level
  • Setup Region
  • Create object
  • Update object
  • Query object by objectId(iOS only)
  • Query objects


Example App for LeanCloud flutter plugin #

Getting Started #

Setup Leancloud Data #

  • Create an Class named DemoObject
  • Set ACL to unlimited (无限制). (This is important because if the Class is limited, we can't update or delete any object. It's not a bug, it's leancloud design for security.)

Setup AppID and AppKey #

"Oh, I don't have an appId or an appKey." Please click here

  • open example/lib/main.dart file.
  • replace YOUR_APP_ID to your appId.
  • replace YOUR_APP_KEY to your appKey.

Android #

According Flutter document

  • Run flutter build command
cd example
flutter build apk
  • Launch Android Studio.
  • Select Import project in Welcome to Android Studio dialog, or select File > New > Import Project… in the menu, and select the example/android/build.gradle file.
  • In the Gradle Sync dialog, select OK.
  • In the Android Gradle Plugin Update dialog, select Don’t remind me again for this project.
  • Run this example app from Android Studio by pressing the ▶ button.

iOS #

According Flutter document

  • Run flutter build command.
cd example
flutter build ios --no-codesign
  • Launch Xcode.
  • Select File > Open, and select the example/ios/Runner.xcworkspace file.
  • Run this example app by pressing the ▶ button.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  leancloud_flutter_plugin: ^0.0.5

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:leancloud_flutter_plugin/leancloud_flutter_plugin.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Jan 16, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.0
  • pana: 0.13.4
  • Flutter: 1.12.13+hotfix.5

Maintenance suggestions

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.68.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
test ^1.5.1