Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flare_flutter/flare_actor.dart';
- import 'package:flutter/material.dart';
- import 'package:sqflite/sqflite.dart';
- import 'package:sqlite/Models/users.dart';
- import 'Utils/dbhelper2.dart';
- import 'package:flare_dart/actor.dart';
- void main() => runApp(MyApp());
- class MyApp extends StatelessWidget {
- // This widget is the root of your application.
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- debugShowCheckedModeBanner: false,
- title: 'Sqlite',
- theme: ThemeData(
- primarySwatch: Colors.blue,
- appBarTheme: AppBarTheme(color: Colors.purple)),
- home: Home(),
- );
- }
- }
- class Home extends StatefulWidget {
- @override
- _HomeState createState() => _HomeState();
- }
- class _HomeState extends State<Home> {
- final formKey = GlobalKey<FormState>();
- String _email;
- String _password;
- var db = DbHelper2();
- var results;
- List<Map<String, dynamic>> _users = [];
- final TextEditingController _emailController = new TextEditingController();
- final TextEditingController _passwordController = new TextEditingController();
- @override
- void initState() {
- // TODO: implement initState
- super.initState();
- }
- Future<void> _submit() async{
- if(formKey.currentState.validate()){
- formKey.currentState.save();
- var user = Users(_email, _password);
- db.insert(user).then((val){
- _emailController.clear();
- _passwordController.clear();
- });
- _users = await _view();
- setState(() {
- });
- }
- }
- Future<List<Map<String, dynamic>>> _view() async{
- _emailController.clear();
- _passwordController.clear();
- var ulist = List<Map<String, dynamic>>();
- ulist = await db.getUsers();
- return ulist;
- }
- Future<void> initValues(DbHelper2 db) async{
- var ulist = List<Map<String, dynamic>>();
- ulist = await db.getUsers();
- _users = ulist;
- setState(() {
- });
- }
- @override
- Widget build(BuildContext context) {
- initValues(db);
- return Scaffold(
- // to avoid overflow
- resizeToAvoidBottomPadding: false,
- appBar: AppBar(
- title: Text("Sqlite"),
- ),
- body:
- Stack(children: <Widget>[
- // data entry
- FlareActor('assets/test.flr',
- fit: BoxFit.cover,
- alignment: Alignment.center,
- animation: "Untitled",
- ),
- Opacity(
- opacity: 0.3,
- child: Card(
- color: Colors.white,
- child: Padding(
- padding: EdgeInsets.all(8.0),
- child: Form(
- key: formKey,
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: <Widget>[
- TextFormField(
- controller: _emailController ,
- decoration: InputDecoration( labelText: "Email"),
- validator: (input) => !input.contains("@") ? "Not Valid Email" : null,
- onSaved: (input) => _email = input,
- ),
- TextFormField(
- controller: _passwordController,
- decoration: InputDecoration( labelText: "Password"),
- validator: (input) => input.length < 6 ? "password not valid" : null,
- onSaved: (input) => _password = input,
- obscureText: true,
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: <Widget>[
- Padding(
- padding: EdgeInsets.all(8.0),
- child: RaisedButton(
- onPressed: _submit,
- child: Text("Sign in"),
- ),
- ),
- Padding(
- padding: EdgeInsets.all(8.0),
- child: RaisedButton(
- onPressed:() async {
- _users = await _view();
- setState(() {
- });
- },
- child: Text("View users"),
- ),
- )
- ],
- ),
- Spacer(),
- LimitedBox(
- maxHeight: 300.0,
- maxWidth: 200.0,
- child: ListView.builder(
- itemCount: _users.length ,
- itemBuilder: (context, index) {
- return ListTile(
- title: Text("Email: "+ _users[index]["email"]+"\nPassword: "+_users[index]["password"]),
- );
- },
- ))
- ],
- ),
- ),
- ),
- ),)
- ],)
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement