2010-06-28 5 views
4

에 가능한 복제를 활동에서 Bluetooth 연결을 유지 :
Android: How to pass a Bluetooth connection to another Activity?안드로이드

나는 블루투스 연결을 통해 데이터를 전송 될 것입니다있는 응용 프로그램이 있습니다.

개념 증명 애플에서는 Bluetooth 통신을 다른 스레드에 넣을 수 있었고 다른 모든 작업을 ViewFlipper를 사용하여 동일한 활동에 보관할 수있었습니다.

그러나 다음 반복에서는 여러 가지 "화면"(활동)을 사용해야 할 것입니다. 흐름은 다음과 같이 바뀝니다.

초기 활동은 데이터를 가져올 Bluetooth 장치에 연결됩니다.

"기본"활동을 벗어난 활동 중 하나는 BT 장치에서 데이터 목록을 가져 와서 목록보기에 표시하는 것입니다. 그런 다음 항목을 클릭하면 데이터에 대한 자세한보기 (다른 활동에 표시되지만 BT 연결에 액세스해야 함)가 필요합니다.

"기본"활동에 대한 추가 활동이있을 것입니다.

제 질문은 Bluetooth 연결을 한 번 시작하고 각 작업에 대해 다시 시작할 필요가없는 상황을 관리하는 가장 좋은 방법은 무엇입니까?

답변

-1

응용 프로그램 하위 클래스의 정적 필드로 저장합니다 (필요한 경우 응용 프로그램 컨텍스트로 인스턴스화).

1

Alex가 연결 용 컨트롤러를 사용자 정의 application 클래스의 하위 클래스 멤버로 저장한다고 말했기 때문입니다.

Android 애플리케이션 클래스를 확장하는 애플리케이션 클래스를 만들어 매니페스트에 등록해야합니다. 이제 getApplication으로 응용 프로그램을 가져 와서 하위 클래스로 전송할 수 있습니다. 이제 Application 클래스의 멤버 변수에 액세스 할 수 있습니다.

일부 다른 가능성은 android documentations에 설명되어 있습니다.

응용 프로그램 클래스에서 정적 필드를 사용하지 않겠습니다. 어쨌든 하나의 응용 프로그램 클래스 만 있으므로 응용 프로그램이 실행되는 동안 전체 응용 프로그램 개체가 파괴되지 않을 것입니다. 안드로이드 서적의 저자 중 일부는 이것이 정적 변수에 대해 확실하지 않다고 말합니다.