2011-08-17 11 views
1

Android 용 API를 개발 중이며 훌륭하게 작동하지만 패키지/배포 방법을 잘 모르겠습니다. API의 "고기"를 jarfile에 넣었습니다. 모든 클래스와 XML 파일은 res/values/attrs.xml입니다. (사용자가 내 attrs.xml을 복사하지 않고도 참조 할 수 있는지 여부는 확실하지 않습니다./values ​​폴더,하지만 그것은 또 다른 질문입니다).배포 용 Android API 준비

테스트 케이스에서 내 API를 사용하면서 빌드 경로에 내 .jar 파일을 추가했는데 원하는 경우 클래스를 성공적으로 가져올 수 있지만 원하지는 않습니다. 고유 한 XML 파일에 사용자 정의보기를 구현하므로 코드에서 아무 것도 인스턴스화되지 않습니다.

질문 : : 사용자가 내 API에서 사용자 지정보기를 참조하려면 어떻게해야합니까?

<com.myfoo.FooView 
android:layout_width="fill_parent" 
android:layout_height="100dp" 
/> 

답변

0

이 내가 페이스 북 안드로이드 SDK를 참조하십시오으로 그들은 소스 코드를 제공, 항아리에 포장해야합니까 : 예를 들어, 내보기가 FooView이라고하며 패키지 com.myfoo에, 다음과 같은 XML 문서의 정보는 다음의 제품에로드 실패 . 나는 새로운 안드로이드 프로젝트로 설정하고 내 안드로이드 프로젝트 참고서로 이것을 라이브러리로 설정했습니다.이 경우 노출 된 모든 apis에 액세스 할 수 있습니다.

+0

jar 파일에 "가지고있을"수 없습니다. 단지 jar 파일을 초보자가 쉽게 사용할 수 있다고 생각했습니다. 빌드 경로에 추가해야한다는 것뿐입니다. 이것을 가정하면됩니다. – Snailer

+0

비록 우리가 주제를 다루고 있기 때문에 : 당신의 예제에서, 당신은 xml로 페이스 북 라이브러리에서 무엇을 참조하겠습니까? 나는 그것을 보지 않았다. com.facebook.SomeView만큼 간단하다? – Snailer

+0

아니요 xml을 라이브러리에 직접 액세스 할 수 없으므로 apis 세트가 노출되어 액세스 할 수 있습니다. 일부 요소를 제공하려는 경우 클래스를 사용할 때 클래스에 액세스하여이를 반환하는 메소드를 작성하게됩니다 .말이 돼? – Kavitha

0

Android Library Projects을 살펴볼 수 있습니다. 이것들은 기본적으로 라이브러리로서 참조 될 수있는 정상적인 안드로이드 프로젝트입니다. 즉, 평소처럼 클래스, 레이아웃 및 리소스를 정의 할 수 있으며 동일한 프로젝트에 정의 된 것처럼 주 앱 (이 경우 클라이언트 애플리케이션)에서 사용하면됩니다. 이렇게하면 <packagename.classname ... />을 통해 위에서 시도한 것처럼 XML로 뷰를 참조 할 수 있습니다.

사용자 정의보기를 만들 때 특히 중요한 한 가지 단점이 있습니다.
styleable-resources는 단순히 작동하지 않습니다. 이것은 버그입니다. this question에 따르면 다음 devtool 릴리스에서 수정 될 예정입니다.

그런 점을 염두에두고 테스트 라이브러리 프로젝트로 작은 테스트 프로젝트를 설정하고 필요한 모든 것이 제대로 작동하는지 확인하는 것이 좋습니다.