返回列表 回复 发帖

在学习AIR程序的一个困惑

在本书第23章 的AIR程序
我在做.db的数据库的时候不知道放到什么路径去。请版主给予指导一下?
在下将感激涕零
为什么我的23章的代码都运行不了呢?
air的数据库是本地的数据库,需要使用代码创建。通过File 类中的方法可以指定数据库db存放的位置。
File 类包括用于指向 Mac OS、Windows 和 Linux 中的标准目录的静态属性。这些属性包括:
File.applicationStorageDirectory — 每个已安装的 AIR 应用程序独有的存储目录
File.applicationDirectory — 安装应用程序的目录(其中包括所有已安装的资源)
File.desktopDirectory — 用户的桌面目录
File.documentsDirectory — 用户的文档目录
File.userDirectory — 用户目录

示例代码:
var dbFile:File = File.applicationStorageDirectory.resolvePath("test.db");

同时要注意AIR版本,由于配置文件不同,AIR版本之间存在兼容性问题,所以可能存在使用不同版本不能运行问题。
虽然AIR版本之间不兼容,但是代码都是大同小异的,可以参考书中代码,自己动手编写一下。
再补充一点:applicationStorageDirectory
应用程序存储目录的位置由用户名、应用程序 ID 和发布者 ID 共同确定:
在 Windows 中,位于 Documents and Settings 目录下的以下位置:
用户名/Application Data/应用程序 ID.发行商 ID/Local Store/
例如:
C:\Documents and Settings\babbage\Application Data\com.example.TestApp.02D88EEED35F84C264A183921344EEA353A629FD.1\Local Store
我可以自己定义路径吗?
var dbFile:File = File.applicationStorageDirectory.resolvePath(dbName + ".db");

这条语句是不是,在没有数据库的时候创建,在有数据库的时候打开啊?
我有些不怎么理解!
请各位给予指导一下!谢谢了
目前只提供上述的几种文件存放路径。
其实文件存放在哪里,并不是很重要。
很多情况下,AIR本地数据库只负责临时保存数据,而数据最终还是保存在数据库服务器中。
AIR本地保存数据,只是为了离线操作或者操作中间数据,比如购物车,购买过程中可以把这些数据暂时保存在本地,因为这些数据可能在购买过程中会发生变化,如果不用本地数据,会与远程数据库服务器频繁传递数据,这样会给服务器造成负担。等用户确认后,再一次性的提交购物车数据。
本帖最后由 lalo 于 2010-8-23 09:26 编辑

6# makuijun

是的,没有数据库的时候,会自动创建,存在则不操作。
实际上,resolvePath是指向路径或者文件,而不是创建。
如果系统发现指向的目录或者文件不存在,则会自动创建一个。
返回列表