Android开发(19) 使用adb建立pc和android设备之间的连接

需求背景

在我开发过的android应用中,大多都需要和 远程服务端 进行交互,需要从服务端获得数据或者上传数据。
那样我们的app(android 应用程序,以下简写)直接访问互联网上的服务器。
当然有wifi的时候,我们就连接wifi路由,再接入服务端。图示如下:

情景

情景1:

    android设备  <--->   位于互联网的服务器

情景2:

    android设备  <--->  WIFI路由(可能是家用的小路由等)  <--->   位于互联网的服务器

上面的情景基本满足我们的需要了。然后,我们不得不考虑到一些问题:

PC(个人电脑)仍然是我们进入互联网的主要入口。
android 设备毕竟没有pc上操作更方便
于是我们考虑到另外的情景

情景3:

android设备  <--->  PC(个人电脑)  <--->   位于互联网的服务器

这个情景里,我们的android应用程序(android app)首先和pc上的桌面应用程序(desktop app)进行交互,桌面应用程序和互联网应用程序(web app)交互。

比如我们要下载 “某个应用安装到手机上”,我们可以再 电脑上的应用程序上操作,搜索我们想要的程序,点击下载(从远程下载到本地pc),
然后安装(从pc安装应用到android 手机)。
我们常见到的“豌豆荚”,“腾讯手机助手”等都是这样的使用方式。
本文主要讨论 情景3

实现

如果要实现情景3.我们需要开发:

1.一个桌面应用程序,desktop app。

用于:从互联网提取数据,并将数据传输到android 手机内。

2.一个运行在android设备的 android app

 用于:接收来自desktop app的数据。
 接受来自desktop app的指令,执行相关操作,返回消息到pc。

2.1桌面应用程序的实现

要做桌面应用,当然还是用winform(.net方向)来实现了。
想建立pc和手机之间的同步,我们需要依托adb来实现。我们看看adb是什么?

    Android Debug Bridge
    
    概述
      adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
      adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有:
      * 运行设备的shell(命令行)
      * 管理模拟器或设备的端口映射
      * 计算机和设备之间上传/下载文件
      * 将本地apk软件安装至模拟器或android设备

要使用adb,我们可以在我们的sdk目录下找到它。

位于 android-sdk\platform-tools 下的几个文件

adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll

我们需要这3个文件。拷贝到我们的winrom工程下。

调用

在.net winfrom中,我们需要 调用adb.exe来完整一系列的操作。
我们一般使用process类来启动新的进程。如下:

1.列出当前所有连接到pc的android 设备。(以得到一个设备ID)

2.安装某个apk(android 应用程序包)到手机。

3.发送广播以启动手机内的某个服务。

4.在pc上映射端口。该端口将某个android的端口,应该到pc的端口,然后我们就可以使用这个端口和设备进行通讯了。

我封装了一个process执行adb.exe的类,参考我的博客:

http://www.cnblogs.com/vir56k/archive/2012/12/03/2799810.html

2.1 Android应用的实现

我们需要开一个 守护程序,来监听来自pc的指令,以执行相关操作的相应。我们需要:

1.编写一个广播接收器,以收到某个 广播消息时,启动 监听服务。

2.编写一个监听服务。在服务里启动监听服务,我们需要监听来自某个端口的消息,这个端口是手机和pc之间的同路。由于android 设备的特点,我们需要用java nio来实现监听,以提高性能。

3.实现监听服务里的消息响应,根据具体的业务需要,完成和pc之间的消息响应。

参考:http://blog.csdn.net/wufenglong/article/details/5778862

http://wenku.baidu.com/view/89bee443be1e650e52ea99c5.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,398评论 25 707
  • 最近几年人人都在喊的“消费升级”到底是什么? 一个流行的答案是:消费者正在买越来越贵的东西。 这里暗含的意思是:如...
    LinkLiKang阅读 196评论 0 1
  • 写在赛前的,勇士和骑士又在总决赛相遇,有种去年没玩够,今天还是你的意思。 相比较去年,两队都有很大的变化。教练方面...
    李少阅读 187评论 2 1
  • 走在街上 人群匆匆忙忙 没人发现我的忧伤 不敢回家 只有独自流浪 怕总想起甜蜜过往 也曾想过 把过去全遗忘 好好地...
    郑州小强阅读 162评论 1 1