File 在检查blackberry中是否存在.db文件后,是否在SD卡中创建该文件?
我正在我的应用程序中创建一个db文件。现在我只想在应用程序安装时创建一次.db文件。 当我打开应用程序时,它只是检查文件是否存在File 在检查blackberry中是否存在.db文件后,是否在SD卡中创建该文件?,file,blackberry,sd-card,delete-file,File,Blackberry,Sd Card,Delete File,我正在我的应用程序中创建一个db文件。现在我只想在应用程序安装时创建一次.db文件。 当我打开应用程序时,它只是检查文件是否存在 我们如何在SD卡中检查.db文件,以及在安装之前是否存在该文件,而不是删除该文件。您可以使用以下代码检查该文件是否存在 FileConnection fileConnection = (FileConnection)Connector.open("file:///SDCard/foldername/" + "databasename.db"); boole
我们如何在SD卡中检查.db文件,以及在安装之前是否存在该文件,而不是删除该文件。您可以使用以下代码检查该文件是否存在
FileConnection fileConnection = (FileConnection)Connector.open("file:///SDCard/foldername/" + "databasename.db");
boolean result=fileConnection.exists();
if(result)
{
//database available
}else{
//database not available
}
下一步,当应用程序第一次安装时,使用
CodeModuleListener listner=new CodeModuleListener() {
public void modulesDeleted(String[] moduleNames) {
// TODO Auto-generated method stub
}
public void modulesAdded(int[] handles) {
// TODO Auto-generated method stub
//here you can check if database available or not if available then delete
try{
URI myURI = URI.create("file:///SDCard/foldername/" + "database_name.db");
DatabaseFactory.delete(myURI);
}catch (Exception e) {
// TODO: handle exception
}
}
public void moduleDeletionsPending(String[] moduleNames) {
// TODO Auto-generated method stub
}
};
CodeModuleManager.addListener(this.getApplication(), listner);
您是否检查了RIM提供的示例应用程序,
SQLiteDemo
,以及黑莓的Eclipse插件JRE 6.0?在该应用程序的第126行,它检查文件是否存在,是否为空。如果文件存在且为空,则会创建一个新的数据库文件。您需要处理这一部分,以确定数据库文件是否由当前版本的应用程序创建,或由其他应用程序/旧版本的应用程序创建。为此,您可以使用BlackBerry API的持久数据存储实用程序。创建新的数据库文件时,还可以存储一些信息,这些信息可在以后用于确定创建数据库文件的应用程序的当前版本。如果发现由其他人创建的数据库文件,则只需使用FileConnection.delete()
删除该文件。执行此操作但不起作用,ModuleAdded或moduleDeleted或ModuleDeleteOnSunding方法未命中断点:(