2011-03-18 4 views
3

나는 안드로이드를 처음 접했고 일부 기본 블랙 베리 작업을 위해서 정말 일식을 사용했기 때문에 작업장/프로젝트에 대한 제안이나 조언을 몇 전문가의 마음으로 골라 낼 수 있었는지 궁금했다. Eclipse에서 이중 플랫폼 지원 프로젝트에 사용할 설치?Android와 Blackberry project in eclipse

내 코드의 약 80 %가 Blackberry와 Android에서 공통적 인 것으로 밝혀졌습니다. 따라서이 20 %의 문제를 해결해야합니다.

현재 나의 생각은 소스 트리 옵션에서 설정하여 여러 프로젝트에서 공유 소스가있는 작업 영역 하나를 갖는 것입니다.

플랫폼 별 기능이 사용되는 곳에서는 소스 이름을 * Android _ ??? * 및 * Blackberry _ ??? *로 태그 지정하고 두 프로젝트가 가리키는 일반 클래스를 사용합니다.

e.e. 사실 하나의 작업 공간에는 Android와 Blackberry 설정이 모두 있고 작업 공간에는 Blackberry 용 프로젝트와 Android 용 프로젝트가 있지만 각 프로젝트는 빌드에서 제외 된 다른 플랫폼의 소스 파일과 동일한 파일 시스템을 공유합니다.

자바에서 #ifdef을 수행하는 쉬운 방법이 있다면이 포트를 간단하게 만들 수 있지만이 작업을 수행해야만한다고 생각합니다. (이 작업을 수행하기 위해 ac 전처리기를 사용하는 것에 대해 들었지만 너무 높으면 권장하지 않습니다.)

공유 라이브러리를 만드는 것에 대해 들었지만 Android와 Blackberry간에 호환되지 않는 느낌이 들었으므로이 방법에 대한 조언도 환영합니다. 내가 일하는 해결책을 발견 한이 문제에 직면 다른 사람들을위한

+0

왜 추상 클래스를 만들고, 그 클래스에 공통 코드를 넣고, 플랫폼 특정 작업을위한 추상 메소드를 만들지 않습니까? 그런 다음 각 프로젝트에서 이러한 클래스를 확장하고 이에 따라 추상 메서드를 구현하십시오. – pankajagarwal

+0

합리적인 접근법으로 보이지만 원본 디렉토리를 공유하고 블랙 베리 및 Android 용 작업 영역을 공유하는 것이 좋을지 궁금합니다. – sradforth

+0

일반적인 작업 공간을 유지하고 소스 디렉토리를 공유하는 것이 좋습니다 – pankajagarwal

답변

1

아마도 너무 늦었을 텐데, 내 생각은 여전히 ​​나에게 줄 것이다.

나는 비슷한 필요성이있다. 나는 공통 코드와 블랙 베리 및 안드로이드 특정 부분을 가지고있다. 각 부분에 대해 세 가지 별도의 Eclipse 프로젝트가 있습니다. "특정"프로젝트는 실제로 실행되는 프로젝트이며, 둘 모두 공통 프로젝트에 프로젝트 종속성 (원본 포함보다 깨끗한 것으로 나타남)을 갖고 있습니다.

블랙 베리 프로젝트가 비 블랙 베리 프로젝트에 의존 할 수 없으므로 공통 프로젝트는 플러그인을 사용하여 생성 된 블랙 베리 프로젝트 여야합니다.

나를 위해 잘 작동합니다!

1

는 블랙 베리 안드로이드

대부분의 플랫폼이 공통 그러나 클래스로 전환

일반적인 디스크에 3 디렉토리를 생성하여이었다 특정 전화는 블랙 베리/안드로이드에 각각 들어가고 공통 디렉토리의 공통 기본 클래스를 확장합니다.

예. 플랫폼 특정 버전이 필요한 MyClass라는 클래스는 공통 디렉토리에 MyClassCommon을 가지고 Blackberry 디렉토리에는 MyClass가 MyClassCommon 정의를 확장하고 Android에 대해서도 확장됩니다.

이클립스에서는 Common, Blackberry, Android src 경로가 3 개의 src 루트 가져 오기의 Common, Blackberry, Android 경로로 확장 된 공통 변수 (트렁크)를 통해 개별적으로 추가됩니다.

이것은 패키지 이름이 플랫폼간에 일관되게 적용되므로 다른 종속 클래스가 새 패키지 이름을 필요로한다는 사실을 알리지 않는 유일한 메커니즘 인 것으로 보입니다.

더 우아하고 정확한 방법이있을 것이라고 확신하지만, 현재로서는 효과가있는 것으로 보입니다.