当前位置: 首页 > news >正文

视频 播放网站怎么做贵阳美容网站建设

视频 播放网站怎么做,贵阳美容网站建设,2345网址导航手机版下载,中卫市住房建设局网站SQLite classcss-1occaibSQLite数据库是基于事实和标准SQL的嵌入式数据库引擎#xff0c;它是小型且经过时间考验的数据库引擎#xff0c;sqflite软件包提供了许多函数#xff0c;可以有效地与SQLite数据库一起使用#xff0c;它提供了操作SQLite数据… SQLite classcss-1occaibSQLite数据库是基于事实和标准SQL的嵌入式数据库引擎它是小型且经过时间考验的数据库引擎sqflite软件包提供了许多函数可以有效地与SQLite数据库一起使用它提供了操作SQLite数据库引擎的标准方法。 在Android Studio中创建一个新的Flutter应用程序product_sqlite_app。用无涯教程的 product_rest_app 代码替换默认的启动代码(main.dart)。将assets文件夹从 product_nav_app 复制到 product_rest_app 并在* pubspec.yaml文件内添加assets。 flutter: assets: - assets/appimages/floppy.png - assets/appimages/iphone.png - assets/appimages/laptop.png - assets/appimages/pendrive.png - assets/appimages/pixel.png - assets/appimages/tablet.png 在pubspec.yaml文件中配置sqflite软件包如下所示- dependencies: sqflite: any 在pubspec.yaml文件中配置path_provider软件包如下所示- dependencies: path_provider: any 此处path_provider软件包用于获取系统的临时文件夹路径和应用程序的路径使用 sqflite 的最新版本号代替任何。 Android Studio会提醒pubspec.yaml已更新。 单击Get dependencies选项。 Android studio将从互联网上获取该软件包并为应用程序正确配置它。在数据库中无涯教程需要主键id作为附加字段以及产品属性(如名称价格等)因此请在Product类中添加id属性。另外添加新方法toMap将产品对象转换为Map对象。 fromMap和toMap用于对Product对象进行序列化和反序列化并用于数据库操作方法中。 class Product { final int id; final String name; final String description; final int price; final String image; static final columns [id, name, description, price, image]; Product(this.id, this.name, this.description, this.price, this.image); factory Product.fromMap(MapString, dynamic data) {return Product( data[id], data[name], data[description], data[price], data[image], ); } MapString, dynamic toMap() {id: id, name: name, description: description, price: price, image: image }; } 在lib文件夹中创建一个新文件Database.dart以编写SQLite的相关函数。在Database.dart中导入必要的import语句。 import dart:async; import dart:io; import package:path/path.dart; import package:path_provider/path_provider.dart; import package:sqflite/sqflite.dart; import Product.dart; 请注意以下几点- async                    -  用于编写异步方法。 io                           -  用于访问文件和目录。 path                      -  用于访问与文件路径相关的dart核心实用程序函数。 path_provider    -  用于获取临时路径和应用程序路径。sqflite                   -  用于操作SQLite的数据库。创建一个新的类SQLite的DbProvider    - 声明一个基于单例的静态SQLite的DbProvider对象如下所示: class SQLiteDbProvider { SQLiteDbProvider._(); static final SQLiteDbProvider dbSQLiteDbProvider._(); static Database _database; }  - 可以通过静态db变量访问SQLite的DBProvoider对象及其方法。 SQLiteDBProvoider.db.emthod  - 创建一个方法来获取类型为Future Database的数据库创建产品表并在数据库本身创建期间加载初始数据。 FutureDatabase get database async { if (_database ! null) return _database; _database await initDB(); return _database; } initDB() async { Directory documentsDirectory await getApplicationDocumentsDirectory(); String path join(documentsDirectory.path, ProductDB.db); return await openDatabase(path, version: 1,onOpen: (db) {}, onCreate: (Database db, int version) async {await db.execute(CREATE TABLE Product (id INTEGER PRIMARY KEY,name TEXT,description TEXT,price INTEGER, image TEXT )); await db.execute(INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [1, iPhone, iPhone is the stylist phone ever, 1000, iphone.png]); await db.execute(INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [2, Pixel, Pixel is the most feature phone ever, 800, pixel.png]); await db.execute(INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [3, Laptop, Laptop is most productive development tool, 2000, laptop.png]\); await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [4, Tablet, Laptop is most productive development tool, 1500, tablet.png]);await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [5, Pendrive, Pendrive is useful storage medium, 100, pendrive.png]);await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [6, Floppy Drive, Floppy drive is useful rescue storage medium, 20, floppy.png]); }); } 在这里无涯教程使用了以下方法-     -  getApplicationDocumentsDirectory -  返回应用程序目录路径    -  join                        - 用于创建系统特定的路径无涯教程已经使用它来创建数据库路径。    -  openDatabase     - 用于打开SQLite的数据库。    -  onOpen                - 用于在打开数据库时编写代码    -  onCreate              - 用于在首次创建数据库时编写代码    -  db.execute           - 用于执行SQL查询。它接受一个查询。如果查询具有占位符(?)则它将接受值作为第二个参数中的列表。编写getAllProducts来获取数据库中的所有产品- FutureListProduct getAllProducts() async { final db await database; ListMap results await db.query(Product, columns: Product.columns, orderBy: id ASC); ListProduct products new List(); results.forEach((result) { Product product Product.fromMap(result); products.add(product); }); return products; } 编写getProductById来获取特定于 id的产品 FutureProduct getProductById(int id) async {final db await database; var result await db.query(Product, where: id, whereArgs: [id]); return result.isNotEmpty ? Product.fromMap(result.first) : Null; } 在这里无涯教程使用了where和whereArgs来应用过滤器。创建三种方法-插入更新和删除方法以从数据库中插入更新和删除产品。 insert(Product product) async { final db await database; var maxIdResult await db.rawQuery(SELECT MAX(id)1 as last_inserted_id FROM Product);var id maxIdResult.first[last_inserted_id]; var result await db.rawInsert(INSERT Into Product (id, name, description, price, image) VALUES (?, ?, ?, ?, ?), [id, product.name, product.description, product.price, product.image] ); return result; } update(Product product) async { final db await database; var result await db.update(Product, product.toMap(), where: id?, whereArgs: [product.id]); return result; } delete(int id) async { final db await database; db.delete(Product, where: id?, whereArgs: [id]); } Database.dart的最终代码如下- import dart:async; import dart:io; import package:path/path.dart; import package:path_provider/path_provider.dart; import package:sqflite/sqflite.dart; import Product.dart; class SQLiteDbProvider {SQLiteDbProvider._(); static final SQLiteDbProvider db SQLiteDbProvider._(); static Database _database; FutureDatabase get database async {if (_database ! null) return _database; _database await initDB(); return _database; } initDB() async {Directory documentsDirectory await getApplicationDocumentsDirectory(); String path join(documentsDirectory.path, ProductDB.db); return await openDatabase(path, version: 1, onOpen: (db) {}, onCreate: (Database db, int version) async {await db.execute(CREATE TABLE Product ( id INTEGER PRIMARY KEY, name TEXT, description TEXT, price INTEGER, image TEXT)); await db.execute(INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [1, iPhone, iPhone is the stylist phone ever, 1000, iphone.png]); await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [2, Pixel, Pixel is the most feature phone ever, 800, pixel.png]);await db.execute(INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [3, Laptop, Laptop is most productive development tool, 2000, laptop.png]); await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [4, Tablet, Laptop is most productive development tool, 1500, tablet.png]); await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [5, Pendrive, Pendrive is useful storage medium, 100, pendrive.png]);await db.execute( INSERT INTO Product (id, name, description, price, image) values (?, ?, ?, ?, ?), [6, Floppy Drive, Floppy drive is useful rescue storage medium, 20, floppy.png]); }); }FutureListProduct getAllProducts() async {final db await database; ListMap results await db.query(Product, columns: Product.columns, orderBy: id ASC); ListProduct products new List(); results.forEach((result) {Product product Product.fromMap(result); products.add(product); }); return products; } FutureProduct getProductById(int id) async {final db await database; var result await db.query(Product, where: id, whereArgs: [id]); return result.isNotEmpty ? Product.fromMap(result.first) : Null; } insert(Product product) async { final db await database; var maxIdResult await db.rawQuery(SELECT MAX(id)1 as last_inserted_id FROM Product); var id maxIdResult.first[last_inserted_id]; var result await db.rawInsert(INSERT Into Product (id, name, description, price, image) VALUES (?, ?, ?, ?, ?), [id, product.name, product.description, product.price, product.image] ); return result; } update(Product product) async { final db await database; var result await db.update(Product, product.toMap(), where: id?, whereArgs: [product.id]); return result; } delete(int id) async { final db await database; db.delete(Product, where: id?, whereArgs: [id]);} } 更改主要方法以获取产品信息。 void main() {runApp(MyApp(products: SQLite的DbProvider.db.getAllProducts())); } 在这里无涯教程使用了getAllProducts方法来从数据库中获取所有产品。运行该应用程序并查看结果。它与先前的示例访问产品服务API相似不同之处在于产品信息是从本地SQLite的数据库存储和获取的。 Flutter - 数据库 - 无涯教程网无涯教程网提供SQLite classcss-1occaibSQLite数据库是基于事实和标准SQL的嵌入式数据库引擎...https://www.learnfk.com/flutter/flutter-database-concepts.html
http://www.huolong8.cn/news/154486/

