安卓连接数据库问题,求解

安卓连接数据库问题,求解,第1张

android的系统数据库在调用的时候都封装了 我们只需要写where的condition,表结构和标明对我们都是不透明的 这就对深入了解带来了很多麻烦,即使有源码查看起来也很费劲。

android使用的是sqlite数据库,一般都是每个模块都有一个.db文件,我们可以将系统里的.db文件拷出来在使用android tool中的sqlite3命令来 *** 作和测试数据库。

首先启动模拟器或将手机连接电脑

使用find命令将系统中所有的db文件找出来

adb shell find / -name '*.db' -type f

/mnt/sdcard/openfeint/webui/manifest.db

/mnt/sdcard/dbms/DBMS.db

/data/system/accounts.db

/data/data/com.android.vending/databases/assets14.db

/data/data/com.android.vending/databases/suggestions.db

/data/data/com.android.vending/databases/webviewCache.db

/data/data/com.android.vending/databases/webview.db

/data/data/com.android.vending/databases/billing4.db

/data/data/com.android.providers.userdictionary/databases/user_dict.db

/data/data/com.android.providers.telephony/databases/mmssms.db

/data/data/com.android.providers.telephony/databases/telephony.db

/data/data/com.android.providers.settings/databases/settings.db

/data/data/com.android.providers.media/databases/internal.db

/data/data/com.android.providers.media/databases/external-bd717cb2.db

/data/data/com.android.providers.media/databases/external-5c2507fe.db

/data/data/com.android.launcher/databases/launcher.db

/data/data/com.example.android.apis/databases/webviewCache.db

/data/data/com.example.android.apis/databases/webview.db

/data/data/com.eclipsim.gpsstatus2/databases/google_analytics.db

/data/data/com.eclipsim.gpsstatus2/databases/webviewCache.db

/data/data/com.eclipsim.gpsstatus2/databases/webview.db

/data/data/com.android.inputmethod.latin/databases/userbigram_dict.db

/data/data/com.android.inputmethod.latin/databases/auto_dict.db

/data/data/com.google.android.gsf/databases/talk.db

/data/data/com.google.android.gsf/databases/webviewCache.db

/data/data/com.google.android.gsf/databases/webview.db

/data/data/com.google.android.gsf/databases/googlesettings.db

/data/data/com.google.android.gsf/databases/subscribedfeeds.db

/data/data/com.google.android.gsf/databases/gservices.db

/data/data/com.google.android.gsf/databases/gls.db

/data/data/com.google.android.googlequicksearchbox/databases/qsb-log.db

/data/data/com.google.android.gm/databases/downloads.db

/data/data/com.google.android.gm/databases/mailstore.qinjiangli85@gmail.com.db

/data/data/com.google.android.gm/databases/gmail.db

/data/data/com.google.android.apps.genie.geniewidget/databases/weather.db

/data/data/com.cooliris.media/databases/launcher.db

/data/data/com.cooliris.media/databases/picasa.db

/data/data/com.android.email/databases/EmailProviderBody.db

/data/data/com.android.email/databases/EmailProvider.db

/data/data/com.android.providers.drm/databases/drm.db

/data/data/com.getsetgames.megajump/databases/google_analytics.db

/data/data/com.getsetgames.megajump/databases/webviewCache.db

/data/data/com.getsetgames.megajump/databases/webview.db

/data/data/com.android.providers.downloads/databases/downloads.db

/data/data/com.rich.webviewtest/databases/webviewCache.db

/data/data/com.rich.webviewtest/databases/webview.db

/data/data/com.android.deskclock/databases/alarms.db

/data/data/com.android.providers.contacts/databases/contacts2.db

/data/data/com.android.providers.calendar/databases/calendar.db

/data/data/com.android.browser/app_icons/WebpageIcons.db

/data/data/com.android.browser/app_geolocation/CachedGeoposition.db

/data/data/com.android.browser/app_databases/Databases.db

/data/data/com.android.browser/app_appcache/ApplicationCache.db

/data/data/com.android.browser/databases/browser.db

/data/data/com.android.browser/databases/webviewCache.db

/data/data/com.android.browser/databases/webview.db

/data/data/com.android.bluetooth/databases/btopp.db

有了个db文件列表我们就可以把这些db 复制到电脑上进行 *** 作了

以通讯录数据库为例执行以下 *** 作:

adb pull /data/data/com.android.providers.contacts/databases/contacts2.db F:/androidres/systemdb

--1669 KB/s (271360 bytes in 0.158s)

F:/androidres/systemdb为任意本地目录 不明白pull命令的查看adb help

用sqlite3打开这个文件

F:/androidres/systemdb>sqlite3 contacts2.db

SQLite version 3.6.22

Enter ".help" for instructions

Enter SQL statements terminated with a ""

sqlite>.tables

_sync_state settings

_sync_state_metadata status_updates

accounts v1_settings

activitiesview_contacts

agg_exceptionsview_contacts_restricted

android_metadata view_data

calls view_data_restricted

contact_entities_view view_groups

contact_entities_view_restricted view_raw_contacts

contacts view_raw_contacts_restricted

data view_v1_contact_methods

groupsview_v1_extensions

mimetypes view_v1_group_membership

name_lookup view_v1_groups

nickname_lookup view_v1_organizations

packages view_v1_people

phone_lookup view_v1_phones

propertiesview_v1_photos

raw_contacts

不能与数据库连接的

Android客户端不能直接与服务器数据库连接。数据库是需要非常大的内存,安装之后有好几G,连接数据库要有一个像SQLServer里的webservice,这样的一个桥梁来间接访问。就是在服务器运行一个服务端程序,该服务端程序通过接收来自android客户端的指令,对数据库进行 *** 作。

客户端的http请求可以通过 HttpClient类实现,在anddroid 4.0之后,客户端的网络请求已经不被允许在主线程中运行,所以还需注意另开启一个子线程进行网络请求。

扩展资料:

Android安全权限机制:

Android默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的 *** 作。这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。

下载一款Android应用通常会要求如下的权限:拨打电话、发送短信或彩信、修改/删除SD卡上的内容、读取联系人的信息、读取日程信的息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、

还有对互联网的完全访问、查看网络状态,查看WiFi状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄图片等。

参考资料来源:百度百科——Android


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9565297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存