SQLite在Windows 10 UWP中的应用
2016-05-14周辉v赵峰马亮
周辉 v赵峰 马亮
摘要:介绍Windows UWP和SQLite的特点和体系结构。在Windows 10上搭建UWP App开发环境,阐述SQLite在UWP平台上的应用方法,利用SQLite for Universal Windows Platform和SQLite.Net实现SQLite数据库的增加、删除、查询等操作。
关键词关键词:Windows 10;UWP;SQLite
DOIDOI:10.11907/rjdk.161207
中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2016)007013102
0引言
2015年7月29日,美国微软公司正式发布了Windows 10操作系统,该系统是新一代跨平台及设备应用的操作系统。其设计目标是统一整个Windows产品系列的操作系统,包括个人电脑、平板电脑、智能手机上的嵌入式系统、Xbox One及Surface和Microsoft HoloLens等。在Windows平台下开发小型数据库应用或其它软件时,一般会采用MS Access、MYSQL等数据库。实际上应用软件只使用了数据库产品很少的特性,绝大多数功能没有被利用,浪费了很多系统资源;通常这些数据库都要比应用软件本身大很多,使得软件系统变得体积庞大;同时,当软件发布部署时还要考虑各种支持文件的版本,配置也较为繁琐。
而嵌入式数据库SQLite可解决此类问题。SQLite是D.Richard Hipp创建的开源项目。SQLite是遵守ACID的关系数据库管理系统。与许多其它数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。SQLite具备系统开销小、效率高,跨平台、开源、易移植和拥有处理事务能力等优势[1,2]。这些优点使得用户越来越多,Google在它开发的Google Gears、Android甚至Chrome中都用到了SQLite [3,4]。
1通用Windows平台(UWP)
通用Windows平台Universal Windows Platform(UWP)是由微软创建并首次随Windows 10推出的统一平台应用架构。Windows 10将为所有硬件提供一个统一的平台,支持从物联网设备到全球企业数据中心服务器等广泛的设备类型(见图1)。UWP帮助用户开发应用程序时,无需重新编写代码就可以让这些应用程序能在Windows10的各个版本上运行。UWP API是用C++实现的,但支持C++,VB.NET,C#和JavaScript调用。UWP最早由Windows Server 2012和Windows 8的Windows Runtime发展演进来的[5]。
UWP 应用(UWP App)是基于UWP平台生成的Windows应用程序。依赖于UWP的强大功能,UWP App可实现同样的代码运行在不同的设备上。基于Windows 10和Visual Studio 2015,用户可轻松开发UWP App。UWP 应用具有以下特点[6,7]:
(1)所有 Windows 设备系列均使用相同的通用UWP核心API。如果应用仅使用核心 API,它将可在任何Windows 10设备–PC、平板电脑、手机上运行。
(2)自适应控件和输入。用户界面UI元素使用有效像素,因此它们会基于设备上可用的屏幕像素数自动自行调整,并且能正确处理多种输入类型(如键盘、鼠标、触摸、笔和Xbox One控制器)。
2SQLite在UWP App开发中的应用
本文开发的UWP App主要功能是:创建SQLite数据库,对数据库表进行初始化,对数据表进行添加、删除、修改、查询等操作。本文使用的开发环境如下:操作系统:Windows 10专业版;开发平台:Microsoft Visual Studio 2015。
2.1开发环境配置
(1)SQLite for Universal Windows Platform扩展。SQLite for Universal Windows Platform扩展是由SQLite官方开发的针对UWP平台无服务器、零配置、支持事务处理的数据库引擎。该扩展可从SQLite官网下载,然后根据提示自动安装;或者使用Visual Studio菜单栏中工具/扩展与更新工具来查询和安装。安装完成后,还需要在工程中添加对SQLite for Universal Windows Platform的引用。
(2)添加 SQLite.Net引用。在Visual Studio中使用管理NuGet程序包管理工具安装SQLite.Net-PCL。SQLite.Net是一个开源的、允许.NET和Mono应用程序访问SQLite数据库的对象关系映射(Object Relational Mapping,简称ORM)框架。ORM是一种程序设计技术,用于实现面向对象编程语言中不同类型系统的数据之间的转换。正因为有了SQLite.NET这样强大的ORM框架,用户无需编写复杂的代码就可以轻松操作SQLite数据库表。
2.2数据库操作实现
(1)创建数据库、表。本文在UWP平台上利用SQLite开发跨断层测距场地管理软件,其中有关场地数据的表结构如表1所示。
2.3应用实例
该程序实现了对跨断层场地数据的简单管理,在Win10桌面系统中运行的效果如图2所示。同时,程序在UWP模拟器环境中能够正常运行,并且拥有与Win10桌面系统相同的用户体验。
3结语
在UWP App程序开发中,由于SQLite零配置等特性,使得SQLite十分适合UWP App能在多个平台上运行的特点。无需数据库环境配置,直接运行应用程序就可