Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- import 'package:path_provider/path_provider.dart';
- import 'dart:io';
- void main() {
- runApp(MyApp());
- }
- class MyApp extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'String Input and Save',
- theme: ThemeData(
- primarySwatch: Colors.blue,
- ),
- home: MyHomePage(),
- );
- }
- }
- class MyHomePage extends StatefulWidget {
- @override
- _MyHomePageState createState() => _MyHomePageState();
- }
- class _MyHomePageState extends State<MyHomePage> {
- TextEditingController _textEditingController = TextEditingController();
- void _saveToFile() async {
- String text = _textEditingController.text;
- if (text.isNotEmpty) {
- Directory directory = await getApplicationDocumentsDirectory();
- File file = File('${directory.path}/my_text_file.txt');
- await file.writeAsString(text);
- ScaffoldMessenger.of(context).showSnackBar(
- SnackBar(
- content: Text('Text saved to file'),
- ),
- );
- }
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: Text('String Input and Save'),
- ),
- body: Padding(
- padding: EdgeInsets.all(16.0),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- crossAxisAlignment: CrossAxisAlignment.stretch,
- children: [
- TextField(
- controller: _textEditingController,
- decoration: InputDecoration(labelText: 'Enter your text'),
- ),
- SizedBox(height: 16.0),
- ElevatedButton(
- onPressed: _saveToFile,
- child: Text('Save to File'),
- ),
- ],
- ),
- ),
- );
- }
- }
- dependencies:
- flutter:
- sdk: flutter
- path_provider: ^2.0.2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement