当前位置: 代码迷 >> Android >> pc经过usb操作android的sqlite数据库
  详细解决方案

pc经过usb操作android的sqlite数据库

热度:25   发布时间:2016-05-01 14:43:51.0
pc通过usb操作android的sqlite数据库
如题,本人开发一个android程序,由于涉及到保密,是禁止无线网络的,但需要连接上pc服务器数据库进行数据的上传和更新,只能通过USB来操作。原来解决的方法是先通过adb pull将sqlite的db文件拷到pc上,通过PC上的应用程序更新好数据库后在通过adb push将db数据文件拷回android的平板电脑中,但这样拷贝数据所耗的时间过多,操作比较耗时,能不能通过PC直接对android的sqlite数据库操作。像豌豆荚一类软件能够直接在数据库中读取联系人信息之类的。网上找了好久也没有好的方法。。。。。

------解决方案--------------------
这个要用socket吧,豌豆夹也会在手机里面装一个apk文件,用来和pc通信,这个apk会读取联系人,短信等等,然后用socket管道发给pc
------解决方案--------------------
你要在PC端有个客户端才对,两者信通信,USB2.0应该还可以吧,其实走无线也不是不安全,要看如何处理
------解决方案--------------------
用ADB的shell命令,环境变量配置你会吧。
就是把android-sdk-windows目录中的tools和platform-tools目录的全路径Copy到环境变量中的path中。
你应该会的。
然后就可以直接操作了,如下所示:


Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\SUN>adb shell
# cd data/data/com.hwtt.mobile/databases
cd data/data/com.hwtt.mobile/databases
# ls -l
ls -l
-rw-rw---- app_49 app_49 110592 2012-08-17 09:18 OAMOBILEDB
-rw-rw---- app_49 app_49 14336 2012-08-17 12:58 webview.db
-rw-rw---- app_49 app_49 20480 2012-08-17 13:00 webviewCache.db
# sqlite3 OAMOBILEDB
sqlite3 OAMOBILEDB
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .schema
.schema
CREATE TABLE ALREADYSAVE_TABLE(_id integer primary key autoincrement, SAVEDATA_TYPE integer, SAVEDATATYPE_ID integer, USER_ID
 integer, DEPART_ID varchar(30));
CREATE TABLE DEPART_TABLE(_id integer primary key autoincrement, DEPART_ID varchar(30) not null, SUPER_DEPART_ID varchar(30)
not null, DEPART_NAME varchar(50) not null, DEPART_DESCRIPTION text, DEPART_RESPONSIBLE_PERSON integer);
CREATE TABLE GROUP_MEMBER_TABLE(_id integer primary key autoincrement, USER_ID integer not null, GROUP_ID integer not null, M
EMBER_TYPE varchar(30));
CREATE TABLE GROUP_TABLE(_id integer primary key autoincrement, GROUP_ID integer not null, GROUP_NAME varchar(30) not null, G
ROUP_DESCRIPTION text, GROUP_ISDEL integer, GROUP_CREATE_PERSON integer);
CREATE TABLE PERSONMSG_TABLE(_id integer primary key autoincrement, TITLE varchar(50), CONTENT text, OUTOBXPERSON varchar(30)
, INBOXPERSON varchar(30), CREATEDATE varchar(30), STATUS integer);
CREATE TABLE PERSONSMS_TABLE(_id integer primary key autoincrement, PHONE_NUMBER varchar(20), CONTENT text, TYPE varchar(30),
 OUTOBXPERSON varchar(30), CREATEDATE varchar(30), REPLYDATE varchar(30));
CREATE TABLE TMPIC_TABLE(_id integer primary key autoincrement, FILENAME varchar(100), BLOCKINDEX integer, BlLOCKVALUE intege
r, BLOCKSIZE integer, FILEFLAG integer);
CREATE TABLE USER_TABLE(_id integer primary key autoincrement, USER_ID integer not null, USER_NAME varchar(30) not null, DEPA
RT_ID varchar(30) not null, POSITION_NAME varchar(30));
CREATE TABLE android_metadata (locale TEXT);
sqlite>
  相关解决方案