相关文章:

  • 旅游网站 静态模板网页设计心得体会500
  • 哈尔滨专业网站建设公司网站策划网站建设企业
  • 如何在360网站上做软文推广好看的企业网站模板
  • 山西运城网站建设为什么要建微信网站
  • 烟台产品网站建设设计h5是什么意思
  • 网站建设注意枣强做百度网站
  • 做塑料的网站有哪些做网站平台多少钱
  • 临海企业网站建设公司cgi做的网站
  • 建立网站的模板网站的登录注册怎么做
  • 360如何做网站数字广东网络建设有限公司招聘
  • 像做游戏一样编程的网站团购网站建站
  • 信息类网站 wordpress中国域名网官网查询
  • 微信网站制作入门福州网站建设方案书
  • 做动态图片下载哪个网站好深圳网站建设公司哪里有
  • 建设网站的报告网站开发时间
  • 杭州网站建设多少钱头条搜索是百度引擎吗
  • 云南seo简单整站优化大数据对网站建设教育的影响
  • 徐州模板建站定制网站要制作自己的网站需要什么
  • 免费招聘的网站wordpress管理配色
  • 广州营销推广网站信誉好的东莞网站推广
  • 设计网站页面的工作叫啥广州网站建设高端网
  • 长沙做网站推广公司咨询定制开发网站
  • sql做网站后台济南做网站的机构有哪些
  • 小米商城网站设计论文做网站只用前端知识可以吗
  • 深圳市建设培训中心网站重庆seo和网络推广
  • 深圳网站建设哪家好怎么在自己电脑上搭建网站
  • 鹤岗建设局网站网站建设的预算费用
  • 公司怎样做网站做网站编辑工作累吗
  • 网站百度收录快网络推广策划案例
  • 如何用华为云服务器做网站餐厅网站设计