2012-05-17 26 views
7

私のコンピュータからusbデータケーブルでAndroidアプリケーションと通信したいと思います。私はどのリスナーを実装すべきですか?AndroidでのUSBデータケーブル通信

TCP接続が私のニーズに合っていると思いますが、adbドライバ経由で接続するのは難しいようです。

データケーブルを使用してWindowsからAndroidに通信するにはどうすればよいですか?

答えて

8

私はこの件について素敵な投稿を見つけましたhere。 AndroidデバイスとPC間のポート転送を行うには、基本的にadbが必要です。例として:

C:\android-sdk-windows\tools\adb.exe forward tcp:38300 tcp:38300 

次に、AndroidデバイスとPCの両方で標準ソケットプログラミングを使用できます。

+0

素晴らしい!チップをありがとう! – opc0de

+0

私はそれを試しました(私のAPはポート21121を使用しています)。その後、タブレットの無線LANをオフにして、私のAP(PCとアンドロイドが一緒に話すことになっています)を実行します。彼らは私が行う瞬間ではありませんsocket socket = new Socket(mServerIP、21121);ソケットが失敗IOException – steveh

+0

私はPC上のサーバーソケット(それを聞いて受け入れる)とクライアントのアンドロイドのソケットを持っているので、これは私のために動作しないと思う。私はアンドロイドでポートフォワーディングをする必要があると思いますか?私は無料のポートフォワーダーのクーペを試しましたが、どれも成功しませんでした。 – steveh

3

Androidは、USBアクセサリとUSBホストの2つのモードで、さまざまなUSB周辺機器とAndroid USBアクセサリ(Androidアクセサリプロトコルを実装するハードウェア)をサポートしています。 USBアクセサリモードでは、外部USBハードウェアがUSBホストとして動作します。詳細は

は、以下を参照してください。USB Host and Accessoryと例click here

+2

Unfortunatley USBアクセサリとホストモードは、Android 3.1で直接サポートされています。(mannyの人はアンドロイド3.1以降である必要はありません – opc0de

+0

外部ライブラリを使用できます。http://developer.android.com/guide/topics/usb /accessory.html#choosing – Hesam

1

をあなたは、次のコードを使用し、USBデータ転送ケーブル(とも呼ばれるUSBデータリンクケーブル) サポートAPIやSDKを持っている必要があります。

void usb2usbComm() 
{ 
BYTE  buf[65530]; 
LPU2URET pU2uRet; 
BOOL  bRet; 
int   ret; 
CString  msgstr; 

ret = u2u_open(); 
if (ret == -1){ 
    AfxMessageBox("Open U2U device Success."); 
}else{ 
    msgstr.Format("Open U2U device fail,return:%d", ret); 
    AfxMessageBox(msgstr); 
    return; 
} 

//send data 
bRet = u2u_SendData(buf, 65530, ret); 
if(!bRet) 
{ 
    msgstr.Format("Send data error,return:%d", ret); 
    AfxMessageBox(msgstr); 
    return; 
} 

//receive data 
while (1){ 
    bRet = u2u_RecvData(recvData, dataLen, ret); 
    if(!bRet) 
    { 
     msgstr.Format("Receive data error,return:%d", ret); 
     AfxMessageBox(msgstr); 
     u2u_close(); 
     return; 
    }else{ 
     break; 
    } 
} 
u2u_close(); 


} 

参照: Reference1Reference2

0

データ量が少ない場合、あなただけのMTPを使用して前後にファイルをコピーするかもしれませんプロトコル。ほとんどのデバイスですぐに使用でき、USBデバッグを有効にするか、USBアクセサリモードを使用する必要はありません。

関連する問題