Content Provider是抽象数据封装和数据访问机制,例如SQLite是Android设备带有的数据源,可以封装到一个content provider中。要通过content provider进行读写,需要使用URI。推荐阅读Android学习笔记(四七):Content Provider初谈和Android联系人信息、Android学习笔记(四八):提供自己的Content Provider和Android学习笔记(四九):通过Content Provider访问数据。Content Provider的重要作用实现应用之间的数据共享,而对于应用内的数据访问,Android提供多种方式,有Preferences,文件,SQLite,以及通过HTTP服务访问Internet。

Android有些内置content Provider,我们可以在android.provider软件包中查看,如contact,mediastore,如非内置,则必须通过content provider接口实现。

Android的数据库

SQLite是内容提供者常用的数据源。我们可以使用Android和SQLite的命令来对SQLite数据进行处理,这些命令位于/sdk/tools和/sdk/platform-tools中。为了方便使用这些命令,我们在Windows中设置脚本文件myandroid.bat,进行环境变量的设置。而在Linux中,则可以通过export PATH=$PATH:$HOME/...来进行设置。

set SDKPATH=D:\developer\adt-bundle-windows-x86\adt-bundle-windows-x86-20130522\sdk
PATH=%PATH%;%SDKPATH%\tools;%SDKPATH%\platform-tools

Android提供了adb命令,可以对模拟器或所连接的设备进行操作。adb,即Android Debug Bridge,详细命令可以在http://developer.android.com/tools/help/adb.html中阅读。

在前面我们已经学过使用adb devices来查看当前有效的设备。如果没有连接设备或者没有开启模拟器,我们可以通过emulator @avdname来开启模拟器,而avdname是AVD的名称,有效的avdname可以通过android list avd命令来查看,当然我们可以通过eclipse来打开。

通过下面命令对所连接设备或模拟器进行操作。

adb shell

进去后,我们可以通过ls /system/bin查看可使用的命令。数据信息存放在/data/data目录下,按安装包来分类。我们可以通过ls –R /data/data/*/databases看看那些包下面有SQLite数据库。例如Android内置的一些DB。

这些*.db文件是就SQLite数据库。在Android数据库通常在第一次访问的时候创建。要接近数据库采用:

sqlite3 /data/data/<包名。例如com.android.providers.contacts>/databases/<数据库文件:contacts.db>

下面是一些常用SQLite命令:

sqlite>.exit 退出sqlite
sqlite>.tables 显示tables列表
可使用SQL语言,一样要在最后加上分号。


从上图中看,.schema table_name给出的内容很不直观,我们可以将*.db文件拷贝出来,用专门的数据库工具来查看,例如sqliteman,也可以在本地通过sqlite3命令进行操作。将文件拖出来的命令如下,不填写<本地路径>,则为当前目录。

常用SQL语言

记录一些常用的SQL语言。

select * from table1;
select count(*) from table1;
select col1, col2 from table1;
select distinct col1 from table1;
select count(col1) from (select distinct col1 from table1);
select count(*), col1 from table1 group by col1;
select * from table1 t1, table2 t2 where t1.col1 = t2.col1;
select * from table t1 left outer join table2 t2 on t1.col1 = t2.col1 where ....


相关链接: 我的Android开发相关文章

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. 查看Android系统内存使用的方法
  3. android小项目打地鼠(五)
  4. Android(安卓)下载模块分析(DownloadManager和DownloadProvider)
  5. android sdk sdkmanger无界面使用方法(命令行更新SDK)
  6. Android(安卓)网络提交数据(使用Asynchronous Http Client)
  7. Android(安卓)学习之那些年我们遇到的BUG8:ArrayAdapter 直接使用
  8. Android(安卓)官方数据绑定 Data Binding Library
  9. Android(安卓)- base - SQLite

随机推荐

  1. 多款Android播放器源码集锦
  2. android布局小总结
  3. android 布局xml常用属性
  4. Android之布局属性归纳
  5. Android精简代号
  6. Android应用开发——系统自带样式Android
  7. Android实现TextView跑马灯效果
  8. Android之布局属性归纳
  9. Android(安卓)相对布局
  10. Android之布局属性归纳