打开sqlite数据库失败
问题描述:
我把我的sqlite数据库文件放在“资产”文件夹我编写DAO calss从数据库中获取数据,但是log.e的信息意味着我无法打开数据库。打开sqlite数据库失败
公共类的GetData {
private static String DB_PATH = "/data/data/com.SGMalls/databases/mallMapv2.sqlite";
private static SQLiteDatabase myDataBase;
public static ArrayList<Mall> getMall(){
ArrayList<Mall> mallArrayList=new ArrayList<Mall>();
String queryString="select id,title from malls order by title";
myDataBase = SQLiteDatabase.openDatabase(DB_PATH, null,SQLiteDatabase.OPEN_READONLY);
Cursor cursor=myDataBase.rawQuery(queryString, null);
if(cursor!=null){
cursor.moveToFirst();
while(!cursor.isLast()){
Mall mall=new Mall();
mall.setMallid(cursor.getInt(0));
mall.setMallname(cursor.getString(1));
mallArrayList.add(mall);
cursor.moveToNext();
} }
myDataBase.close();
return mallArrayList;
}}
答
的assets/
文件夹无关与数据库,直接。如果将数据库放入assets/
文件夹中,则需要将其从assets/
文件夹复制到您希望数据库驻留在实际文件系统中的位置。
答
看一看这个link。
您必须先拨打createDataBase()
方法。如果createDataBase()
成功运行,您可以检查您的/data/data/com.SGMalls/databases/mallMapv2.sqlite
确实存在。
如果它已经存在,它不会对它造成任何伤害。
copyDataBase()
应该给你它是如何做,从资产../databases/复制一些解释..
非常感谢。所以,如果我复制数据库到SD卡。然后字段路径 也是/data/data/com.SGMalls/databases/mallMapv2.sqlite“? 谢谢你 – user275788 2010-02-25 14:19:47
我的意思是我只是设置复制路径是:/data/data/com.SGMalls/databases/mallMapv2.sqlite “ 然后这个文件存储在哪里?嵌入在这个应用程序? 对不起。我是一个关于android开发的新手。 – user275788 2010-02-25 14:22:54