Класс UsbInterface Печать
Добавил(а) microsin   

Класс UsbInterface представляет устройство USB, подключенное к системе Android, работающей в режиме хоста. Каждое устройство содержит один или большее количество интерфейсов (доступ к ним осуществляется через класс UsbInterface), каждый из интерфейсов в свою очередь содержит некое количество конечных точек (доступ к ним осуществляется через класс UsbEndpoint).

При доступе к устройствам USB обычно используется следующая цепочка использования классов (UsbInterface является промежуточной точкой взаимодействия с устройствами USB):

UsbManager -> UsbDevice -> UsbInterface -> UsbEndpoint -> UsbDeviceConnection

[Обзор класса UsbInterface]

Класс UsbInterface представляет интерфейс устройства USB (которое в свою очередь представлено классом UsbDevice). Устройство может один или несколько интерфейсов, каждый из которых предоставляет определенную часть функционала устройства USB, отличающуюся от других интерфейсов. Интерфейс в свою очередь может иметь одну или несколько конечных точек UsbEndpoint, которые олицетворяют каналы взаимодействия (обмена данными) между хостом USB (в данном случае это система Android) и устройством USB. Информация об интерфейсе и конечных точках компонуется и создается на основе данных, полученных из стандартных дескрипторов устройства USB.

Класс UsbInterface находится в пакете android.hardware.usb.UsbInterface, расширяет (extends) объект Object, и реализует (implements) объект Parcelable. Класс UsbInterface (как и поддержка режима хоста USB) была добавлена в Android начиная с API Level 12. Общую информацию по поддержке режимов Host и Accessory см. в [2].

Унаследованные константы (Inherited Constants)
Из интерфейса android.os.Parcelable
int CONTENTS_FILE_DESCRIPTOR Битовые маски для использования с describeContents(): каждый бит представляет вид объекта, который, как предполагается, при упорядочении имеет потенциальное особое значение.
int PARCELABLE_WRITE_RETURN_VALUE Флаг для использования с writeToParcel(Parcel, int): записанный объект является возвращаемым значением, которое является результатом функции наподобие "Parcelable someFunction()", "void someFunction(out Parcelable)", или "void someFunction(inout Parcelable)".
Поля (Fields)
public static final Creator<UsbInterface> CREATOR
Общедоступные методы (Public Methods)
int describeContents()
Описывает некие специальные объекты, содержащиеся в этом упорядоченном представлении Parcelable.
UsbEndpoint getEndpoint(int index)
Возвращает UsbEndpoint по указанному индексу.
int getEndpointCount()
Возвращает количество конечных точек UsbEndpoint, которые содержит этот интерфейс.
int getId()
Возвращает поле идентификатора интерфейса.
int getInterfaceClass()
Возвращает поле класса интерфейса.
int getInterfaceProtocol()
Возвращает поле протокола интерфейса.
int getInterfaceSubclass()
Возвращает поле подкласса интерфейса.
String toString()
Возвращает строку с кратким, удобным для чтения человеком описанием этого объекта.
void writeToParcel(Parcelparcel, int flags)
Сводит этот объект к Parcel.

[Поля (Fields)]

public static final Creator<UsbInterface> CREATOR

[Общедоступные методы (Public Methods)]

public int describeContents ()

Описывает некие специальные объекты, содержащиеся в этом упорядоченном представлении Parcelable.

Возвращает
  • битовую маску, показывающую набор специальных объектов, упорядоченных через Parcelable.

public UsbEndpoint getEndpoint (int index)

Возвращает конечную точку UsbEndpoint по указанному индексу. Интерфейсу устройства USB может принадлежать одна или несколько конечных точек.

Возвращает
  • конечную точку

public int getEndpointCount ()

Возвращает количество конечных точек UsbEndpoint в этом интерфейсе USB. Конечная точка по умолчанию (она же endpoint 0, она же default control endpoint) при этом не учитывается (она относится не к интерфейсу, а ко всему устройству USB в целом).

Возвращает
  • количество конечных точек в интерфейсе

public int getId ()

Возвращает поле интерфейса устройства ID, прочитанное из дескрипторов. Это целое число, уникально идентифицирующее интерфейс в пределах устройства USB.

Возвращает
  • ID интерфейса

public int getInterfaceClass ()

Возвращает поле класса интерфейса, прочитанное из дескрипторов. Некоторые полезные константы, касающиеся классов USB, могут содержаться в UsbConstants.

Возвращает
  • класс интерфейса

public int getInterfaceProtocol ()

Возвращает поле протокола интерфейсов, прочитанное из дескрипторов.

Возвращает
  • протокол интерфейса

public int getInterfaceSubclass ()

Возвращает поле подкласса интерфейса, прочитанное из дескрипторов.

Возвращает
  • подкласс интерфейса

public String toString ()

Возвращает строку с кратким, удобным для чтения человеком описанием этого объекта. Рекомендуется для подклассов перезадавать (override) этот метод и предоставлять реализацию, которая учитывает тип и данные объекта. Реализация по умолчанию эквивалентна следующему выражению:

   getClass().getName()+'@'+Integer.toHexString(hashCode())

См. документ Writing a useful toString method, если хотите создать свою собственную реализацию метода toString.

Возвращает
  • печатаемое текстовое представление этого объекта.

public void writeToParcel (Parcel parcel, int flags)

Сводит этот объект в Parcel.

Параметры
parcel Parcel, в который объект должен быть записан.
flags Дополнительные флаги, сигнализирующие о том, как этот объект должен быть записан. Может быть равен либо 0, либо PARCELABLE_WRITE_RETURN_VALUE.

[Ссылки]

1. UsbInterface site:developer.android.com.
2. Android как USB хост и как USB устройство.