質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

3回答

7532閲覧

AndroidアプリでUSB経由でキーを送信したい

701series

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2016/07/27 05:27

編集2016/07/27 08:23

###前提・実現したいこと
androidアプリ開発をしています。シークバーを+1動かすとPCに例えばaキーが送信され、-1動かすとbキーが送信されるようなアプリを作っています。キーを送信するとき、USBケーブルを経由して送信しようと思います。USB経由で送信するときはどのようなコードが必要なのでしょうか?ぜひご回答お願いします。
追記:もしUSBで遅延が発生するならローカルネットワーク上で変数(キーを送信しろみたいな命令)
を送信することも可能でしょうか?
###補足情報
開発環境:Android Studio 2.1.2
API: Android 5.1 API22
Android側からWindowsのPCにキーを送信するイメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

intelf___

2016/07/27 07:15

何に送るのかが書かれていません。 対象はPC(Win/Linux)やAndroidでしょうが、それぞれ受信側の処理が大きく変わってきます。
701series

2016/07/27 07:28

編集しておきます。Windowsです。
guest

回答3

0

参考になりそうなサイト見つけたので張っておきます
AndroidとPCのUSB通信のサンプル

投稿2016/07/27 08:41

abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

Windowsでしたら、COMポート通信、シリアルポート通信などで調べると情報がでてきます。
COMポートはUSBの差込口のことを指します。(厳密には違うけど)
USBのポートが4つあるならCOM1~COM4の名前がついていると思います。
これはデバイスドライバで確認ができます。

USB接続をしたら、そのUSBが接続されているCOMポートの名前を取得して、それをプログラム内で指定することによって入出力先のパイプだかストリームだかを取得できます。

C#ではport.PortName = "COM4"のように構造体(のようなクラス)にstring型で渡しましたが、これは言語によってちがうでしょう。

windows側の実装はこんな感じです。

Androidでは、USBアクセサリモードとUSBホストモードなど要素が入ってきます。
PCと接続する場合はアクセサリモードでしょう。ホストモードはマウスなどをつなぐ場合です。
どちらを中心として考えるか(電源供給するか)とかの違いです。
その代り、Android端末はUSBのポートが一つしかないので名前の指定などはありません。

投稿2016/07/27 07:56

intelf___

総合スコア868

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

701series

2016/07/27 08:13 編集

ということは単純にWindowsにキーを送信したいだけでも、Windows側にC#などで変数を受けとるソフトを作って、特定のソフトウェアにaキーなどを変数を受け取ったソフトが送信しないとダメなんですね?
coco_bauer

2016/07/27 08:12

Windows側にはAndroidから送られてくるデータを受け取るプログラムが、Android側にはデータをWindows側に送るプログラムが必要です。携帯電話で話をする場合、自分が携帯電話でダイヤルするだけでは駄目で、相手も携帯電話に電源を入れておくことが必要でしょ?
701series

2016/07/27 08:15

もちろん遅延もありますよね?
701series

2016/07/27 08:38

coco_bauerさん、ありがとうございます。確かにそうですね。
intelf___

2016/07/27 08:47

Bluetoothですら遅延はほとんど感じられません。 リアルタイムな処理が可能なレベルです。
701series

2016/07/27 08:53

ないんですか。でしたらCOMポート通信をAndroidアプリに搭載させる方法を今度見つけようと思います。ありがとうございました。
guest

0

私自身やったことないですが、UsbManagerやUsbAccessoryについて調べるといいでしょう。

投稿2016/07/27 06:38

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

701series

2016/07/27 08:38

Usbmanagerでキー送信できるんですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問