Android 如何将sqlite文件导入到我的项目中?
我正在android项目之外使用eclipse制作SQLlight 我应该在我的android清单中添加什么才能让它工作 谢谢Mathias,让我们把这个q带到另一个使用java生成SQL文件的项目 假设是这样。调用Android 如何将sqlite文件导入到我的项目中?,android,eclipse,sqlite,Android,Eclipse,Sqlite,我正在android项目之外使用eclipse制作SQLlight 我应该在我的android清单中添加什么才能让它工作 谢谢Mathias,让我们把这个q带到另一个使用java生成SQL文件的项目 假设是这样。调用SQLiteDatabase.openDatabase()时,如何设置SQLiteDatabase.NO\u LOCALIZED\u COLLATORS标志 我的密码在那边 Class.forName("org.sqlite.JDBC"); Connectio
SQLiteDatabase.openDatabase()
时,如何设置SQLiteDatabase.NO\u LOCALIZED\u COLLATORS
标志
我的密码在那边
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
/*
*some code
*/
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists "+TABLE_NAME+";");
//stat.executeUpdate("create table "+TABLE_NAME+" (name, occupation);");
stat.executeUpdate("create table "+TABLE_NAME+" ("+VALUE+","+TYPE+","+LETTER+");");
PreparedStatement prep = conn.prepareStatement(
"insert into "+TABLE_NAME+" values (?, ?,?);");
即使我使用:
db = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.NO_LOCALIZED_COLLATORS);
当我使用查询时:
String s = "Israel";
Cursor cursor = db.query(TABLE_NAME, new String[] {VALUE}
,VALUE + " like " + "'%" + s +"%'", null, null, null, null);
我有个例外 您不需要在android清单中添加任何特殊内容。您可以从任何位置打开数据库,即也可以从SD卡或其他位置打开数据库。否则,将数据库放在应用程序的assets文件夹中 在android项目外部创建db时,只需确保创建元数据表(如android文档中所述)或在调用
SQLiteDatabase.openDatabase()
时设置SQLiteDatabase.NO\u LOCALIZED\u COLLATORS
标志。此外,您应该注意到,所有表中的主键都是Y.ID。这是创建新DB时要考虑的最重要的事情。
有关元数据表的另一个有用信息可能是:
有用的博客:
调用SQLiteDatabase.openDatabase()时,应在何处设置SQLiteDatabase.NO\u LOCALIZED\u COLLATORS标志?请参见openDatabase(String,SQLiteDatabase.CursorFactory,int)方法的第三个参数。在打开数据库的应用程序中调用此函数。当我使用emulator并希望获取本地应用程序文件(即我使用的数据库)时,另一个q是:private static final String DB_PATH=“/data/data/com.myappname/assets/test1.DB”;这是模拟器上的正确位置吗?我想路径应该是“/data/data/com.myappname/databases/test1.db”。实际上,您可以在Eclipse中通过ddms浏览emulator(也可以是独立的,ddms是Android SDK中的一个工具)。然后,您将有一个“文件资源管理器”选项卡,您可以在其中浏览系统和数据文件夹。好的,如果您在代码中不使用SQLiteDatabase和/或SQLiteOpenHelper,而是使用本机Java方法,那么您可能最好手动在DB中创建元数据表(尽管可以为空)。不过,我建议研究一下上面提到的类,它们使在Android上使用sqlite更容易。我下面的方法假设您在打开数据库时使用SQLiteDatabase类。谢谢Mathias,即使我还处于这种情况,还是要谢谢您。