Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:async';
- import 'package:flutter/widgets.dart';
- import 'package:path/path.dart';
- import 'package:sqflite/sqflite.dart';
- class Dog {
- final int id;
- final String name;
- final int age;
- Dog({this.id, this.name, this.age});
- Map<String, dynamic> toMap() {
- return {
- 'id': id,
- 'name': name,
- 'age': age,
- };
- }
- @override
- String toString() {
- return 'Dados do cachorro $id - Nome: $name, Idade: $age';
- }
- }
- void main() async {
- WidgetsFlutterBinding.ensureInitialized();
- final Future<Database> database = openDatabase(
- join(await getDatabasesPath(), 'bancoAppCachorro.db'),
- onCreate: (db, version) {
- return db.execute(
- "CREATE TABLE dogs(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)");
- },
- version: 1,
- );
- Future<void> insertDog(Dog dog) async {
- final Database db = await database;
- await db.insert('dogs', dog.toMap(),
- conflictAlgorithm: ConflictAlgorithm.replace);
- }
- Future<Dog> getDog(int id) async {
- final Database db = await database;
- final List<Map<String, dynamic>> maps =
- await db.query('dogs', where: "id = ?", whereArgs: [id], limit: 1);
- if (maps.length > 0) {
- return Dog(id: maps[0]['id'], name: maps[0]['name'], age: maps[0]['age']);
- } else {
- return null;
- }
- }
- Future<List<Dog>> getDogs() async {
- final Database db = await database;
- final List<Map<String, dynamic>> maps = await db.query('dogs');
- return List.generate(maps.length, (i) {
- return Dog(id: maps[i]['id'], name: maps[i]['name'], age: maps[i]['age']);
- });
- }
- Future<void> updateDog(Dog dog) async {
- final Database db = await database;
- db.update(
- 'dogs',
- dog.toMap(),
- where: "id = ?",
- whereArgs: [dog.id],
- );
- }
- Future<void> deleteDog(int id) async {
- final Database db = await database;
- await db.delete('dogs', where: "id = ?", whereArgs: [id]);
- }
- Dog cachorro1 = Dog(id: 1, name: 'Rex', age: 35);
- await insertDog(cachorro1);
- print(await getDogs());
- Dog cachorro2 = Dog(id: 2, name: 'Bretas', age: 2);
- await insertDog(cachorro2);
- print(await getDogs());
- cachorro2 =
- Dog(id: cachorro2.id, name: 'Bretas o Dog', age: cachorro2.age + 1);
- await updateDog(cachorro2);
- print(await getDogs());
- await deleteDog(2);
- print(await getDog(1));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement