yunxin_alog 2.0.1 copy "yunxin_alog: ^2.0.1" to clipboard
yunxin_alog: ^2.0.1 copied to clipboard

Yun Xin Alog for flutter.

example/lib/main.dart

import 'dart:async';
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:yunxin_alog/yunxin_alog.dart';
import 'package:path_provider/path_provider.dart';

void main() {
  runApp(
    MaterialApp(
      title: 'Reading and Writing Files',
      home: FlutterDemo(storage: CounterStorage()),
    ),
  );
}

class CounterStorage {
  Future<String> get _localPath async {
    final directory = await getApplicationDocumentsDirectory();

    return directory.path;
  }

  Future<File> get _localFile async {
    final path = await _localPath;
    return File('$path/counter.txt');
  }

  Future<int> readCounter() async {
    try {
      final file = await _localFile;

      // Read the file
      String contents = await file.readAsString();

      return int.parse(contents);
    } catch (e) {
      // If encountering an error, return 0
      return 0;
    }
  }

  Future<File> writeCounter(int counter) async {
    final file = await _localFile;

    // Write the file
    return file.writeAsString('$counter');
  }
}

class FlutterDemo extends StatefulWidget {
  final CounterStorage storage;

 const  FlutterDemo({required this.storage});

  @override
  _FlutterDemoState createState() => _FlutterDemoState();
}

class _FlutterDemoState extends State<FlutterDemo> {
  int _counter = 0;

  @override
  void initState() {
    super.initState();
    widget.storage._localPath.then((value) => print(
        'init---: $value,${Alog.init(ALogLevel.verbose, value, 'flog_roomkit')}'));
    widget.storage.readCounter().then((int value) {
      setState(() {
        _counter = value;
      });
    });
  }

  Future<void> _incrementCounter() async {
    setState(() {
      _counter++;
    });
    var startTime = currentTimeMillis();
    print('start time: $startTime');
    for (var i = 0; i < 100*100; i++) {
      Alog.v(tag: '111', content: '_counter$_counter');
      Alog.d(tag: '222', content: '_counter$_counter');
    }
    var pt = currentTimeMillis() - startTime;
    print('use time: $pt');
    // Write the variable as a string to the file.
    // return widget.storage.writeCounter(_counter);
  }
  static int currentTimeMillis() {
    return new DateTime.now().millisecondsSinceEpoch;
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Reading and Writing Files')),
      body: Center(
        child: Text(
          'Button tapped $_counter time${_counter == 1 ? '' : 's'}.',
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}
2
likes
130
points
3k
downloads

Publisher

verified publisheryunxin.163.com

Weekly Downloads

Yun Xin Alog for flutter.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

alog_macos, alog_windows, ffi, flutter

More

Packages that depend on yunxin_alog