Android AIDL 에서 Map 매개 변수 전달 문제 에 대한 상세 한 설명
1345 단어 androidaidlmap 매개 변수 전달
AIDL 은 Android 인터페이스 Definition Language,즉 Android 인터페이스 정의 언어 라 는 줄 임 말이다.
우 리 는 모두 aidl 이 맵 을 매개 변수 로 전달 하 는 것 을 지원 한 다 는 것 을 알 고 있 지만 전 제 는 맵 이 범 형 일 수 없고 데이터 형식 은 aidl 이 지원 하 는 String,int 등의 맵 매개 변수 여야 한다.
interface IMyAidl {
void test(Map<String,String> datas);
}
이렇게 쓰 면 정상적으로 진행 할 수 있 을 거 라 고 생각 했 는데 이렇게 하면 틀 릴 수 있 습 니 다.다음 과 같은 이상 을 던 집 니 다.상기 오류 에서 먼저 맵
이것 은 확실히 문제 다.
해결 방법
나 는 인터넷 에서 몇 가지 자 료 를 찾 아 보 았 는데,이 방면 을 거의 소개 하지 않 는 것 을 발견 하 였 다.마지막 으로 끊 임 없 는 시도 에서 다음 과 같은 방법 으로 해결 할 수 있 음 을 발견 했다.
interface IMyAidl {
void test(in Map datas);
}
맵 앞 에 in 수정자 가 없 으 면 이상 을 던 질 수 있 습 니 다.따라서 사용 할 때 맵 은 in,out 또는 inout 로 밝 혀 야 합 니 다.이제 바로 사용 할 수 있 습 니 다.
인터넷 상에 서 이 문제 에 대한 기록 이 너무 적기 때문에 나 는 나 와 마찬가지 로 이 문 제 를 겪 은 사람 에 게 해답 을 써 냈 다.
비고:왜 이렇게 사용 하 는 지 아직 잘 모 르 겠 습 니 다.잘 부탁드립니다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.