sync_offline 0.0.1 copy "sync_offline: ^0.0.1" to clipboard
sync_offline: ^0.0.1 copied to clipboard

Flutter package for offline data synchronization

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:sync_offline/sync_offline.dart';
import 'package:sync_offline_example/screens/second_screen.dart';
import 'package:sync_offline_example/service/api_service.dart';
import 'package:sync_offline_example/service/db_service.dart';

void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Form Submission Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: DetailsPage(),
    );
  }
}

class DetailsPage extends StatefulWidget {
  @override
  _DetailsPageState createState() => _DetailsPageState();
}

class _DetailsPageState extends State<DetailsPage> {
  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
  final TextEditingController _nameController = TextEditingController();
  final TextEditingController _emailController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Details Page'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Form(
          key: _formKey,
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              TextFormField(
                controller: _nameController,
                decoration: InputDecoration(labelText: 'Name'),
                validator: (value) {
                  if (value == null || value.isEmpty) {
                    return 'Please enter your name';
                  }
                  return null;
                },
              ),
              TextFormField(
                controller: _emailController,
                decoration: InputDecoration(labelText: 'Email'),
                validator: (value) {
                  if (value == null || value.isEmpty) {
                    return 'Please enter your email';
                  }
                  return null;
                },
              ),
              SizedBox(height: 16.0),
              ElevatedButton(
                onPressed: () {
                  if (_formKey.currentState!.validate()) {
                    handleSubmitLogic(
                      context: context,
                      controllers: {
                        'name': _nameController,
                        'email': _emailController,
                      },
                      successSnackBar: SnackBar(
                        content: Text('Form submitted successfully'),
                      ),
                      isPostingOnline: ValueNotifier(false),
                      dbHelper: DBHelper(),
                      apiService: ApiService(),
                      destinationScreen:
                          const SecondScreen(), // Specify your custom data screen here
                    );
                  }
                },
                child: Text('Submit'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
3
likes
120
points
26
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter package for offline data synchronization

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

connectivity, flutter, flutter_web_plugins, http, path_provider, plugin_platform_interface, sqflite

More

Packages that depend on sync_offline