附加组件使用的SQLite数据文件可能是使用data.url()访问的文件之一吗?如何初始化Firefox插件的SQLite文件?
如果是这样,怎么做,一方面它关闭Services.storage.openDatabase()
如果没有,有可能是某些代码(CREATE TABLE IF EXISTS ...)只被执行首次运行附加组件?
1
A
回答
4
是否有可能通过一个附加曾经是()与data.url访问的文件之一的SQLite的数据文件吗?
不可以。从附加SDK 1.5开始,扩展在安装时不再解压 - 它们保留为压缩的XPI文件(这对性能有好处)。但SQLite需要一个物理文件,而不是存档内的东西。
如果不是,是否有可能对某些代码(CREATE TABLE IF EXISTS ...)仅在首次运行附加组件时执行?
当然,但你不应该这样做 - 如果你的数据库文件由于某种原因被删除会怎么样?这是更好地检查数据库是否已经存在:
var dbFile = FileUtils.getFile("ProfD", "foobar.sqlite");
var alreadyExists = dbFile.exists();
var dbConnection = Services.storage.openDatabase(dbFile);
if (!alreadyExists)
connection.createTable("foo", "id INTEGER PRIMARY KEY, ...");
-2
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/FileUtils.jsm");
let file = FileUtils.getFile("ProfD", ["my_db_file_name.sqlite"]);
let mDBConn = Services.storage.openDatabase(file); // Will also create the file if it does not exist
相关问题
- 1. grunt插件如何初始化?
- 2. 如何初始化fengyuanchen jQuery cropper插件?
- 3. onesignal插件初始化
- 4. 如何初始化jquery easy滑块插件到我的插件?
- 5. Firefox是否禁用无法初始化的插件?
- 6. 如何从FXML文件初始化ListView?
- 7. 如何初始化文件系统?
- 8. 为后续初始化存储jQuery插件初始化设置?
- 9. 初始化/未初始化一个jQuery插件页更改
- 10. 初始化PhoneGap的插件BarcodeScanner iOS中
- 11. 插件的初始化失败
- 12. 如何使用firefox插件创建.sqlite文件
- 13. SBCL初始化文件
- 14. Ember组件,如何等待随机jQuery插件初始化?
- 15. 如何初始化angular2物化组件?
- 16. ASP.NET:初始化时如何初始化*用户控件*
- 17. 在隐藏div中初始化插件
- 18. 初始化jQuery插件($ .live()) - DOM加载
- 19. document.ready()在jQuery插件初始化?
- 20. Bukkit插件已经初始化
- 21. 使用jQuery live()来初始化插件?
- 22. 流星jQuery插件初始化onRendered
- 23. jquery插件重新初始化后ajax
- 24. Go插件变量初始化
- 25. jquery动态初始化循环插件
- 26. 如何开始开发Mozilla Firefox插件?
- 27. 如何初始化InsertItemTemplate中的控件?
- 28. 如何初始化Vim for MacOS中的Sparkup插件?
- 29. 如何初始化的jCarousel jQuery插件多个元素
- 30. Android SQLite何时何地初始化SQLiteOpenHelper
这不回答任何问题。 – 2012-09-24 12:30:12