日期:2014-05-16  浏览次数:20468 次

如何把批量数据导入到android 的 sqlite 数据库(转)

出自? http://hi.baidu.com/friendofsnowandsea/blog/item/3ffede2d218505f98a1399fb.html

?

?

SQLite 数据库需要放在目录中的databases folder,我们可以使用“adb shell” 的 “mkdir”来创建这个文件夹。

?

#ls

lib

#mkdir databases

#ls

databases

lib

?

默认创建的"databases"仅供 "root"权限访问,而在Android平台中,我们启动的每个“Activity”都是使用不同的“user”权限,所以我们需要用“chmod”命令来改变默认权限:

#chmod 777 databases

#ls -l

drwxrwxrwx? root????????????? 2010-04-21 20:33 databases

drwxr-xr-x???? sysem?????????? 2010-04-21 20:31 lib

?

有了存放数据库的文件夹,可以开始创建数据库。使用“sqlite3”来创建

?

#cd databases

#sqlite3 note.db

SQLite version 3.5.9

Enter ".help" for instructions

sqlite>

?

现在这个数据库还是空的,里面没有存储任何数据或记录。当执行“sqlite3”命令后,命令提示符从#换成“sqlite>”,表示进入“SQLite”互动模式,可以做添加,删除,修改,查询等动作。

?

我们可以输入一下命令来创建table。

sqlite> CREATE TABLE dictionary (word VARCHAR(30), pronounce VARCHAR(50), comment NVARCHAR(100));

?

注意,SQLite命令和java代码一样,大小写代表不同符号,而且以分号结尾。sqlite3与许多SQL数据库软件

不同的是,它不在乎字段属于哪一种资料型态:sqlite3的字段可以储存任何东西:文

字、数字、大量文字(blub),它会在适时自动转换。

?

输入以上命令后,可以用一下命令来验证是否创建成功,这命令作用是列出目录下所有SQLite的数据库列表:

sqlite>.databases

seq?????????? name???????????? file

-----??????????--------??????????? ------------------------------------

0????????????? main?????????????? /data/data/com.wenjie.android.dictionary/databases/dictionary.db

?

“.table” 用来列出所有tables。

sqlite>.table

dictionary

?

".schema"用来现实出创建数据表的命令。

sqlite>.schema

CREATE TABLE dictionary (word VARCHAR(30), pronounce VARCHAR(50), comment NVARCHAR(100));

?

若有多个数据表,也可以在".schema"后面输入特定的数据表当参数,如".schema dictionary",这样只会打印出对应的数据表创建命令。

?

Apr 18, 2010

?

1. 进入到F:\Android\android-sdk_r05-windows\android-sdk-windows\tools 以后,

?

2. 应该使用adb push命令将硬盘上的文件复制到android AVD 的某个应用程序的databases文件夹下,执行命令如下:

?

??? adb push F:\ en.txt data/ data/ com.wenjie.android.dictionary/ databases

=>758 KB/s(813441 bytes in 1.046s)???

?

3. 在AVD是运行的状态下,按着以下步骤:

(1) 运行输入 adb shell?
(2) 进入命令界面后 输入 ls 指令 会列出文件的目录
(3) cd 进入你想要的目录里
(4) 一层一层进去后会发现 databases目录 你的数据文件就在这个目录下放着
(5) sqlite3 test? (test就是你创建的数据库的名称 注意:不要加.db 后缀)

(6) 现在你就进入你创建的test数据库了使用? .tables 就可以查看所有的表了;

***************************************************************

adb shell

#cd /data/data/<package_name>/databases

?

# find data -name "*.db" -print
data/data/com.google.android.providers.contacts/databases/contacts.db
data/data/com.google.android.providers.googleapps/databases/accounts.db
data/data/com.google.android.providers.im/databases/im.db
data/data/com.google.android.providers.media/databases/media.db
data/data/com.google.android.providers.telephony/databases/mms.db
data/data/com.google.android.providers.telephony/databases/sms.db
data/data/com.google.android.providers.telephony/databases/telephony.db
data/data/com.google.android.providers.settings/databases/settings.db
data/data/com.google.android.maps/databases/maps.db
data/data/com.wenjie.android.dictionary/dictionary.db

?

or

#ls

com.wenjie.android.dictionary

com.android.camera

:

:

com.android.browser