|
|
1
8
我认为你的问题在于:
|
|
|
2
4
SQL文件解决方案似乎很完美,只是您需要确保文件以utf8编码保存,否则所有重音字符都将丢失。如果不想更改文件的编码,则需要向new传递一个额外的参数
|
|
|
3
1
我正在使用一种不同的方法: 我在桌面上构建sqlite数据库,将其放在assets文件夹中,在android中创建一个空的sqlite db,并将db从assets文件夹复制到database文件夹中,而不是执行sql语句的加载(这需要很长时间才能完成)。这是速度上的巨大提升。注意,您需要先在android中创建一个空数据库,然后才能复制和覆盖它。否则,Android将不允许您将db写入datbase文件夹。互联网上有几个例子。 顺便说一句,如果db没有文件扩展名,这种方法似乎效果最好。 |
|
|
4
-1
看起来您正在一个字符串中传递所有sql语句。这是一个问题,因为execSQL需要“一条不是查询的语句”(参见文档[here][1])。下面是一个有点难看但有效的解决方案。 我将所有sql语句保存在如下文件中:
请注意文本之间的新行(分号后跟两行新行) 然后,我这样做:
我的数据列包含带有新行和分号的文本块,因此我必须找到不同的命令分隔符。只要确保使用splitstr时具有创造性:使用您知道数据中不存在的东西。
[1]: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#execSQL(java.lang.String ,java.lang.Object[]) |
|
Murilo · Jetpack编写导航栏项目图标 1 年前 |
|
|
KolaYAndr · 活动RESULT_OK似乎从未发生过 1 年前 |
|
psycho_pat · Android应用程序中的权限 1 年前 |
|
|
FarazFiroz · 如何将argb转换为描述性文本颜色 1 年前 |
|
Daniel · Unity Android游戏支持的设备数量太少 1 年前 |