leancloud_flutter_plugin 0.0.5

  • Readme
  • Changelog
  • Example
  • Installing
  • 62

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:
dependencies:
  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.

Steps:

  • 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.

leancloudFlutterPlugin.setLogLevel(LeancloudLoggerLevel.DEBUG);

Region (Optional)

Setup region must be earlier than initialize leancloud function.

leancloudFlutterPlugin.setRegion(LeancloudCloudRegion.NorthChina);

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
  print(object);
  
  // and Update
  object.put("description", "updated!");
  object.save().then((object) {
    // Updated
    print(object);
  });
});

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
    print("Deleted!");
  }
});

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) {
  print("Queryed!");
});

// 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 #

cd PROJECT_PATH
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/lib/main.dart

import 'package:flutter/material.dart';

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

void main() {
  initPlatformState();
  runApp(MyApp());
}

void initPlatformState() {
  LeancloudFlutterPlugin leancloudFlutterPlugin =
      LeancloudFlutterPlugin.getInstance();
  String appId = "EnJt7BXlJ2Oc3nvk23lN39jN-gzGzoHsz";
  String appKey = "Iao5JCNRyH99m9B24G2RLQc8";
  leancloudFlutterPlugin.setLogLevel(LeancloudLoggerLevel.DEBUG);
  leancloudFlutterPlugin.setRegion(LeancloudCloudRegion.NorthChina);
  leancloudFlutterPlugin.setServer(
      LeancloudOSService.API, "https://api.maomishen.com");
  leancloudFlutterPlugin.initialize(appId, appKey);
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Leancloud Plugin example app',
      home: ListScreen(),
    );
  }
}

Use this package as a library

1. Depend on it

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


dependencies:
  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';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
28
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
62
Learn more about scoring.

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

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

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.

Dependencies

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
flutter_test
test ^1.5.1