Android+SQLite将txt等文本文件转化为db数据库文件的方法

android中的SQLite用法在这里

现在电脑中有一个words文件,可用notepad++(需要安装TextFX插件方可显示所有字符)打开如下

其中橙色箭头表示一个Tab符,LF表示Line Feed一个换行符,可在notepad++安装HexEditor插件查看其16进制编码。

该文件共两列,第一列为word,存放的是单词,第二列为level,存放的是一个数字。

要将该文件中的数据转化为db数据库需要做以下几步。

1.将文件中的列标题删除,只留下需要插入到db数据库文件中的纯数据,删除后如图

2.将文件导入到应用程序的databases目录下

命令格式:adb push 源文件路径目的文件路径

本文adb工具路径为d:\android\sdk\platform-tools

这里源文件words路径为D:\words

这里应用程序名称为MyApp,因此目的文件路径为/data/data/com.example.myapp/databases

因此这里使用命令adb push D:\words/data/data/com.example.myapp/databases

进入到应用程序的databases目录下,可看到文件已经导入


3.
使用SQLite建立数据库文件myapp.db并建立一个表words,表的结构必须与words文件数据的结构一致,也就是说表必须有两列,建立过程如下

通过.databases.tables的验证,数据表words已经建立完成


4.
words文件中的数据导入到words数据表中

首先通过ls命令可以看到databases目录下已经有了两个文件,分别为wordsmyapp.db,其中myapp.db文件中有一个数据表words


然后根据原始words文本文件中的数据存储的结构设置Tab符为导入数据的分隔符

命令为.separator ""其中引号"之间为一个Tab

最后即可将原始words文本文件中的数据导入到myapp.db的数据表words

命令为.import [源数据的文件全名(包括扩展名)] [目的数据表名称]

这里使用.import words words即可导入。这里名字起的不好,第一个words为源数据的文件全名,该文件无扩展名,所以只写words,若扩展名为txt,则写words.txt;第二个words为数据表的名称。

5.通过sql语句查看数据表中的数据验证是否导入成功


通过上图可看到,数据已经导入成功。

6.将已经导入数据的数据库文件导出到电脑中,以便添加到android工程中使用或者作为其他用处.

命令格式:adb pull 源文件路径目的文件路径

本文adb工具路径为d:\android\sdk\platform-tools

这里源文件words.db路径为/data/data/com.example.myapp/databases D:\words

这里为将words.db导入到电脑中的D盘,因此目的文件路径为D:\

因此这里使用命令adb pull /data/data/com.example.myapp/databases/myapp.db D:\


然后打开D盘,可以看到myapp.db了。


参考文献

[1]http://blog.csdn.net/dany1202/article/details/6589914

[2]http://database.51cto.com/art/201108/281278.htm




你可能感兴趣的:(android,文本文件,应用程序,databases,数据库文件)