cloud_sync_shared_preferences_adapter 0.0.1-rc.2 copy "cloud_sync_shared_preferences_adapter: ^0.0.1-rc.2" to clipboard
cloud_sync_shared_preferences_adapter: ^0.0.1-rc.2 copied to clipboard

A Flutter plugin for integrating Shared Preferences sync functionality.

CloudSyncSharedPreferencesAdapter #

A local implementation of the SyncAdapter interface from the cloud_sync package, using SharedPreferences for simple key-value storage.

This adapter allows apps to persist note metadata and content directly on the device β€” perfect for quick sync flows, offline caching, or prototyping.


✨ Features #

  • πŸ“ Stores note metadata (SyncMetadata) and content (String) in SharedPreferences.
  • ⚑ Quick and lightweight β€” no setup or database needed.
  • πŸ§ͺ Great for prototyping, fallback storage, or minimal local sync solutions.

πŸ“¦ Installation #

Add the required dependencies to your pubspec.yaml:

dependencies:
  shared_preferences: ^latest
  cloud_sync: ^latest
  cloud_sync_shared_preferences_adapter: ^latest

πŸš€ Usage #

import 'package:shared_preferences/shared_preferences.dart';
import 'package:cloud_sync_shared_preferences_adapter/cloud_sync_shared_preferences_adapter.dart';
import 'your_models/sync_metadata.dart'; // Your custom SyncMetadata

void main() async {
  final prefs = await SharedPreferences.getInstance();

  final adapter = CloudSyncSharedPreferencesAdapter<MyMetadata>(
    preferences: prefs,
    metadataToJson: (meta) => jsonEncode(meta.toJson()),
    metadataFromJson: (json) => MyMetadata.fromJson(jsonDecode(json)),
  );

  // Use the adapter with your CloudSync logic
}

πŸ“ Class Overview #

class CloudSyncSharedPreferencesAdapter<M extends SyncMetadata>
  extends SerializableSyncAdapter<M, String>

Constructor parameters #

  • preferences: An instance of SharedPreferences.
  • metadataToJson: Function to serialize metadata to String.
  • metadataFromJson: Function to deserialize metadata from String.
  • prefix: Optional key prefix for namespacing (default: "$CloudSyncSharedPreferencesAdapter").

βœ… When to Use #

  • πŸ§ͺ Prototype sync flows or quick demos.
  • πŸ—‚ Store small amounts of structured content locally.
  • πŸ“΄ Enable basic offline persistence.
  • πŸ”™ Fallback adapter alongside a cloud-based adapter (e.g., Google Drive).

⚠️ Limitations #

  • Not suitable for large or binary data – use Hive or File-based adapters instead.
  • SharedPreferences may have storage limits depending on platform.

πŸ“„ License #

MIT (or your project’s license).


0
likes
0
points
89
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for integrating Shared Preferences sync functionality.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

cloud_sync, flutter, shared_preferences

More

Packages that depend on cloud_sync_shared_preferences_adapter