作者givemepass (〆)
看板AndroidDev
标题Re: [闲聊] Eclipse与SQLite的关系之疑问
时间Thu Dec 22 19:26:00 2011
※ 引述《sweet00914 (别理我)》之铭言:
: 请问各位大大
: 当在开发一个应用程式(需存取资料库)时,且若已经存在一资料库(*.txt,*.xls..等)
: 请问我是否应该使用SQLite DataBase Browser(或其他工具SQLiteStudio),
: 先将*.txt或*.xls转换成SQLite的格式呢?
: 还是使用模拟器命命列sqlite3的工具去create a new database呢?
: ps:前提-已存在的资料库(*.txt)的资料是固定的,只用来读取而已。
: 谢谢大家~0.0
刚研究了一下 需要的工具 phpmyadmin
如果没有的人 就去这边下载
http://www.phpmyadmin.net/home_page/downloads.php
安装完成以後 就打开浏览器
在网址列上面打上localhost 就会进入phpmyadmin
然後输入你的帐号密码(安装过程会叫你设定)
你就会看很友善的资料库处理图形介面
这时候你只需要选择一个资料 没有的话建立一个
建立好了 就点进你刚建好资料库里面
然後右边会有一个"载入" 点它
这边我很好奇哪一个资料库叫做txt(这个该不会是.sql)或者xls(这应该是excel吧?)
可能我看太少>"< 没看过这种类型的资料库
然後选择你要载入的资料库档案 以及格式
然後你就会看到你刚刚建立的资料库已经载入你刚刚汇入的资料库了
这时候!
你就选择任何一个资料表格 选择输出
然後你就会看到它要你选择是输出什麽格式?
这时候你就选SQL, 然後SQL选项就将
"新增 AUTO_INCREMENT数值" 拿掉
下面有一个下载储存不要打勾
按下"执行"
你就看到他会列出一排SQL指令
接着 你把CREATE TABLE ... 这一大串 复制贴上到记事本
然後下面还有一大串的 INSERT ... 一起贴过去
利用记事本的取代功能 将 "`" 改成 "'"
接着 打开cmd 键入 adb shell
(这边你必须到放android sdk的目录之下有一个tool-platform)
下面有一个adb.exe
或者你设定环境变数也可以
然後输入 cd /data/data/xxx.xxx.xxx/
xxx.xxx.xxx是你的package name
下ls
你可能就会看到
databases
lib
shared_prefs
这三个资料夹
databases如果你之前已经有建立资料库了 就会看到这个资料库存在
shared_prefs如果你之前有用sharedPreference的话就会看到这个
然後进入databases里面
打ls 如果有看到资料库xxx 就表示你之前已经建立好资料库xxx
如果没有看到没关系 一样直接下 等下你建立表格的时候
这个资料库 就会自动建立了
下 sqlite3 xxx
就会看到这一长串的资讯
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
然後就可以开始下指令了
把刚刚的记事本打开 复制CREATE TABLE这一段
然後直接贴上
然後下 .table 你就会看到 表格已经被建立了
接下来一口气把那一堆INSERT .... 一次复制贴上 用力的按下enter
你就会发现 一个表格成功的复制到android底下了
同理 将其他的表格一个一个 加进去
我这个算是笨做法 可是我不知道还有没有其他方便的工具
可以提供一键就import进去
我有看到.import的指令 但是我试着几次都不成功
可能我哪个步骤有错误吧!
以上就是我的解法
希望有强者能够提供更简单的做法 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.221.115.4
1F:→ KeySabre:好像phpmyadmin只是用来帮你写SQL XDD 主要是insert很多 12/22 20:37
2F:→ KeySabre:在App里比较常看到用ContentProvider.. 主要还是看你方便 12/22 20:40
3F:→ givemepass:请问楼上的大大 可是示范用ContentProvider解这题吗 12/22 22:00
4F:→ KeySabre:原PO水球问过我 说笔数超过65536... 12/22 22:37
5F:→ KeySabre:但没说是第一次还是每一次笔数都这麽多 12/22 22:38
6F:→ KeySabre:我想第一次可以用SQLiteDatabase跟File去做 一定很久 12/22 22:41
7F:→ KeySabre:但应该是只有第一次需要这麽多笔 之後只要部份更新 12/22 22:42
这边我要给你一个赞
的确 这个方法我倒是没想过 而且比在Console上操作容易多了
这样一来下面的步骤 我也知道怎麽做了 感谢指导:)
12F:→ KeySabre:原po说已存在的txt应该是csv 看是不是逗号或其他符号分隔 12/22 23:03
※ 编辑: givemepass 来自: 61.64.170.139 (12/22 23:45)