質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Q&A

解決済

1回答

2648閲覧

Flutterで複数のTextFieldにSQLで値を保存する方法

9kai

総合スコア14

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

0グッド

0クリップ

投稿2020/02/10 11:58

前提・実現したいこと

Flutterでモバイルアプリの実装をしています。
SQLで以下ソースコード内3つのTextFieldに値を適宜保存したいです。
検索エンジンで調べた結果、sqfliteと言うパッケージを使用するのが一番メジャーと言うところまでは分かったのですが、3つのTextFieldに値を適宜保存する方法がわかりません。
DBのopen、closeのタイミング等が説明されているページを見つけられずにいます。
参考になるページや知見をご存知でしたらご教示頂きたいです。

該当のソースコード

sample.dart

1import 'package:flutter/material.dart'; 2import 'package:sqflite/sqflite.dart'; 3import 'dart:async'; 4 5void main() => runApp(MyApp()); 6 7class MyApp extends StatelessWidget { 8 @override 9 Widget build(BuildContext context) { 10 return MaterialApp( 11 title: 'sample', 12 theme: ThemeData( 13 ), 14 home: AppMain(title: 'sample'), 15 ); 16 } 17} 18 19class AppMain extends StatefulWidget{ 20 21 AppMain({Key key, this.title}) : super(key: key); 22 final String title; 23 24 @override 25 _AppMainState createState() => _AppMainState(); 26} 27 28class _AppMainState extends State<AppMain> { 29 30 Future _showErrorSnackBar() async { 31 Scaffold.of(context).showSnackBar( 32 SnackBar( 33 content: Text('Oops... the URL couldn\'t be opened!'), 34 ), 35 ); 36 } 37 @override 38 Widget build(BuildContext context) { 39 return Scaffold( 40 body: SingleChildScrollView( 41 child: Column( 42 children: <Widget>[ 43 Text(''), 44 Text(''), 45 Text('tlmemo'), 46 Text(''), 47 //ピンク色の部分 48 TextField( 49 minLines: 3, 50 maxLines: 3, 51 maxLength: 150, 52 decoration: InputDecoration( 53 fillColor: Colors.pink[200], filled: true, 54 border: OutlineInputBorder(), 55 hintText: '緊急/Emergency', 56 ) 57 ), 58 //黄色の部分 59 TextField( 60 minLines: 5, 61 maxLines: 5, 62 maxLength: 250, 63 decoration: InputDecoration( 64 fillColor: Colors.yellow[300], filled: true, 65 border: OutlineInputBorder(), 66 hintText: '重要/Important', 67 ) 68 ), 69 //緑色の部分 70 TextField( 71 minLines: 7, 72 maxLines: 7, 73 maxLength: 350, 74 decoration: InputDecoration( 75 fillColor: Colors.green[300], filled: true, 76 border: OutlineInputBorder(), 77 hintText: 'その他/Other', 78 ) 79 ), 80 Text(''), 81 Text(''), 82 Link( 83 child: Text('SAMPLE'), 84 url: 'https://google.com/', 85 onError: _showErrorSnackBar, 86 ) 87 88 ], 89 ), 90 ) 91 ); 92 } 93}

試したこと

検索エンジンの検索(日本語、英語)

補足情報(FW/ツールのバージョンなど)

OS:Mac
OSのバージョン:Cataline10.15.2
Flutter:1.9.1
Dart:2.5.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Flutter公式サイトPersist data with SQLiteに簡単なサンプルがあります

後、多くのプラグインは、コード内にサンプルも同封しているので、参考になると思います。

日本語の記事もいくつかありました。SQLiteでのデータ永続化という記事がわかりやすくてよさそうでした。
同じサイトにTextFieldの説明もあります。TextEditingControllerを使って入力した値を取得できるので、それを保存すればよいかと思います。

投稿2020/02/10 22:01

編集2020/02/10 22:06
popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

9kai

2020/02/10 22:53

ありがとうございます。 紹介いただいたサイトを順に当たらせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問