안드로이드 parcelable 예제

소포는 자바 직렬화의 안드로이드 구현이다. 특정 구조와 처리 방법을 가정합니다. 이렇게 하면 표준 Java 직렬화에 비해 구획을 비교적 빠르게 처리할 수 있습니다. 그러나 구획은 동일한 프로세스 내에서 사용하여 동일한 응용 프로그램의 여러 구성 요소에 걸쳐 데이터를 전달할 수도 있습니다. 예를 들어 일반적인 Android 응용 프로그램에는 “활동”이라고 하는 여러 화면이 있으며 한 활동에서 다음 활동으로 데이터 또는 작업을 전달해야 합니다. 전달할 수 있는 개체보다 많은 개체를 작성하려면 Parcelable 인터페이스를 구현할 수 있습니다. Android 자체는 한 구성 요소에서 다른 구성 요소로 정보를 전달하는 데 사용되는 의도라는 기본 제공 구획 가능한 개체를 제공합니다. Android 구획 구현을 사용하면 메시지 컨테이너 내부에 병합된 데이터를 포함할 수 있는 구획에서 개체를 읽고 쓸 수 있습니다. 구획 가능한 인터페이스는 전송할 클래스에 메서드를 추가합니다.

이 예에서 Android 구획은 Java 직렬화 기술보다 더 빠릅니다. 주된 이유 중 하나는 Parcelable이 완전히 사용자 정의 할 수 있다는 사실이었기 때문에 개발자는 필요한 데이터를 구획 가능으로 변환 할 수 있습니다. 직렬화는 Java 리플렉션 API를 사용하여 개체를 스트림으로 변환할 때 마커 인터페이스입니다. 이로 인해 스트림 대화 프로세스 중에 많은 가비지 개체가 생성됩니다. 그래서 내 최종 판결은 직렬화 접근 방식을 통해 안드로이드 소포에 찬성 할 것입니다. 나는 HTC 욕망, 넥서스 4 및 삼성 갤럭시 S3에서 두 공연을 모두 테스트했으며 내 연구 결과는 다음과 같은 그래픽 표현에서 볼 수 있습니다. y축의 배율은 위의 API 호출을 기반으로 결과를 반환하는 데 구획 및 직렬화에 걸린 밀리초입니다. 정말 좋은 설명, 나는 우리가 안드로이드 OS가 구획 인터페이스를 구현해야합니다 개체를 “직렬화”할 수 있다는 것을 우리가 원하는 경우 우리는 직렬화를 통해 안드로이드 개발에 무지 하지 소포 이유를 이해합니다. 객체 를 구획 할 수 있도록하기 위해 우리는 구획 인터페이스에 정의 된 두 가지 방법을 구현해야합니다 : 우리의 사용자 객체가 구획 가능이기 때문에, 그것은 지금 다른 프로세스에서 실행되는 다른 응용 프로그램에서 보낼 수 있습니다, 특히를 통해 원격 서비스를 구현하는 인터페이스입니다. 다음 게시물에서, 우리는 IPC와 안드로이드의 인터페이스 정의 언어 (AIDL)를 살펴 보겠습니다. Android 구성 요소에 데이터를 전달하는 데 사용되는 번들 개체는 특수 객체의 키/값 저장소입니다. 맵과 비슷하지만 이러한 특수 개체만 포함할 수 있습니다 문자열, bool 및 정수와 같은 기본 데이터 형식에는 적합하지만 개체에는 적합하지 않습니다.

한 활동에서 다른 활동으로 개체와 해당 데이터를 전달하려는 경우 어떻게해야합니까? 당신은 구획을 사용인터페이스 우리가 안드로이드에서 두 구성 요소 사이에 객체를 전달하려는 경우, 이러한 개체는 안드로이드 구획 인터페이스를 구현해야합니다. 구획 안드로이드는 우리가 자바에서 사용되는 직렬화 및 직렬화 메커니즘입니다. 이 게시물은 우리가 두 안드로이드 활동 사이에 개체를 전달하는 구획 인터페이스를 사용하는 방법을 설명합니다. 우리는 안드로이드에서 소포의 몇 가지 기본 개념에 대해 이야기,이 게시물에서 우리는 좀 더 복잡한 예를 분석하고 우리는 우리가 객체의 목록을 소포 할 수있는 방법을 볼 것이다 또는 내부 클래스를 포함하는 클래스를 구획.

This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.