我的应用程序进行了一些数据库连接(sqllite)并执行了一些基本的数据库操作(插入,删除,搜索),我为此编写了一些代码,它在模拟器中完美运行但在手机中没有用,任何人都可以帮助克服这个问题,在此先感谢。我使用以下代码插入数据,我已经添加了代码来创建数据库和表。 我在应用程序的文件夹中创建了Folder SDCard,
public void insertInTotblFavStationList(String url,String StationName,String imageUrl,String bitRate,String formats){
try {
URI uri = URI.create("file:///SDCard/Databases/myDb.db");
Statement statement =null;
Database grabDB = null;
grabDB = DatabaseFactory.open(uri);
statement = grabDB.createStatement("insert into tblFavStationList(url,StationName,StationImage,Bitrate,Formats) values (?,?,?,?,?)");
statement.prepare();
statement.bind(1, url);
statement.bind(2, StationName);
statement.bind(3, imageUrl);
statement.bind(4, bitRate);
statement.bind(5, formats);
statement.execute();
statement.close();
grabDB.close();
System.out.println("ins");
} catch (Exception e) {
System.out.println(e);
}
}
答案 0 :(得分:2)
我发现当我的BB连接到我的Macbook甚至USB文件共享关闭时,SDCard似乎已经安装。这意味着存储在那里的任何数据库文件都是不可访问的,并且会抛出“无效的路径名”。
通过访问相机应用程序检查您的SD卡是否已安装,如果是,它会发出警告,提示您无法保存照片。
尝试加载您的应用,然后断开USB连接。这很痛苦,因为这意味着你无法正常调试。
答案 1 :(得分:0)
SQLLite仅适用于黑莓5及以上版本。您使用的手机型号是什么?这可能是你的问题。你也可以发布手机丢失的错误吗?
我也可能与代码签名有关。 SQLite要求您对应用程序进行代码签名模拟器不需要它,但它适用于您的手机。这是因为它用于操作的API。 Code Sign