message_segment_calculator
Berechnen Sie SMS-Segmente effizient für Nachrichten mit Unterstützung für GSM- und UCS-2-Codierung. Ideal für Apps, die eine präzise SMS-Länge und Kostenverwaltung erfordern.
Der SMS-Segment-Rechner ist ein Dart-Paket, das Entwicklern hilft, die Anzahl der für Nachrichten erforderlichen SMS-Segmente genau zu berechnen.
^1.4.0^1.26.2^3.0.0Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
The SMS Segment Calculator is a Dart package designed to help developers accurately calculate the number of SMS segments required for messages. It supports both GSM-7 and UCS-2 encoding standards, providing a robust solution for applications that involve SMS messaging. The package ensures cost-effective messaging by optimizing message segmentation and encoding.
To integrate the SMS Segment Calculator into your Dart or Flutter project, add the following dependency to your pubspec.yaml file:
dependencies:
message_segment_calculator: ^1.1.0
## Usage
import 'package:flutter/material.dart';
import 'package:message_segment_calculator/src/segmented_message.dart';
void main() {
runApp(const App());
}
/// The root widget of the application.
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: MessageSegmentCalculatorWidget(),
);
}
}
/// A stateful widget that provides a UI for calculating message segments.
class MessageSegmentCalculatorWidget extends StatefulWidget {
const MessageSegmentCalculatorWidget({super.key});
@override
State<MessageSegmentCalculatorWidget> createState() =>
_MessageSegmentCalculatorWidgetState();
}
/// The state class for [MessageSegmentCalculatorWidget].
class _MessageSegmentCalculatorWidgetState
extends State<MessageSegmentCalculatorWidget> {
final textEditingController = TextEditingController();
SegmentedMessage? segmentedMessage;
@override
void dispose() {
textEditingController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Message Segment Calculator'),
),
body: Padding(
padding: const EdgeInsets.all(10),
child: Column(
children: [
const Text('Enter text'),
const SizedBox(height: 10),
TextFormField(
decoration: const InputDecoration(),
controller: textEditingController,
onChanged: (value) {
setState(() {
segmentedMessage = SegmentedMessage(value);
});
},
),
const SizedBox(height: 10),
Text('Number of characters: ${segmentedMessage?.numberOfCharacters}'),
Text('Number of segments: ${segmentedMessage?.segmentsCount}'),
Text('Number of Unicode scalars: ${segmentedMessage?.numberOfUnicodeScalars}'),
Text('Message size in bits: ${segmentedMessage?.messageSize}'),
Text('Total size in bits: ${segmentedMessage?.totalSize}'),
],
),
),
);
}
}
### Key Additions:
- **Detailed Descriptions**: Each class is explained to clarify its role in the package.
- **Usage Example**: Shows a practical example to help developers quickly understand how to use the package.
- **Installation Instructions**: Guides users on how to add the package to their project.
- **Contribution Guidelines**: Encourages contributions and provides a link to the issues page.
This README provides a comprehensive overview, making it easier for users to understand and use the package effectively.