Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. import 'package:flare_flutter/flare_actor.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:sqflite/sqflite.dart';
  4. import 'package:sqlite/Models/users.dart';
  5. import 'Utils/dbhelper2.dart';
  6. import 'package:flare_dart/actor.dart';
  7.  
  8. void main() => runApp(MyApp());
  9.  
  10. class MyApp extends StatelessWidget {
  11. // This widget is the root of your application.
  12. @override
  13. Widget build(BuildContext context) {
  14. return MaterialApp(
  15. debugShowCheckedModeBanner: false,
  16. title: 'Sqlite',
  17. theme: ThemeData(
  18. primarySwatch: Colors.blue,
  19. appBarTheme: AppBarTheme(color: Colors.purple)),
  20. home: Home(),
  21. );
  22. }
  23. }
  24.  
  25. class Home extends StatefulWidget {
  26. @override
  27. _HomeState createState() => _HomeState();
  28. }
  29.  
  30. class _HomeState extends State<Home> {
  31. final formKey = GlobalKey<FormState>();
  32. String _email;
  33. String _password;
  34. var db = DbHelper2();
  35. var results;
  36. List<Map<String, dynamic>> _users = [];
  37. final TextEditingController _emailController = new TextEditingController();
  38. final TextEditingController _passwordController = new TextEditingController();
  39.  
  40. @override
  41. void initState() {
  42. // TODO: implement initState
  43. super.initState();
  44.  
  45.  
  46.  
  47.  
  48. }
  49.  
  50.  
  51.  
  52.  
  53. Future<void> _submit() async{
  54. if(formKey.currentState.validate()){
  55. formKey.currentState.save();
  56.  
  57.  
  58. var user = Users(_email, _password);
  59. db.insert(user).then((val){
  60. _emailController.clear();
  61. _passwordController.clear();
  62. });
  63. _users = await _view();
  64. setState(() {
  65.  
  66. });
  67.  
  68. }
  69. }
  70.  
  71. Future<List<Map<String, dynamic>>> _view() async{
  72. _emailController.clear();
  73. _passwordController.clear();
  74. var ulist = List<Map<String, dynamic>>();
  75. ulist = await db.getUsers();
  76.  
  77. return ulist;
  78. }
  79.  
  80. Future<void> initValues(DbHelper2 db) async{
  81.  
  82. var ulist = List<Map<String, dynamic>>();
  83. ulist = await db.getUsers();
  84.  
  85. _users = ulist;
  86. setState(() {
  87.  
  88. });
  89.  
  90.  
  91.  
  92.  
  93. }
  94.  
  95. @override
  96. Widget build(BuildContext context) {
  97. initValues(db);
  98. return Scaffold(
  99. // to avoid overflow
  100. resizeToAvoidBottomPadding: false,
  101. appBar: AppBar(
  102. title: Text("Sqlite"),
  103. ),
  104. body:
  105. Stack(children: <Widget>[
  106. // data entry
  107. FlareActor('assets/test.flr',
  108. fit: BoxFit.cover,
  109. alignment: Alignment.center,
  110. animation: "Untitled",
  111. ),
  112. Opacity(
  113. opacity: 0.3,
  114. child: Card(
  115. color: Colors.white,
  116. child: Padding(
  117. padding: EdgeInsets.all(8.0),
  118. child: Form(
  119. key: formKey,
  120. child: Column(
  121. mainAxisSize: MainAxisSize.min,
  122. children: <Widget>[
  123. TextFormField(
  124. controller: _emailController ,
  125. decoration: InputDecoration( labelText: "Email"),
  126. validator: (input) => !input.contains("@") ? "Not Valid Email" : null,
  127. onSaved: (input) => _email = input,
  128. ),
  129. TextFormField(
  130. controller: _passwordController,
  131. decoration: InputDecoration( labelText: "Password"),
  132. validator: (input) => input.length < 6 ? "password not valid" : null,
  133. onSaved: (input) => _password = input,
  134. obscureText: true,
  135. ),
  136. Row(
  137. mainAxisAlignment: MainAxisAlignment.end,
  138. children: <Widget>[
  139. Padding(
  140. padding: EdgeInsets.all(8.0),
  141. child: RaisedButton(
  142. onPressed: _submit,
  143. child: Text("Sign in"),
  144. ),
  145.  
  146. ),
  147. Padding(
  148. padding: EdgeInsets.all(8.0),
  149. child: RaisedButton(
  150. onPressed:() async {
  151. _users = await _view();
  152. setState(() {
  153.  
  154. });
  155. },
  156. child: Text("View users"),
  157. ),
  158.  
  159. )
  160. ],
  161. ),
  162.  
  163. Spacer(),
  164.  
  165. LimitedBox(
  166.  
  167. maxHeight: 300.0,
  168. maxWidth: 200.0,
  169. child: ListView.builder(
  170. itemCount: _users.length ,
  171. itemBuilder: (context, index) {
  172. return ListTile(
  173. title: Text("Email: "+ _users[index]["email"]+"\nPassword: "+_users[index]["password"]),
  174. );
  175. },
  176. ))
  177.  
  178.  
  179.  
  180. ],
  181. ),
  182. ),
  183. ),
  184. ),)
  185.  
  186. ],)
  187.  
  188. );
  189. }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement