CAFE

댓글

뒤로

안드로이드 태블릿과 다른 디바이스가 usb로 연결되있을시 태블릿상에서 현재 시스템에 연결된 serial port number 얻는 방법

작성자박태근| 작성시간14.11.02| 조회수454| 댓글 4

댓글 리스트

  • 작성자 슈퍼성근 작성시간14.11.03 안녕하세요. ^^

    질문하나 올리시는데 이렇게까지 고민하고 올리시라고
    공지사항을 제공한 것은 아닙니다.
    (프로젝트를 진행하면서 무분별하게 질문을 많이 하시는 분이 계셔서.. ^^;;)

    ANR부터 해결하셔야 겠네요.
    ANR은 메인스레드에서 5초, 10초, 20초(컴포넌트마다 ANR 시간이 다름)
    의 긴작업을 수행할 때 발생됩니다.
    이런 작업은 작업 스레드를 생성해서 하셔야 겠지요.
    USB의 경우 대기 시간이 긴 작업에 해당합니다.

    혹시 어떤 컴포넌트에서 작업 중이신간요?(액티비티, 서비스, 리시버)

    그리고 혹시 메인스레드에 대해서 모르신다면
    책의 14장을 참조하시거나
  • 작성자 슈퍼성근 작성시간14.11.03 카페의 "안드로이드 기본 강좌 - ANR, 서비스"를 참조하시기 바랍니다.
    안드로이드 앱을 개발하시려면
    메인 스레드, 핸들러, 메세지큐 등의 개념을 꼭 이해하셔야 하거든요.

    수고하세요.
  • 답댓글 작성자 박태근 작성자 본인 여부 작성자 작성시간14.11.03 일하시느라 바쁘실텐데 소중한 시간 내어서 답변 주셔서 너무 감사합니다. 지적해주신 ANR부분과 3가지 주요 챕터에 대해서 다시 한 번 정독해보겠습니다.

    제가 질문하고자 하는 내용은 usb 시리얼 통신 구현중에서 ' C#의 GetPortNames() 함수처럼, 안드로이드 기반의 태블릿 디바이스에는 usb 포트가 연결되었을 때, 시스템에 연결된 직렬 포트를 얻어오는 함수가 어떤 라이브러리에 있는지 여부' 입니다. 하지만 성근님께서 쉽게 파악할 수 없는 형태로 작성한 것 같아 좀 더 성의있게 적었어야 하는 아쉬움이 남습니다.
  • 답댓글 작성자 슈퍼성근 작성시간14.11.04 박태근 앗 죄송합니다. 늦게 보았네요. ^^

    이미 답을 찾으셨을 것 같습니다.
    위에
    List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager);
    소스에서
    UsbSerialDriver 클래스를 이용하시면
    getDeviceName () 등과 같은 함수들이 제공됩니다.

    사실 저도 USB 관련된 프로젝트 등을 수행한 적은 없어
    정확히 원하는 답을 드리긴 어렵네요. ^^;

    그리고 박태근 님께서 쓰신 글의 내용이라면 매우 훌륭합니다.
    이해하기도 쉬웠고 쉽게 파악할 수 있었습니다. 감사합니다.
    오히려 제가 잘 몰라서 문제였네요. ^^;
맨위로

카페 검색

카페 검색어 입력폼
카카오 이모티콘
사용할 수 있는 카페앱에서
댓글을 작성하시겠습니까?
이동시 작성중인 내용은 유지되지 않습니다.