`
onedada
  • 浏览: 103351 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

如何把批量数据导入到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

 

 #cd com.wenjie.android.dictionary

cd com.wenjie.android.dictionary

 

#ls

databases (** 只有databases这个文件夹)

 

#cd databases

cd databases

 

#ls

dictionary.db (**只有dictionary.db文件)

 

#sqlite3 dictionary.db

SQLite version 3.5.0
Enter ".help" for instructions
sqlite> .separator "|"

sqlite> .import en.txt dictionary

(**en.txt成功导入到dictionary.db)

 

其他sqlite的特别用法


1. 建立索引

如果资料表有相当多的资料,我们便会建立索引来加快速度。好比说:

create index film_title_index on film(title);

意思是针对film资料表的name字段,建立一个名叫film_name_index的索引。这个指

令的语法为

create index index_name on table_name(field_to_be_indexed);

一旦建立了索引,sqlite3会在针对该字段作查询时,自动使用该索引。这一切的操作

都是在幕后自动发生的,无须使用者特别指令。

 

2. sqlite可以在shell底下直接执行命令:

sqlite3 film.db "select * from film;"

输出 HTML 表格:

sqlite3 -html film.db "select * from film;"

将数据库「倒出来」:

sqlite3 film.db ".dump" > output.sql

利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库

备份了):

sqlite3 film.db < output.sql

在大量插入资料时,你可能会需要先打这个指令:

begin;

插入完资料后要记得打这个指令,资料才会写进数据库中:

commit;

 

Jun 26, 2010

 

利用空余的时间终于搞成了电子词典的部分功能。但是遇到以下问题:
 (1).当要利用插入功能插入新单词是爆出如下问题:

android.database.sqlite.SQLiteException: error code 8: attempt to write a readonly database

 

原因是没有给SQLite数据库文件所在文件夹对应用户的读写权限。

#ls -l dictionary.db

-rw-r--r--  root       root         5120 2010-05-09 14:32 dictionary.db

 

然后把权限改了就没有问题了。

#chmod 777 dictionary.db

chomod 777 dictionary.db

#ls -l dictionary.db

-rwxrwxrwx  root       root       

 

 

 

 

 

分享到:
评论

相关推荐

    将Excel数据导入android数据库DB文件

    这将把Excel文件中的数据批量插入到SQLite数据库中。 5. **同步到Android设备**: 将修改后的.db文件通过adb命令或者Android Studio的Device File Explorer重新推送到Android设备的对应目录。 6. **在Android应用中...

    如何批量导入数据到Sqlite数据库

    在Android和iOS开发中,SQLite数据库常常被用来存储应用程序中的数据。当面临大量数据需要一次性导入到SQLite数据库时,有几种高效的方法...无论哪种方式,都能有效地帮助你批量导入数据到SQLite数据库,提高开发效率。

    android sqlite可视化工具

    1. **数据库管理**:创建新的SQLite数据库,或者导入已有的.db文件,这样就可以在Android应用中使用这些数据库。 2. **表的设计**:创建新的表,定义字段类型(如整数、文本、浮点数等),设置主键和索引,以及管理...

    SQLite数据库查看器

    6. **数据导出与导入**: 数据库查看器通常具备数据导出和导入功能,可以将SQLite数据库转换成其他格式(如CSV、Excel、XML等),或者从这些格式导入数据到SQLite,便于数据交换和备份。 7. **安全性与权限管理**: ...

    android系统数据库管理工具SQLiteExpertSetup.zip

    1. **查看数据库**:连接到Android设备或模拟器,查看已存在的SQLite数据库,浏览数据库中的表结构、记录内容以及索引信息。 2. **新建数据库**:创建新的SQLite数据库,为新的Android应用设计数据存储方案。 3. *...

    sqlite android数据库查看工具

    总之,Android数据库查看工具是开发过程中不可或缺的辅助工具,它们简化了对SQLite数据库的操作,提高了开发效率,帮助开发者更好地理解和优化应用的数据处理。使用这些工具,你可以更轻松地进行数据库管理,从而...

    android的sqlite数据库查看器——sqlitespy1.9

    在Android开发中,SQLite是一个非常重要的组件,它是...总之,SQLiteSpy是一个强大的SQLite数据库管理和调试工具,对于Android开发者来说,它能够极大地提升数据库操作的效率和便利性,帮助优化应用的性能和数据管理。

    查看sqlite数据库工具

    2. **连接数据库**:打开SQLiteSpy后,点击“File”菜单,选择“Open Database...”,然后选择Android设备上的SQLite数据库文件(如`.db`或`.db3`格式)。在Android开发环境中,通常需要通过ADB(Android Debug ...

    android学习之SQLite总结(1)

    可以通过导出SQLite数据库文件的方式实现数据备份,然后在需要时导入恢复。 以上是Android开发中SQLite的基本知识和常见操作。在实际应用中,开发者应结合具体需求,灵活运用这些知识点,构建高效、稳定的数据存储...

    SQLite 数据库浏览器

    7. 导入导出:支持将数据库文件导出为多种格式,如CSV、XML,同时也可导入这些格式的数据到数据库中。 使用SQLite Database Browser,开发者可以进行以下操作: 1. 调试应用数据存储逻辑:通过查看实际存储的数据,...

    unity3d连接sqlite数据库

    在Win7 x64环境下,使用Unity3D 4.0.0f7版本连接SQLite数据库,可以实现高效、可靠的数据存储。 首先,我们需要知道如何在Unity3D中引入SQLite支持。由于Unity3D原生不支持SQLite,因此我们需要下载并导入适用于...

    android sqlite操作

    7. **备份与恢复**:Android提供了SQLite数据库的备份和恢复功能,可以将数据库文件导出到外部存储,然后在需要时导入。这通常需要权限管理,确保用户能够访问和操作这些文件。 8. **安全性**:在存储敏感数据时,...

    android数据库管理工具SQLiteManager_V3.8.0和注册码

    SQLiteManager是一款专为Android平台设计的强大SQLite数据库管理工具,它提供了Windows版本,使得开发者和普通用户可以在PC上方便地管理和操作SQLite数据库。SQLite是轻量级的、自包含的、无服务器的、事务性的SQL...

    sqlite数据库操作码源

    SQLite数据库引擎允许开发者在无需独立服务器进程的情况下执行SQL语句,从而方便地管理游戏中的各种数据。本文将深入探讨在Cocos2d中使用SQLite进行数据库操作的关键知识点。 一、SQLite简介 SQLite是一个开源、自...

    SQLite数据库

    9. 数据备份与恢复:SQLite数据库可以通过SQLiteDev385.exe这样的工具进行备份和恢复,也可以在Android应用中实现数据的导入导出功能。 10. 性能优化:合理设计表结构(如合理使用索引)、批量插入数据、适时关闭...

    SQLite基本操作

    在Android中,SQLite数据库通常通过`SQLiteOpenHelper`类来创建和管理。首先,我们需要继承`SQLiteOpenHelper`,重写`onCreate()`和`onUpgrade()`方法。在`onCreate()`中编写创建数据库和表的SQL语句,而在`...

    使用线程操作SQLite数据库

    - **IntentService**:适合执行单一且不需要用户交互的任务,如批量数据导入。 - **线程池**:对于大量并发操作,可以使用ExecutorService创建线程池,更有效地管理线程。 - **使用Room库**:这是Android Jetpack...

    Android-SqliteDeveloper可以直接在手机上执行sqlite3命令的demo

    《Android SQLiteDeveloper:移动设备上的SQLite3命令行工具》 SQLiteDeveloper是一款专为Android...对于任何涉及到Android SQLite数据库操作的开发者来说,掌握这款工具的使用技巧,无疑会提升其开发效率和工作质量。

    Android 的 SQLite Database

    在Android开发中,SQLite数据库是一种轻量级、嵌入式的关系型数据库,它被广泛用于存储应用程序中的数据。SQLite数据库由于其高效性、可靠性和易于使用的特点,成为了Android平台上的首选本地数据存储解决方案。 ...

    android开发Sqlite学生管理系统

    本项目"android开发Sqlite学生管理系统"旨在利用SQLite数据库来实现对学生信息的有效管理,包括添加、编辑、删除和查询等基本操作。下面将详细阐述相关知识点。 1. SQLite基础知识: SQLite是一个开源的、嵌入式的...

Global site tag (gtag.js) - Google Analytics